// { dg-do compile } // { dg-options "-Wattributes" } #define ATTR(list) __attribute__ (list) template struct A { int __attribute__ ((noinline)) f (); // { dg-message "previous declaration here" } }; template int __attribute__ ((always_inline)) A::f () // { dg-warning "ignoring attribute .always_inline. because it conflicts with attribute .noinline." } */ { return 0; } template struct B { int __attribute__ ((always_inline)) f (); }; template <> inline int __attribute__ ((always_inline)) B<0>::f () { return 0; } template <> int __attribute__ ((noinline)) B<1>::f () { return 1; }