--- a/acinclude.m4 Tue Feb 24 11:47:41 2009 +0000 +++ b/acinclude.m4 Thu Dec 23 18:14:29 2010 +1000 @@ -18,6 +18,27 @@ $2 ]) ]) +# AC_CHECK_FORCEINLINE([if-ok],[if-notok]) +# Test if the compiler recognizes __attribute__((always_inline)) +# ----------------------- +AC_DEFUN([AC_CHECK_FORCEINLINE], [ +AC_MSG_CHECKING([support for force inlining]); +AC_COMPILE_IFELSE([ + AC_LANG_SOURCE([[ +static int __attribute__((always_inline)) foo(int a, int b) { return a+b; } + +int main(int argc, char *argv[]) +{ + return foo( 1, 2 ) == 3 ? 0 : 1; +}]])], [ + FORCEINLINE="__attribute__((always_inline))" + AC_MSG_RESULT([$FORCEINLINE]) + $1 ], [ + FORCEINLINE="" + AC_MSG_RESULT([no]) + $2 ]) +]) + # AC_CHECK_FRAME_ADDRESS([if-ok],[if-notok]) # Test if the compiler will let us modify the return address on the stack # via __builtin_frame_address()