// PR tree-optimization/50682 | |
// { dg-do compile } | |
// { dg-options "-O2 -fnon-call-exceptions -ftracer -fno-tree-ccp -fno-tree-copy-prop -fno-tree-dce" } | |
void foo () __attribute__ ((__noreturn__)); | |
int baz (); | |
const int & | |
bar (const int &x, const int &y) | |
{ | |
if (x >= y) | |
return y; | |
return x; | |
} | |
int a, b; | |
struct S | |
{ | |
~S (); | |
bool m () | |
{ | |
int l = bar (a, b); | |
int r = baz (); | |
if (r) | |
r = l; | |
return r; | |
} | |
}; | |
void | |
test () | |
{ | |
S s; | |
if (!s.m ()) | |
foo (); | |
if (!s.m ()) | |
foo (); | |
} |