From b007c744a482d7c19545bdcbf1e4372fb36878a8 Mon Sep 17 00:00:00 2001
From: "David M. Lee" <dlee@digium.com>
Date: Wed, 8 May 2013 21:01:33 +0000
Subject: [PATCH] Add development flag to disable the inline API.

A GCC bug[1] can, in some cases, pop up an unsuppressible pedwarn when
using a static inline standard library function from a non-static
inline function.

This normally doesn't show up, but can occur if you're running an
upgrade version of GCC (such as GCC 4.8 on OS X, which normally runs
GCC 4.2).

 [1]: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47816


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@388046 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 build_tools/cflags.xml        | 6 ++++++
 include/asterisk/inline_api.h | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/build_tools/cflags.xml b/build_tools/cflags.xml
index 7e3e9eeb76..c4d15a67ba 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 2347d09d7f..5f6911d369 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
-- 
GitLab