libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / pr112721.c
blobadf62613266422300c861cd2bfed26f7333b6fc7
1 /* { dg-do run } */
2 /* { dg-options "-O1" } */
4 unsigned * volatile gv;
6 struct a {
7 int b;
8 };
9 int c, e;
10 long d;
11 unsigned * __attribute__((noinline))
12 f(unsigned *g) {
13 for (; c;)
14 e = d;
15 return gv ? gv : g;
17 int main() {
18 int *h;
19 struct a i = {8};
20 int *j = &i.b;
21 h = (unsigned *) f(j);
22 *h = 0;
23 if (i.b != 0)
24 __builtin_abort ();
25 return 0;