aboutsummaryrefslogtreecommitdiff
path: root/zencore/include
diff options
context:
space:
mode:
authorMartin Ridgers <[email protected]>2021-10-11 11:28:32 +0200
committerMartin Ridgers <[email protected]>2021-10-11 11:28:32 +0200
commitf0c1828fcbf86dc2956023800405ae13d39d0c40 (patch)
treefc7a44b199f9550376d26917b9d345c8986d2a68 /zencore/include
parentThere are no surrogate pairs in utf32 (diff)
downloadzen-f0c1828fcbf86dc2956023800405ae13d39d0c40.tar.xz
zen-f0c1828fcbf86dc2956023800405ae13d39d0c40.zip
ZEN_*_OPTIMIZATION for GCC and Clang
Diffstat (limited to 'zencore/include')
-rw-r--r--zencore/include/zencore/zencore.h10
1 files changed, 8 insertions, 2 deletions
diff --git a/zencore/include/zencore/zencore.h b/zencore/include/zencore/zencore.h
index 3d8f3f1e3..3f92d7ac4 100644
--- a/zencore/include/zencore/zencore.h
+++ b/zencore/include/zencore/zencore.h
@@ -220,9 +220,15 @@ ZENCORE_API void zencore_forcelinktests();
//////////////////////////////////////////////////////////////////////////
#if ZEN_COMPILER_MSC
-# define ZEN_DISABLE_OPTIMIZATION_ACTUAL __pragma(optimize("", off))
+# define ZEN_DISABLE_OPTIMIZATION_ACTUAL __pragma(optimize("", off))
# define ZEN_ENABLE_OPTIMIZATION_ACTUAL __pragma(optimize("", on))
-#else
+#elif ZEN_COMPILER_GCC
+# define ZEN_DISABLE_OPTIMIZATION_ACTUAL _Pragma( "GCC push_options" ) \
+ _Pragma( "GCC optimize (\"O0\")" )
+# define ZEN_ENABLE_OPTIMIZATION_ACTUAL _Pragma( "GCC pop_options" )
+#elif ZEN_COMPILER_CLANG
+# define ZEN_DISABLE_OPTIMIZATION_ACTUAL _Pragma("clang optimize off")
+# define ZEN_ENABLE_OPTIMIZATION_ACTUAL _Pragma("clang optimize on")
#endif
// Set up optimization control macros, now that we have both the build settings and the platform macros