diff options
author | Andreas Sandberg <Andreas.Sandberg@ARM.com> | 2014-08-13 06:57:28 -0400 |
---|---|---|
committer | Andreas Sandberg <Andreas.Sandberg@ARM.com> | 2014-08-13 06:57:28 -0400 |
commit | 6b908211e635e70cb62f87d2f5f26ce019bb8b18 (patch) | |
tree | 40cb1446345d9da185b1b3e82d76dcbbaa9a66de | |
parent | eb9226317d792b89a3ceed9b7653cc76953c2f06 (diff) | |
download | gem5-6b908211e635e70cb62f87d2f5f26ce019bb8b18.tar.xz |
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.
-rwxr-xr-x | SConstruct | 7 | ||||
-rwxr-xr-x | src/SConscript | 8 |
2 files changed, 14 insertions, 1 deletions
diff --git a/SConstruct b/SConstruct index d5f56b22a..6250bdd2f 100755 --- a/SConstruct +++ b/SConstruct @@ -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']) diff --git a/src/SConscript b/src/SConscript index f5b082819..88fedbfdc 100755 --- a/src/SConscript +++ b/src/SConscript @@ -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') |