| // { dg-do compile } | |
| struct f | |
| { | |
| inline f(void); | |
| inline void f1(void); | |
| int a; | |
| }; | |
| inline __attribute__((always_inline)) f::f(void) | |
| { | |
| a++; | |
| } | |
| inline __attribute__((always_inline)) void f::f1(void) | |
| { | |
| a++; | |
| } | |
| void g(void) | |
| { | |
| f a, b, c, d; | |
| a.f1(); | |
| } | |
| // f::f() should be inlined even at -O0 | |
| // { dg-final { scan-assembler-not "_ZN1fC1Ev" } } | |
| // Likewise for f::f1() | |
| // { dg-final { scan-assembler-not "_ZN1f2f1Ev" } } |