URL
https://opencores.org/ocsvn/openrisc_me/openrisc_me/trunk
Subversion Repositories openrisc_me
[/] [openrisc/] [trunk/] [gnu-src/] [gcc-4.5.1/] [gcc/] [testsuite/] [gcc.dg/] [tree-ssa/] [pr34146-2.c] - Rev 298
Compare with Previous | Blame | View Log
/* PR c/34146 */ /* { dg-do compile } */ /* { dg-options "-O2 -fdump-tree-gimple" } */ struct A { int f1, f2, f3; }; struct B { struct A g1, g2; }; struct C { struct B h1, h2; }; typedef union { struct C c; char s[4]; long int a; } T; void foo (void) { T t = (T) { { { { 0, 0, 0 }, { 0, 0, 0 } }, { { 0, 0, 0 }, { 0, 0, 0 } } } }; test (&t); } void bar (void) { T t = (T) { { { { 0, 0, 0 }, (struct A) { 0, 0, 0 } }, (struct B) { (struct A) { 0, 0, 0 }, { 0, 0, 0 } } } }; test (&t); } void baz (void) { T t = (T) { { { { 0, 0, 0 }, (struct A) { 1, 1, 1 } }, (struct B) { (struct A) { 0, 0, 0 }, { 1, 1, 1 } } } }; test (&t); } /* { dg-final { scan-tree-dump-not "t = D" "gimple"} } */ /* { dg-final { scan-tree-dump-not "t\.c\.h\[12\] = D" "gimple"} } */ /* { dg-final { scan-tree-dump-not "\.g\[12\] = D" "gimple"} } */ /* { dg-final { cleanup-tree-dump "gimple" } } */