libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / testsuite / gcc.dg / ipa / pr114247.c
blob60aa2bc0122fb4a607690028842fedbdef55f1f3
1 /* { dg-do run } */
2 /* { dg-options "-O2 -fsigned-char -fno-strict-aliasing -fwrapv" } */
4 union a {
5 unsigned short b;
6 int c;
7 signed short d;
8 };
9 int e, f = 1, g;
10 long h;
11 const int **i;
12 void j(union a k, int l, unsigned m) {
13 const int *a[100];
14 i = &a[0];
15 h = k.d;
17 static int o(union a k) {
18 k.d = -1;
19 while (1)
20 if (f)
21 break;
22 j(k, g, e);
23 return 0;
25 int main() {
26 union a n = {1};
27 o(n);
28 if (h != -1)
29 __builtin_abort();
30 return 0;