summaryrefslogtreecommitdiff
path: root/SConstruct
diff options
context:
space:
mode:
authorAndreas Hansson <andreas.hansson@arm.com>2013-02-19 05:56:06 -0500
committerAndreas Hansson <andreas.hansson@arm.com>2013-02-19 05:56:06 -0500
commit0acd2a96e5cd2a9bece4d5468dd1a8cc96c8aafe (patch)
tree0feaa85408e6aba2d4e4b3ad12b7dd4a98e27ed9 /SConstruct
parentd670fa60a105676a19dd91440f66dc186450b3e8 (diff)
downloadgem5-0acd2a96e5cd2a9bece4d5468dd1a8cc96c8aafe.tar.xz
scons: Add warning for overloaded virtual functions
A derived function with a different signature than a base class function will result in the base class function of the same name being hidden. The parameter list and return type for the member function in the derived class must match those of the member function in the base class, otherwise the function in the derived class will hide the function in the base class and no polymorphic behaviour will occur. This patch addresses these warnings by ensuring a unique function name to avoid (unintentionally) hiding any functions.
Diffstat (limited to 'SConstruct')
-rwxr-xr-xSConstruct6
1 files changed, 4 insertions, 2 deletions
diff --git a/SConstruct b/SConstruct
index e91cc0599..0540ba80f 100755
--- a/SConstruct
+++ b/SConstruct
@@ -528,7 +528,8 @@ if main['GCC']:
main.Append(CCFLAGS=['-pipe'])
main.Append(CCFLAGS=['-fno-strict-aliasing'])
main.Append(CCFLAGS=['-Wall', '-Wno-sign-compare', '-Wundef'])
- main.Append(CXXFLAGS=['-Wmissing-field-initializers'])
+ main.Append(CXXFLAGS=['-Wmissing-field-initializers',
+ '-Woverloaded-virtual'])
main.Append(CXXFLAGS=['-std=c++0x'])
# Check for versions with bugs
@@ -578,7 +579,8 @@ elif main['CLANG']:
# Ruby makes frequent use of extraneous parantheses in the printing
# of if-statements
main.Append(CCFLAGS=['-Wno-parentheses'])
- main.Append(CXXFLAGS=['-Wmissing-field-initializers'])
+ main.Append(CXXFLAGS=['-Wmissing-field-initializers',
+ '-Woverloaded-virtual'])
main.Append(CXXFLAGS=['-std=c++0x'])
# On Mac OS X/Darwin we need to also use libc++ (part of XCode) as
# opposed to libstdc++ to make the transition from TR1 to