scons: Silence clang 3.4 warnings on Ubuntu 12.04
This changeset fixes three types of warnings that occur in clang 3.4 on Ubuntu 12.04: * Certain versions of libstdc++ (primarily 4.8) use struct and class interchangeably. This triggers a warning in clang. * Swig has a tendency to generate code with the register class which was deprecated in C++11. This triggers a deprecation warning in clang. * Swig sometimes generates Python wrapper code which returns uninitialized values. It's unclear if this is actually a problem (the cases might be limited to failure paths). We'll silence these warnings for now since there is little we can do about the generated code.
This commit is contained in:
parent
eb9226317d
commit
6b908211e6
2 changed files with 14 additions and 1 deletions
|
@ -638,7 +638,12 @@ elif main['CLANG']:
|
|||
# is relying on this
|
||||
main.Append(CCFLAGS=['-Wno-tautological-compare',
|
||||
'-Wno-parentheses',
|
||||
'-Wno-self-assign'])
|
||||
'-Wno-self-assign',
|
||||
# Some versions of libstdc++ (4.8?) seem to
|
||||
# use struct hash and class hash
|
||||
# interchangeably.
|
||||
'-Wno-mismatched-tags',
|
||||
])
|
||||
|
||||
main.Append(TCMALLOC_CCFLAGS=['-fno-builtin'])
|
||||
|
||||
|
|
|
@ -940,6 +940,14 @@ def makeEnv(env, label, objsfx, strip = False, **kwargs):
|
|||
# with non-virtual destructors
|
||||
new_env.Append(CXXFLAGS=['-Wdelete-non-virtual-dtor'])
|
||||
|
||||
swig_env.Append(CCFLAGS=[
|
||||
# Some versions of SWIG can return uninitialized values
|
||||
'-Wno-sometimes-uninitialized',
|
||||
# Register storage is requested in a lot of places in
|
||||
# SWIG-generated code.
|
||||
'-Wno-deprecated-register',
|
||||
])
|
||||
|
||||
werror_env = new_env.Clone()
|
||||
werror_env.Append(CCFLAGS='-Werror')
|
||||
|
||||
|
|
Loading…
Reference in a new issue