X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2Ftestsuite%2Fgcc.c-torture%2Fcompat%2Fstruct-ic.c;fp=gcc%2Ftestsuite%2Fgcc.c-torture%2Fcompat%2Fstruct-ic.c;h=7c5fa79e142fd0ff16bf31d1e5f2dd0e3564bc28;hp=0000000000000000000000000000000000000000;hb=912f9e817e0492ddc2a1c6ee4f41a427b43cf440;hpb=d3739bcdc296c9e9dbebea8ef89de4479bdfb4ad diff --git a/gcc/testsuite/gcc.c-torture/compat/struct-ic.c b/gcc/testsuite/gcc.c-torture/compat/struct-ic.c new file mode 100644 index 00000000000..7c5fa79e142 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compat/struct-ic.c @@ -0,0 +1,48 @@ +typedef struct {int a; char b;} T; + +int h (T *); +T g (T); + +#if COMPILER != 1 +h (T *x) +{ + if (x->a != 0 || x->b != 1) + abort (); +} +#endif + +#if COMPILER != 2 +T +g (T x) +{ + if (x.a != 13 || x.b != 47) + abort (); + x.a = 0; + x.b = 1; + h (&x); + return x; +} +#endif + +#if COMPILER != 1 +f () +{ + T x; + x.a = 13; + x.b = 47; + g (x); + if (x.a != 13 || x.b != 47) + abort (); + x = g (x); + if (x.a != 0 || x.b != 1) + abort (); +} +#endif + +#if COMPILER != 2 +main () +{ + f (); + exit (0); +} +#endif