aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/testsuite/gcc.c-torture/ChangeLog4
-rw-r--r--gcc/testsuite/gcc.c-torture/execute/va-arg-20.c22
2 files changed, 26 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.c-torture/ChangeLog b/gcc/testsuite/gcc.c-torture/ChangeLog
index f90020f..365bc6a 100644
--- a/gcc/testsuite/gcc.c-torture/ChangeLog
+++ b/gcc/testsuite/gcc.c-torture/ChangeLog
@@ -1,3 +1,7 @@
+2000-04-25 Jakub Jelinek <jakub@redhat.com>
+
+ * execute/va-arg-20.c: New test.
+
2000-04-20 Greg McGary <gkm@gnu.org>
* compile/20000420-2.c: New test for stack misalignment
diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-20.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-20.c
new file mode 100644
index 0000000..2e8e564
--- /dev/null
+++ b/gcc/testsuite/gcc.c-torture/execute/va-arg-20.c
@@ -0,0 +1,22 @@
+#include <stdarg.h>
+
+void foo(va_list v)
+{
+ unsigned long long x = va_arg (v, unsigned long long);
+ if (x != 16LL)
+ abort();
+}
+
+void bar(char c, char d, ...)
+{
+ va_list v;
+ va_start(v, d);
+ foo(v);
+ va_end(v);
+}
+
+int main(void)
+{
+ bar(0, 0, 16LL);
+ exit(0);
+}