/* { dg-do compile } */ /* { dg-options "-fcompare-debug" } */ extern void error(void) __attribute__((noreturn)); struct S { struct S *s; }; static inline unsigned char f2() { error(); } static inline void f1() { int builtin_optab; if (!f2() && builtin_optab) error(); } extern void f4(struct S *s); static inline void f3(struct S *s) { f4(s->s->s); } void expand_builtin(struct S *s, int cond) { if (cond) f1(); f3(s); }