Code Review
/
apps
/
agl-service-can-low-level.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
review
|
tree
raw
|
patch
|
inline
| side by side (parent:
938c7ac
)
Use -fsanitize=undefined when running tests with clang
author
Petteri Aimonen
<jpa@git.mail.kapsi.fi>
Wed, 9 Apr 2014 16:28:57 +0000
(19:28 +0300)
committer
Petteri Aimonen
<jpa@git.mail.kapsi.fi>
Wed, 9 Apr 2014 16:28:57 +0000
(19:28 +0300)
tests/SConstruct
patch
|
blob
|
history
diff --git
a/tests/SConstruct
b/tests/SConstruct
index
e7aa471
..
0ad833d
100644
(file)
--- a/
tests/SConstruct
+++ b/
tests/SConstruct
@@
-33,13
+33,16
@@
env.Append(PROTOCPATH = '#../generator')
# Check the compilation environment, unless we are just cleaning up.
if not env.GetOption('clean'):
# Check the compilation environment, unless we are just cleaning up.
if not env.GetOption('clean'):
- def check_ccflags(context, flags):
+ def check_ccflags(context, flags
, linkflags = ''
):
'''Check if given CCFLAGS are supported'''
context.Message('Checking support for CCFLAGS="%s"... ' % flags)
oldflags = context.env['CCFLAGS']
'''Check if given CCFLAGS are supported'''
context.Message('Checking support for CCFLAGS="%s"... ' % flags)
oldflags = context.env['CCFLAGS']
+ oldlinkflags = context.env['CCFLAGS']
context.env.Append(CCFLAGS = flags)
context.env.Append(CCFLAGS = flags)
+ context.env.Append(LINKFLAGS = linkflags)
result = context.TryCompile("int main() {return 0;}", '.c')
context.env.Replace(CCFLAGS = oldflags)
result = context.TryCompile("int main() {return 0;}", '.c')
context.env.Replace(CCFLAGS = oldflags)
+ context.env.Replace(LINKFLAGS = oldlinkflags)
context.Result(result)
return result
context.Result(result)
return result
@@
-83,6
+86,13
@@
if not env.GetOption('clean'):
if conf.CheckCCFLAGS(extra):
conf.env.Append(CORECFLAGS = extra)
if conf.CheckCCFLAGS(extra):
conf.env.Append(CORECFLAGS = extra)
+ # Check if we can use undefined behaviour sanitizer (only with clang)
+ extra = '-fsanitize=undefined '
+ if 'clang' in env['CC']:
+ if conf.CheckCCFLAGS(extra, linkflags = extra):
+ conf.env.Append(CORECFLAGS = extra)
+ conf.env.Append(LINKFLAGS = extra)
+
# End the config stuff
env = conf.Finish()
# End the config stuff
env = conf.Finish()
@@
-119,9
+129,9
@@
elif 'tcc' in env['CC']:
env.SetDefault(CORECFLAGS = '')
env.SetDefault(CORECFLAGS = '')
-if 'clang
++
' in env['CXX']:
+if 'clang' in env['CXX']:
env.Append(CXXFLAGS = '-g -O0 -Wall -Werror -Wextra -Wno-missing-field-initializers')
env.Append(CXXFLAGS = '-g -O0 -Wall -Werror -Wextra -Wno-missing-field-initializers')
-elif 'g++' in env['CXX']:
+elif 'g++' in env['CXX']
or 'gcc' in env['CXX']
:
env.Append(CXXFLAGS = '-g -O0 -Wall -Werror -Wextra -Wno-missing-field-initializers')
elif 'cl' in env['CXX']:
env.Append(CXXFLAGS = '/Zi /W2 /WX')
env.Append(CXXFLAGS = '-g -O0 -Wall -Werror -Wextra -Wno-missing-field-initializers')
elif 'cl' in env['CXX']:
env.Append(CXXFLAGS = '/Zi /W2 /WX')