OSDN Git Service

Squash commit of EH in gimple
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / tree-ssa / pr38572.C
1 // PR tree-optimization/38572
2 // { dg-do compile }
3 // { dg-options "-O2" }
4
5 // Crash caused by the out-of-bounds enum values (all the remaining cruft
6 // is needed only to trigger the appropriate code path in tree-vrp.c).
7 enum JSOp
8 {
9   JSOP_GETELEM = 5,
10   JSOP_LIMIT
11 };
12 extern void g ();
13 void f (char *pc, char *endpc, int format, char ***fp, enum JSOp op)
14 {
15   while (pc <= endpc)
16     {
17       if ((fp && *fp && pc == **fp) || pc == endpc)
18         {
19           if (format == 1)
20             op = (JSOp) 256;
21           else if (format == 2)
22             op = (JSOp) 257;
23           else
24             op = JSOP_GETELEM;
25         }
26       if (op >= JSOP_LIMIT)
27         {
28           if (format)
29             g ();
30         }
31     }
32 }