diff --git a/build_tools/cflags.xml b/build_tools/cflags.xml index 7e3e9eeb767abb2da381258a7420424d04d9dad3..c4d15a67ba03c6692121a4c50cdc6927a0b35eb7 100644 --- a/build_tools/cflags.xml +++ b/build_tools/cflags.xml @@ -24,6 +24,12 @@ <member name="LOW_MEMORY" displayname="Optimize for Low Memory Usage"> <support_level>extended</support_level> </member> + <member name="DISABLE_INLINE" displayname="Disable the inline API"> + <!-- Added to work around GCC bug + See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47816 + --> + <support_level>extended</support_level> + </member> <member name="BETTER_BACKTRACES" displayname="Use libbfd (GPL) to generate better inline backtraces"> <depend>BFD</depend> <depend>DLADDR</depend> diff --git a/include/asterisk/inline_api.h b/include/asterisk/inline_api.h index 2347d09d7f3b82142ba5925d2b17ed5f458b18ad..5f6911d369a8375af64e3b670163e249ccccf4e2 100644 --- a/include/asterisk/inline_api.h +++ b/include/asterisk/inline_api.h @@ -43,7 +43,7 @@ including the header file */ -#if !defined(LOW_MEMORY) +#if !defined(LOW_MEMORY) && !defined(DISABLE_INLINE) #if !defined(AST_API_MODULE) #define AST_INLINE_API(hdr, body) hdr; extern inline hdr body