Add development flag to disable the inline API.
authorDavid M. Lee <dlee@digium.com>
Wed, 8 May 2013 21:01:33 +0000 (21:01 +0000)
committerDavid M. Lee <dlee@digium.com>
Wed, 8 May 2013 21:01:33 +0000 (21:01 +0000)
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
include/asterisk/inline_api.h

index 7e3e9ee..c4d15a6 100644 (file)
                <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>
index 2347d09..5f6911d 100644 (file)
@@ -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