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 *
foo(int x)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 }
27