summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjsmall-nvidia <jsmall@nvidia.com>2018-11-01 13:58:24 -0400
committerGitHub <noreply@github.com>2018-11-01 13:58:24 -0400
commite55d8dcb9fc5607b429f7120d8f5373cecf93e1f (patch)
treecf03f1b0e7e9f4ee85abad61bdd680dca55b027c
parenta73b24fb9b7e8baad3bc75abdcf6bbf659b3451b (diff)
Newer versions of gcc, optimize away tests for this being null, because this being null is defined as undefined behavior in the standard. This is a workaround that disables that optimization for now. (#708)
-rw-r--r--Makefile2
-rw-r--r--premake5.lua2
2 files changed, 2 insertions, 2 deletions
diff --git a/Makefile b/Makefile
index 50694b87b..bd9f1ddb0 100644
--- a/Makefile
+++ b/Makefile
@@ -57,7 +57,7 @@ SHARED_LIB_SUFFIX := .so
BIN_SUFFIX :=
# Note: we set `visibility=hidden` to avoid exporting more symbols than
# we really need.
-CFLAGS := -std=c++11 -fvisibility=hidden
+CFLAGS := -std=c++11 -fvisibility=hidden -fno-delete-null-pointer-checks
CFLAGS += -I.
LDFLAGS := -L$(OUTPUTDIR)
SHARED_LIB_LDFLAGS := -shared
diff --git a/premake5.lua b/premake5.lua
index 8840150f0..e0b76fc85 100644
--- a/premake5.lua
+++ b/premake5.lua
@@ -111,7 +111,7 @@ workspace "slang"
architecture "ARM"
filter { "toolset:clang or gcc*" }
- buildoptions { "-Wno-unused-parameter", "-Wno-type-limits", "-Wno-sign-compare", "-Wno-unused-variable", "-Wno-reorder", "-Wno-switch", "-Wno-return-type", "-Wno-unused-local-typedefs", "-Wno-parentheses", "-std=c++11", "-fvisibility=hidden", "-std=gnu++11" }
+ buildoptions { "-Wno-unused-parameter", "-Wno-type-limits", "-Wno-sign-compare", "-Wno-unused-variable", "-Wno-reorder", "-Wno-switch", "-Wno-return-type", "-Wno-unused-local-typedefs", "-Wno-parentheses", "-std=c++11", "-fvisibility=hidden", "-fno-delete-null-pointer-checks" }
filter { "toolset:gcc*"}
buildoptions { "-Wno-nonnull-compare", "-Wno-unused-but-set-variable", "-Wno-implicit-fallthrough" }