scons: Add warning delete with non-virtual destructor

This patch enables a warning for deleting derived classes that do not
have a virtual destructor. The patch merely adds additional checks,
and there are currently no cases that had to be fixed.
This commit is contained in:
Andreas Hansson 2013-02-19 05:56:07 -05:00
parent 319443d42d
commit 5eddb63877

View file

@ -903,12 +903,15 @@ def makeEnv(label, objsfx, strip = False, **kwargs):
# Add additional warnings here that should not be applied to # Add additional warnings here that should not be applied to
# the SWIG generated code # the SWIG generated code
new_env.Append(CXXFLAGS='-Wmissing-declarations') new_env.Append(CXXFLAGS='-Wmissing-declarations')
if compareVersions(env['GCC_VERSION'], '4.7') >= 0:
new_env.Append(CXXFLAGS='-Wdelete-non-virtual-dtor')
if env['CLANG']: if env['CLANG']:
swig_env.Append(CCFLAGS=['-Wno-unused-label', '-Wno-unused-value']) swig_env.Append(CCFLAGS=['-Wno-unused-label', '-Wno-unused-value'])
# Add additional warnings here that should not be applied to # Add additional warnings here that should not be applied to
# the SWIG generated code # the SWIG generated code
new_env.Append(CXXFLAGS='-Wmissing-declarations') new_env.Append(CXXFLAGS=['-Wmissing-declarations',
'-Wdelete-non-virtual-dtor'])
werror_env = new_env.Clone() werror_env = new_env.Clone()
werror_env.Append(CCFLAGS='-Werror') werror_env.Append(CCFLAGS='-Werror')