1 // PR debug/95080
2 // { dg-do compile }
3 // { dg-options "-Og -fcse-follow-jumps -fnon-call-exceptions -fcompare-debug" }
4 
5 char *a;
6 
7 void baz ();
8 
9 static inline bool
bar()10 bar ()
11 {
12   int j = a[0] - 1;
13   switch (j)
14     {
15     case 0:
16     case 2:
17       return true;
18     default:
19       return false;
20     }
21 }
22 
23 static inline bool
foo()24 foo ()
25 {
26   if (bar ())
27     baz ();
28   return 0;
29 }
30 
31 struct S
32 {
33   int h;
34    ~S ();
35 };
36 
~S()37 S::~S ()
38 {
39   if (a[0] == 0)
40     foo () != h;
41 }
42