Use __gnu_inline__ for __extern_always_inline in g++-4.2
commit0695940b8ab4b7e69492e8ea071d19fc17dda092
authorRichard Smith <richard@metafoo.co.uk>
Wed, 1 May 2013 10:32:38 +0000 (1 20:32 +1000)
committerAllan McRae <allan@archlinux.org>
Wed, 1 May 2013 11:59:01 +0000 (1 21:59 +1000)
treedadb4df1e2b53a9193f0b3b002902923663f8be9
parent10de07f5fdd9eaf3a808d4461401f5b661095614
Use __gnu_inline__ for __extern_always_inline in g++-4.2

Use the __gnu_inline__ attribute in _FORTIFY_SOURCE's __extern_always_inline
macro whenever the compiler supports it. Previously this macro only included
the __gnu_inline__ attribute in C++ mode for gcc >= 4.3. However,
__gnu_inline__ semantics are always desired for the __extern_always_inline
functions, and are available in g++ 4.2 (and some releases of g++ 4.1, and
also in Clang, which claims to be g++ 4.2).

This change stops g++-4.2 from emitting weak definitions for the fortify
wrapper functions if they can't be inlined, and also improves Clang
compatibility.
ChangeLog
misc/sys/cdefs.h