summaryrefslogtreecommitdiff
path: root/Zend/zend_portability.h
diff options
context:
space:
mode:
authorChristoph M. Becker <cmbecker69@gmx.de>2019-12-27 14:28:28 +0100
committerChristoph M. Becker <cmbecker69@gmx.de>2020-01-16 13:57:21 +0100
commitc9908ee5ebacd00108b960d03e9c7e1cb299b27b (patch)
treebc6e8621b323e53872580e75b54ec34393b9349f /Zend/zend_portability.h
parent05f3cd23ed61d800a861f2dd057ed56e783ea6f1 (diff)
downloadphp-git-c9908ee5ebacd00108b960d03e9c7e1cb299b27b.tar.gz
Disable optimizations for ASan instrumented builds
ASan instrumentation does not support the MSVC debug runtime, but still it does not make sense to enable optimizations for such builds, since they are not meant for production usage anyway, and although memory corruption issues are still found in optimized builds, the generated diagnostics are close to being useless, and apparently sometimes even outright wrong. Therefore, we disable all optimizations for ASan instrumented builds. We also introduce and use `ZEND_WIN32_NEVER_INLINE` for ASan enabled builds to avoid inlining of functions, so we get even better diagnostics.
Diffstat (limited to 'Zend/zend_portability.h')
-rw-r--r--Zend/zend_portability.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/Zend/zend_portability.h b/Zend/zend_portability.h
index dd518aebbb..a2bb020451 100644
--- a/Zend/zend_portability.h
+++ b/Zend/zend_portability.h
@@ -289,7 +289,7 @@ char *alloca();
(_default)
#endif
-#if ZEND_DEBUG
+#if ZEND_DEBUG || defined(ZEND_WIN32_NEVER_INLINE)
# define zend_always_inline inline
# define zend_never_inline
#else