📄 pr34146-2.c
字号:
/* 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;voidfoo (void){ T t = (T) { { { { 0, 0, 0 }, { 0, 0, 0 } }, { { 0, 0, 0 }, { 0, 0, 0 } } } }; test (&t);}voidbar (void){ T t = (T) { { { { 0, 0, 0 }, (struct A) { 0, 0, 0 } }, (struct B) { (struct A) { 0, 0, 0 }, { 0, 0, 0 } } } }; test (&t);}voidbaz (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" } } */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -