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