summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sandberg <Andreas.Sandberg@ARM.com>2014-08-13 06:57:28 -0400
committerAndreas Sandberg <Andreas.Sandberg@ARM.com>2014-08-13 06:57:28 -0400
commit6b908211e635e70cb62f87d2f5f26ce019bb8b18 (patch)
tree40cb1446345d9da185b1b3e82d76dcbbaa9a66de
parenteb9226317d792b89a3ceed9b7653cc76953c2f06 (diff)
downloadgem5-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-xSConstruct7
-rwxr-xr-xsrc/SConscript8
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')