Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date: Wed, 13 May 2015 12:31:24 +0200
From: magnum <>
Subject: MAYBE_INLINE macro (again)


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

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) || 
+#if __GNUC__ >= 5
+#define MAYBE_INLINE __attribute__((gnu_inline)) inline
+#elif __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7) || 
  #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.


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.