]> granicus.if.org Git - php/commitdiff
Don't touch inline if C++ is compiled
authorAnatol Belski <ab@php.net>
Mon, 6 Nov 2017 12:52:02 +0000 (13:52 +0100)
committerAnatol Belski <ab@php.net>
Mon, 6 Nov 2017 12:52:02 +0000 (13:52 +0100)
Starting with C++11 marco keywords are forbidden by the standard. Things
like inline namespaces would be broken by this part. As any of supported
compilers is at least C++11 complaint, tricks with inline are simply
disabled if C++ is compiled. Though, zend_always_inline is still usable,
anything else about inlining for C++ is up to the compiler.

Zend/zend_config.w32.h

index 2ba42cdc9d7bc3afbbb525f9e00d35bc71def5d4..ddebdeaed81805c968b1e8320c5cfa475778d018 100644 (file)
@@ -58,19 +58,14 @@ typedef unsigned int uint;
 
 #define zend_sprintf sprintf
 
+#ifndef __cplusplus
 /* This will cause the compilation process to be MUCH longer, but will generate
  * a much quicker PHP binary
  */
 #ifdef ZEND_WIN32_FORCE_INLINE
-/* _ALLOW_KEYWORD_MACROS is only relevant for C++ */
-# ifndef _ALLOW_KEYWORD_MACROS
-#  define _ALLOW_KEYWORD_MACROS
-# endif
 # undef inline
 # define inline __forceinline
-#elif !defined(ZEND_WIN32_KEEP_INLINE)
-# undef inline
-# define inline
+#endif
 #endif
 
 #ifdef LIBZEND_EXPORTS