diff options
Diffstat (limited to 'configure.ac')
-rw-r--r-- | configure.ac | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/configure.ac b/configure.ac index 6b62694d..af1ebf07 100644 --- a/configure.ac +++ b/configure.ac @@ -100,13 +100,23 @@ AC_CHECK_TYPE([_Bool], ]]) ]) +AX_CHECK_COMPILE_FLAG([[-Werror=attributes]], + [[errattr_CFLAGS="-Werror=attributes"]], + [[errattr_CFLAGS=""]], [], []) AC_MSG_CHECKING([[for function inline keywords suppoted by $CC]]) save_CFLAGS="$CFLAGS" -AX_APPEND_FLAG([[-Werror=attributes]]) +CFLAGS="$CFLAGS $errattr_CFLAGS" inln_prfx="none" # Prefer always inline functions -for inln_prfx_chk in "inline __attribute__((always_inline))" __forceinline inline __inline__ __inline _inline _Inline; do +for inln_prfx_chk in InlineWithAttr __forceinline inline __inline__ __inline _inline _Inline; do # Try to link to avoid "symbol undefined" problems at build time + AS_IF([[test "x$inln_prfx_chk" = "xInlineWithAttr"]], + [ + AS_IF([[test "x$errattr_CFLAGS" = "x"]], + [[ # Skip test with attribute as negative result can't be detected + inln_prfx_chk="__forceinline" # use next value + ]],[[inln_prfx_chk="inline __attribute__((always_inline))"]]) + ]) AC_LINK_IFELSE( [ AC_LANG_PROGRAM( |