// PR tree-optimization/42645 | |
// { dg-do compile } | |
// { dg-options "-fcompare-debug -O1" } | |
struct C | |
{ | |
bool b; | |
C (); | |
}; | |
static inline C *foo () { return 0; } | |
extern void f4 (); | |
static inline int | |
f3 () | |
{ | |
f4 (); | |
return 0; | |
} | |
static inline void | |
f2 (bool b) | |
{ | |
int tmp = f3 (); | |
if (C ().b && b) | |
C (); | |
} | |
void | |
f1 () | |
{ | |
C *c = foo (); | |
f2 (c->b); | |
} |