aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.9/gcc/testsuite/gcc.dg/compat/struct-by-value-22_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.dg/compat/struct-by-value-22_main.c')
-rw-r--r--gcc-4.9/gcc/testsuite/gcc.dg/compat/struct-by-value-22_main.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.dg/compat/struct-by-value-22_main.c b/gcc-4.9/gcc/testsuite/gcc.dg/compat/struct-by-value-22_main.c
new file mode 100644
index 000000000..1fd2eba1c
--- /dev/null
+++ b/gcc-4.9/gcc/testsuite/gcc.dg/compat/struct-by-value-22_main.c
@@ -0,0 +1,20 @@
+/* Test variable sized function argument passing.
+ GCC 3.2 and earlier is incompatible with GCC 3.3+ on x86-64,
+ the latter passes variable sized arguments by reference while
+ the former doesn't.
+ See http://gcc.gnu.org/ml/gcc-patches/2003-01/msg01830.html */
+
+#ifndef SKIP_VLA_IN_STRUCT
+extern void struct_by_value_22_x (void);
+#endif
+extern void exit (int);
+int fails;
+
+int
+main ()
+{
+#ifndef SKIP_VLA_IN_STRUCT
+ struct_by_value_22_x ();
+#endif
+ exit (0);
+}