111
|
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)
|
131
|
9 { /* { dg-warning "ignoring attribute .always_inline. because it conflicts with attribute .noinline." } */
|
111
|
10 return r & 4;
|
|
11 }
|
|
12
|
|
13 __attribute__ ((noinline, always_inline))
|
|
14 int
|
|
15 fn2 (int r)
|
131
|
16 { /* { dg-warning "ignoring attribute .always_inline. because it conflicts with attribute .noinline." } */
|
111
|
17 return r & 4;
|
|
18 }
|
|
19
|
|
20 __attribute__ ((always_inline))
|
|
21 __attribute__ ((noinline))
|
|
22 inline int
|
|
23 fn3 (int r)
|
131
|
24 { /* { dg-warning "ignoring attribute .noinline. because it conflicts with attribute .always_inline." } */
|
111
|
25 return r & 8;
|
|
26 }
|
|
27
|
|
28 __attribute__ ((always_inline, noinline))
|
|
29 inline int
|
|
30 fn4 (int r)
|
131
|
31 { /* { dg-warning "ignoring attribute .noinline. because it conflicts with attribute .always_inline." } */
|
111
|
32 return r & 8;
|
|
33 }
|