From cdc6e2c50f96119bdc4c1205ff5901ca82ec8357 Mon Sep 17 00:00:00 2001 From: camthesaxman Date: Wed, 29 Jan 2020 18:17:43 -0600 Subject: add old compiler with ARM support --- .../gcc.c-torture/execute/strct-stdarg-1.c | 61 ++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100755 gcc_arm/testsuite/gcc.c-torture/execute/strct-stdarg-1.c (limited to 'gcc_arm/testsuite/gcc.c-torture/execute/strct-stdarg-1.c') diff --git a/gcc_arm/testsuite/gcc.c-torture/execute/strct-stdarg-1.c b/gcc_arm/testsuite/gcc.c-torture/execute/strct-stdarg-1.c new file mode 100755 index 0000000..508c954 --- /dev/null +++ b/gcc_arm/testsuite/gcc.c-torture/execute/strct-stdarg-1.c @@ -0,0 +1,61 @@ +#include + +struct tiny +{ + char c; + char d; + char e; + char f; + char g; +}; + +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(); + if (x.g != i + 50) + 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; + x[0].g = 50; + x[1].g = 51; + x[2].g = 52; + f (3, x[0], x[1], x[2], (long) 123); + exit(0); +} -- cgit v1.2.3