Date: Wed, 13 May 2015 12:31:24 +0200 From: magnum <john.magnum@...hmail.com> To: john-dev@...ts.openwall.com Subject: MAYBE_INLINE macro (again) Solar, The never-ending story with MAYBE_INLINE got a new twist because gcc 5 defaults to C11 (actually gnu11) as opposed to C89 (actually gnu89). See "Different semantics for inline functions" in http://www.gnu.org/software/gcc/gcc-5/porting_to.html This does not currently affect core as all uses of MAYBE_INLINE is with static functions. Until now the fix in Jumbo was adding "-std=gnu89" to Makefile but I'm now adding this as well: #ifdef __GNUC__ -#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7) || defined(__INTEL_COMPILER) +#if __GNUC__ >= 5 +#define MAYBE_INLINE __attribute__((gnu_inline)) inline +#elif __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7) || defined(__INTEL_COMPILER) #define MAYBE_INLINE __attribute__((always_inline)) inline #elif __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 1) #define MAYBE_INLINE __attribute__((always_inline)) For now I'm keeping the -std=gnu89 too but it's no longer needed and I'm not sure we want it or not. We are investigating a Cygwin problem that may come from that option. magnum
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.