libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / testsuite / gcc.dg / uninit-pr102403-c2.c
blob81811432da577437e1c57804b3fb522ccb3a2c87
1 /* PR middle-end/102403 - ICE in init_from_control_deps, at
2 gimple-predicate-analysis.cc:2364
3 { dg-do compile }
4 { dg-options "-O2 -Wall" } */
6 extern int a[], b, c, d, e, f, g, h;
8 inline void foo (void) { b = 1 ^ a[b ^ (c & 1)]; }
10 void bar (void);
12 int main (void)
14 if (!f && ~h)
16 if (g)
17 goto L2;
19 else
21 int m = 0; // { dg-message "declared here" }
22 L1:
23 e = m;
24 L2:
25 m ^= 1; // { dg-warning "-Wmaybe-uninitialized" }
26 if (d)
27 bar ();
29 for (int j = 0; j < 10; j++)
30 foo ();
32 goto L1;