summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2011-11-09 21:48:28 -0800
committerGabe Black <gblack@eecs.umich.edu>2011-11-09 21:48:28 -0800
commit2ee59cee1b6130359b127c4d74d3d10bd01853a9 (patch)
tree820981f268c085ba8803186900b2562d94f21e6c
parent472645d62a40849f5622e1f98d1bb2883a4f0e5b (diff)
downloadgem5-2ee59cee1b6130359b127c4d74d3d10bd01853a9.tar.xz
GCC: Guard some gcc flags so they're used when available and needed.
-rwxr-xr-xSConstruct1
-rwxr-xr-xsrc/SConscript7
2 files changed, 5 insertions, 3 deletions
diff --git a/SConstruct b/SConstruct
index 06e1c3f16..89761a4f1 100755
--- a/SConstruct
+++ b/SConstruct
@@ -487,6 +487,7 @@ if main['GCC']:
# Note CCVERSION doesn't work here because it is run with the CC
# before we override it from the command line
gcc_version = readCommand([main['CXX'], '-dumpversion'], exception=False)
+ main['GCC_VERSION'] = gcc_version
if not compareVersions(gcc_version, '4.4.1') or \
not compareVersions(gcc_version, '4.4.2'):
print 'Info: Tree vectorizer in GCC 4.4.1 & 4.4.2 is buggy, disabling.'
diff --git a/src/SConscript b/src/SConscript
index 391a832ba..0a4bb57f4 100755
--- a/src/SConscript
+++ b/src/SConscript
@@ -51,7 +51,7 @@ Export('env')
build_env = [(opt, env[opt]) for opt in export_vars]
-from m5.util import code_formatter
+from m5.util import code_formatter, compareVersions
########################################################################
# Code for adding source files of various types
@@ -851,8 +851,9 @@ def makeEnv(label, objsfx, strip = False, **kwargs):
swig_env.Append(CCFLAGS='-Wno-uninitialized')
swig_env.Append(CCFLAGS='-Wno-sign-compare')
swig_env.Append(CCFLAGS='-Wno-parentheses')
- swig_env.Append(CCFLAGS='-Wno-unused-label')
- swig_env.Append(CCFLAGS='-Wno-unused-but-set-variable')
+ if compareVersions(env['GCC_VERSION'], '4.6.0') != -1:
+ swig_env.Append(CCFLAGS='-Wno-unused-label')
+ swig_env.Append(CCFLAGS='-Wno-unused-but-set-variable')
werror_env = new_env.Clone()
werror_env.Append(CCFLAGS='-Werror')