aboutsummaryrefslogtreecommitdiffstats
path: root/wscript
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2020-11-10 22:59:44 +0100
committerDavid Robillard <d@drobilla.net>2020-11-11 00:09:44 +0100
commit79d11422526c46e4bae0d2b920110bbbb44d9c70 (patch)
treec2e3e397f639475c509ef48f0388b8315ad8d390 /wscript
parent9eee20ada8974e53227fa77e8dc0013ceaca88a3 (diff)
downloadserd-79d11422526c46e4bae0d2b920110bbbb44d9c70.tar.gz
serd-79d11422526c46e4bae0d2b920110bbbb44d9c70.tar.bz2
serd-79d11422526c46e4bae0d2b920110bbbb44d9c70.zip
Add CI row to run clang sanitizers
Some of these are also supported by GCC, but clang supports more and clang on Linux was uncovered before anyway, so this fixes that situation as well.
Diffstat (limited to 'wscript')
-rw-r--r--wscript6
1 files changed, 6 insertions, 0 deletions
diff --git a/wscript b/wscript
index bc21d526..faeaadaa 100644
--- a/wscript
+++ b/wscript
@@ -55,6 +55,7 @@ def configure(conf):
'clang': [
'-Wno-cast-align',
'-Wno-cast-qual',
+ '-Wno-conversion',
'-Wno-covered-switch-default',
'-Wno-disabled-macro-expansion',
'-Wno-double-promotion',
@@ -101,6 +102,11 @@ def configure(conf):
if 'mingw' in conf.env.CC[0]:
conf.env.append_value('CFLAGS', '-Wno-unused-macros')
+ if ('clang' in conf.env.CC[0] and (
+ '-fsanitize=address' in conf.env.CFLAGS or
+ '-fsanitize=undefined' in conf.env.CFLAGS)):
+ conf.env.LINKFLAGS.remove('-Wl,--no-undefined')
+
conf.env.update({
'BUILD_UTILS': not Options.options.no_utils,
'BUILD_SHARED': not Options.options.no_shared,