http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49614
Iain Sandoe <iains at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2011.08.06 07:45:19 CC| |iains at gcc dot gnu.org Ever Confirmed|0 |1 --- Comment #1 from Iain Sandoe <iains at gcc dot gnu.org> 2011-08-06 07:45:19 UTC --- well, what the warning is saying is that it wants the function to be declared inline or it's not happy to accept "always_inline". I guess the language lawyers could decide that "__attribute__ ((always_inline))" implies "inline" - in which case the parsing of the attribute needs to set DECL_DECLARED_INLINE_P. === As things stand, the problem can be resolved by declaring the function inline - like so; Index: gcc/testsuite/gcc.dg/vmx/gcc-bug-i.c =================================================================== --- gcc/testsuite/gcc.dg/vmx/gcc-bug-i.c (revision 177459) +++ gcc/testsuite/gcc.dg/vmx/gcc-bug-i.c (working copy) @@ -13,7 +13,7 @@ #define DO_INLINE __attribute__ ((always_inline)) #define DONT_INLINE __attribute__ ((noinline)) -static DO_INLINE int inline_me(vector signed short data) +static inline DO_INLINE int inline_me(vector signed short data) { union {vector signed short v; signed short s[8];} u; u.v = data;