libcpp, c, middle-end: Optimize initializers using #embed in C
[official-gcc.git] / gcc / testsuite / gcc.dg / tree-ssa / ifc-pr47271.c
blobbf3607946918682b1e4398b8a654d5e43929ddbe
1 /* { dg-options "-O3" } */
2 /* { dg-do run } */
4 extern void abort (void);
6 void func (void)
8 int i;
9 int nops;
10 char *codestr =
11 "|\000\000Ee\000\000Z\001\000d\000\000Z\002\000d\025\000Z\003\000"
12 "\t\t\t\t\t\t\t\t\t\t\t\td\026\000Z\004\000d\005\000\204\000\000Z"
13 "\005\000e\006\000e\a\000j\005\000e\b\000d\006\000\204\002\000\203"
14 "\001\000Z\t\000d\a\000\204\000\000Z\n\000d\b\000\204\000\000Z\v\000d"
15 "\t\000\204\000\000Z\f\000d\n\000\204\000\000Z\r\000e\016\000e\017\000d"
16 "\v\000\203\001\000d\f\000d\r\000\203\001\001Z\020\000e\016\000e\017"
17 "\000d\016\000\203\001\000d\f\000d\017\000\203\001\001Z\021\000e\016"
18 "\000e\017\000d\020\000\203\001\000d\f\000d\021\000\203\001\001Z\022"
19 "\000e\016\000e\017\000d\022\000\203\001\000d\f\000d\023\000\203\001"
20 "\001Z\023\000d\024\000S";
21 int codelen = 209;
22 int addrmap[500];
24 for (i=0, nops=0 ; i<codelen ; i += ((codestr[i] >= 90) ? 3 : 1))
26 addrmap[i] = i - nops;
27 if (codestr[i] == 9)
28 nops++;
31 if (addrmap[0] != 0
32 || addrmap[3] != 3
33 || addrmap[4] != 4
34 || addrmap[7] != 7
35 || addrmap[10] != 10
36 || addrmap[13] != 13
37 || addrmap[16] != 16
38 || addrmap[19] != 19
39 || addrmap[22] != 22
40 || addrmap[23] != 22
41 || addrmap[24] != 22)
42 abort ();
45 int main ()
47 func ();
48 return 0;