From 1bc5aee63eb72b341f506ad058502cd0361f0d10 Mon Sep 17 00:00:00 2001 From: Ben Cheng Date: Tue, 25 Mar 2014 22:37:19 -0700 Subject: Initial checkin of GCC 4.9.0 from trunk (r208799). Change-Id: I48a3c08bb98542aa215912a75f03c0890e497dba --- .../testsuite/gcc.c-torture/execute/931004-14.c | 56 ++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 gcc-4.9/gcc/testsuite/gcc.c-torture/execute/931004-14.c (limited to 'gcc-4.9/gcc/testsuite/gcc.c-torture/execute/931004-14.c') diff --git a/gcc-4.9/gcc/testsuite/gcc.c-torture/execute/931004-14.c b/gcc-4.9/gcc/testsuite/gcc.c-torture/execute/931004-14.c new file mode 100644 index 000000000..55c71bbc4 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/gcc.c-torture/execute/931004-14.c @@ -0,0 +1,56 @@ +#include + +struct tiny +{ + char c; + char d; + char e; + char f; +}; + +f (int n, ...) +{ + struct tiny x; + int i; + + va_list ap; + va_start (ap,n); + for (i = 0; i < n; i++) + { + x = va_arg (ap,struct tiny); + if (x.c != i + 10) + abort(); + if (x.d != i + 20) + abort(); + if (x.e != i + 30) + abort(); + if (x.f != i + 40) + abort(); + } + { + long x = va_arg (ap, long); + if (x != 123) + abort(); + } + va_end (ap); +} + +main () +{ + struct tiny x[3]; + x[0].c = 10; + x[1].c = 11; + x[2].c = 12; + x[0].d = 20; + x[1].d = 21; + x[2].d = 22; + x[0].e = 30; + x[1].e = 31; + x[2].e = 32; + x[0].f = 40; + x[1].f = 41; + x[2].f = 42; + f (3, x[0], x[1], x[2], (long) 123); + exit(0); +} + -- cgit v1.2.3