1 /* { dg-do compile } */
2 /* { dg-options "-fcompare-debug" } */
3 
4 extern void error(void) __attribute__((noreturn));
5 
6 struct S {
7   struct S *s;
8 };
9 
f2()10 static inline unsigned char f2()
11 {
12   error();
13 }
14 
f1()15 static inline void f1()
16 {
17   int builtin_optab;
18   if (!f2() && builtin_optab)
19     error();
20 }
21 
22 extern void f4(struct S *s);
23 
f3(struct S * s)24 static inline void f3(struct S *s)
25 {
26   f4(s->s->s);
27 }
28 
expand_builtin(struct S * s,int cond)29 void expand_builtin(struct S *s, int cond)
30 {
31   if (cond)
32     f1();
33   f3(s);
34 }
35