X-Git-Url: https://oss.titaniummirror.com/gitweb/?a=blobdiff_plain;f=gcc%2Ftestsuite%2Fgcc.c-torture%2Fexecute%2Fva-arg-22.c;fp=gcc%2Ftestsuite%2Fgcc.c-torture%2Fexecute%2Fva-arg-22.c;h=0000000000000000000000000000000000000000;hb=6fed43773c9b0ce596dca5686f37ac3fc0fa11c0;hp=46b8dcbe825e499af470908851fa6a3e92fa8ac0;hpb=27b11d56b743098deb193d510b337ba22dc52e5c;p=msp430-gcc.git diff --git a/gcc/testsuite/gcc.c-torture/execute/va-arg-22.c b/gcc/testsuite/gcc.c-torture/execute/va-arg-22.c deleted file mode 100644 index 46b8dcbe..00000000 --- a/gcc/testsuite/gcc.c-torture/execute/va-arg-22.c +++ /dev/null @@ -1,78 +0,0 @@ -#include - -extern void abort (void); -extern void exit (int); - -void bar (int n, int c) -{ - static int lastn = -1, lastc = -1; - - if (lastn != n) - { - if (lastc != lastn) - abort (); - lastc = 0; - lastn = n; - } - - if (c != (char) (lastc ^ (n << 3))) - abort (); - lastc++; -} - -#define D(N) typedef struct { char x[N]; } A##N; -D(0) D(1) D(2) D(3) D(4) D(5) D(6) D(7) -D(8) D(9) D(10) D(11) D(12) D(13) D(14) D(15) -D(16) D(31) D(32) D(35) D(72) -#undef D - -void foo (int size, ...) -{ -#define D(N) A##N a##N; -D(0) D(1) D(2) D(3) D(4) D(5) D(6) D(7) -D(8) D(9) D(10) D(11) D(12) D(13) D(14) D(15) -D(16) D(31) D(32) D(35) D(72) -#undef D - va_list ap; - int i; - - if (size != 21) - abort (); - va_start (ap, size); -#define D(N) \ - a##N = va_arg (ap, typeof (a##N)); \ - for (i = 0; i < N; i++) \ - bar (N, a##N.x[i]); -D(0) D(1) D(2) D(3) D(4) D(5) D(6) D(7) -D(8) D(9) D(10) D(11) D(12) D(13) D(14) D(15) -D(16) D(31) D(32) D(35) D(72) -#undef D - va_end (ap); -} - -int main (void) -{ -#define D(N) A##N a##N; -D(0) D(1) D(2) D(3) D(4) D(5) D(6) D(7) -D(8) D(9) D(10) D(11) D(12) D(13) D(14) D(15) -D(16) D(31) D(32) D(35) D(72) -#undef D - int i; - -#define D(N) \ - for (i = 0; i < N; i++) \ - a##N.x[i] = i ^ (N << 3); -D(0) D(1) D(2) D(3) D(4) D(5) D(6) D(7) -D(8) D(9) D(10) D(11) D(12) D(13) D(14) D(15) -D(16) D(31) D(32) D(35) D(72) -#undef D - - foo (21 -#define D(N) , a##N -D(0) D(1) D(2) D(3) D(4) D(5) D(6) D(7) -D(8) D(9) D(10) D(11) D(12) D(13) D(14) D(15) -D(16) D(31) D(32) D(35) D(72) -#undef D - ); - exit (0); -}