aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/validation
diff options
Diffstat (limited to 'validation')
-rw-r--r--validation/call-variadic.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/validation/call-variadic.c b/validation/call-variadic.c
new file mode 100644
index 00000000..a438b43a
--- /dev/null
+++ b/validation/call-variadic.c
@@ -0,0 +1,23 @@
+#define NULL ((void*)0)
+
+extern int print(const char *msg, ...);
+
+int foo(const char *fmt, int a, long l, int *p)
+{
+ print("msg %c: %d %d/%ld %ld/%p %p\n", 'x', a, __LINE__, l, 0L, p, NULL);
+}
+
+/*
+ * check-name: call-variadic
+ * check-command: test-linearize -Wno-decl -m64 $file
+ *
+ * check-output-start
+foo:
+.L0:
+ <entry-point>
+ call.32 %r5 <- print, "msg %c: %d %d/%ld %ld/%p %p\n", $120, %arg2, $7, %arg3, $0, %arg4, $0
+ ret.32 %r5
+
+
+ * check-output-end
+ */