summaryrefslogtreecommitdiff
path: root/include/opus_defines.h
diff options
context:
space:
mode:
authorGregory Maxwell <greg@xiph.org>2013-10-17 15:56:52 -0700
committerGregory Maxwell <greg@xiph.org>2013-10-28 10:18:54 -0700
commit7830cf1bd2c71bad9aa296254cf5c5f9842e8b8e (patch)
tree53f28e34554bee867a239849b96283bec549a607 /include/opus_defines.h
parent2891d852a38b3acb1810fad9f26ba7e0b181cfb2 (diff)
downloadopus-7830cf1bd2c71bad9aa296254cf5c5f9842e8b8e.tar.gz
Replace "inline" with OPUS_INLINE.
Newer versions of MSVC are unhappy with the strategy of the build environment redefining "inline" (even though they don't support the actual keyword). Instead we define OPUS_INLINE to the right thing in opus_defines.h. This is the same approach we use for restrict.
Diffstat (limited to 'include/opus_defines.h')
-rw-r--r--include/opus_defines.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/opus_defines.h b/include/opus_defines.h
index 3474e84c..af371b44 100644
--- a/include/opus_defines.h
+++ b/include/opus_defines.h
@@ -98,6 +98,18 @@ extern "C" {
# define OPUS_RESTRICT restrict
#endif
+#if (!defined(__STDC_VERSION__) || (__STDC_VERSION__ < 199901L) )
+# if OPUS_GNUC_PREREQ(2,7)
+# define OPUS_INLINE __inline__
+# elif (defined(_MSC_VER))
+# define OPUS_INLINE __inline
+# else
+# define OPUS_INLINE
+# endif
+#else
+# define OPUS_INLINE inline
+#endif
+
/**Warning attributes for opus functions
* NONNULL is not used in OPUS_BUILD to avoid the compiler optimizing out
* some paranoid null checks. */