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).
7enum JSOp
8{
9  JSOP_GETELEM = 5,
10  JSOP_LIMIT
11};
12extern void g ();
13void 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}
33