diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr52891-2.c')
-rw-r--r-- | gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr52891-2.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr52891-2.c b/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr52891-2.c new file mode 100644 index 000000000..00ae0c8b9 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/gcc.c-torture/compile/pr52891-2.c @@ -0,0 +1,16 @@ +/* PR tree-optimizations/52891 */ + +#if __SIZEOF_INT__ > 2 +struct __attribute__((packed)) S { unsigned s : 22; }; +#else +struct __attribute__((packed)) S { unsigned s : 12; }; +#endif +struct __attribute__((packed)) T { struct S t; } c; +int a, b, d; + +void +foo (void) +{ + if (1 ? (!c.t.s & (d < 0)) < a : 0) + b = 0; +} |