1 /* PR c/18079 */
2 /* { dg-do compile } */
3 /* { dg-options "-Wall" } */
4
5 __attribute__ ((noinline))
6 __attribute__ ((always_inline))
7 int
8 fn1 (int r)
9 { /* { dg-warning "ignoring attribute .always_inline. because it conflicts with attribute .noinline." } */
10 return r & 4;
11 }
12
13 __attribute__ ((noinline, always_inline))
14 int
15 fn2 (int r)
16 { /* { dg-warning "ignoring attribute .always_inline. because it conflicts with attribute .noinline." } */
17 return r & 4;
18 }
19
20 __attribute__ ((always_inline))
21 __attribute__ ((noinline))
22 inline int
23 fn3 (int r)
24 { /* { dg-warning "ignoring attribute .noinline. because it conflicts with attribute .always_inline." } */
25 return r & 8;
26 }
27
28 __attribute__ ((always_inline, noinline))
29 inline int
30 fn4 (int r)
31 { /* { dg-warning "ignoring attribute .noinline. because it conflicts with attribute .always_inline." } */
32 return r & 8;
33 }