OSDN Git Service

2012-02-28 Richard Guenther <rguenther@suse.de>
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / torture / pr42878-2.c
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
10 static inline unsigned char f2()
11 {
12   error();
13 }
14
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
24 static inline void f3(struct S *s)
25 {
26   f4(s->s->s);
27 }
28
29 void expand_builtin(struct S *s, int cond)
30 {
31   if (cond)
32     f1();
33   f3(s);
34 }