re PR tree-optimization/33593 (tree-outof-ssa moves sources of non-call exceptions...
[gcc.git] / gcc / testsuite / g++.dg / tree-ssa / pr20920.C
1 /* { dg-do compile } */
2 /* { dg-options "-O2" } */
3
4 /* This was causing a failure in the out of SSA pass because VRP was
5 trying to insert assertions for SSA names that flow through
6 abnormal edges. */
7 void f(int) __attribute__((__noreturn__));
8 int d(const char *);
9 char * j ();
10
11 char *
12 foo (int x)
13 {
14 char *path = __null;
15 try
16 {
17 path = j ();
18 if (path != __null)
19 if (d (path) != 0)
20 f (127);
21 f (127);
22 }
23 catch (...) { }
24
25 return path;
26 }