// 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); }