1 /* PR middle-end/55094 */ 2 /* { dg-do compile } */ 3 /* { dg-options "-fcompare-debug -Os" } */ 4 /* { dg-additional-options "-fomit-frame-pointer -fno-asynchronous-unwind-tables -mpreferred-stack-boundary=2" { target { { i?86-*-* x86_64-*-* } && ia32 } } } */ 5 6 extern int fn (long); 7 int v; 8 9 int foo(int x,long * y)10foo (int x, long *y) 11 { 12 if (x) 13 { 14 fn (y[0]); 15 __builtin_trap (); 16 } 17 __builtin_trap (); 18 } 19 20 int bar(int x,long * y)21bar (int x, long *y) 22 { 23 if (x) 24 { 25 fn (y[0]); 26 v = 1; 27 __builtin_unreachable (); 28 } 29 v = 1; 30 __builtin_unreachable (); 31 } 32 33 int baz(int x,long * y)34baz (int x, long *y) 35 { 36 if (x) 37 { 38 fn (y[0]); 39 v = 1; 40 __builtin_unreachable (); 41 } 42 v = 1; 43 int w = 1; 44 __builtin_unreachable (); 45 } 46