calm down -Wdelete-non-virtual-dtor warnings

remove -Wno-non-virtual-dtor from makefile (what does it do anyway? -Wdelete-non-virtual-dtor is part of -Wall)
This commit is contained in:
Garux 2019-02-26 19:08:47 +03:00
parent 812a8b6001
commit 1628abfd0f
23 changed files with 48 additions and 47 deletions

View File

@ -114,7 +114,7 @@ CFLAGS_COMMON = -MMD -W -Wall -Wcast-align -Wcast-qual -Wno-unused-parameter -fn
CPPFLAGS_COMMON = CPPFLAGS_COMMON =
LDFLAGS_COMMON = LDFLAGS_COMMON =
LIBS_COMMON = LIBS_COMMON =
CXXFLAGS_COMMON = -std=c++11 -Wno-non-virtual-dtor -Wreorder -fno-exceptions -fno-rtti CXXFLAGS_COMMON = -std=c++11 -Wreorder -fno-exceptions -fno-rtti
ifeq ($(BUILD),debug) ifeq ($(BUILD),debug)
ifeq ($(findstring $(CFLAGS),-g),) ifeq ($(findstring $(CFLAGS),-g),)

View File

@ -157,7 +157,7 @@ TextInputStream& getInputStream(){
}; };
/// \brief An ArchiveFile which is stored as a single file on disk. /// \brief An ArchiveFile which is stored as a single file on disk.
class DirectoryArchiveFile : public ArchiveFile class DirectoryArchiveFile final : public ArchiveFile
{ {
CopiedString m_name; CopiedString m_name;
FileInputStream m_istream; FileInputStream m_istream;
@ -196,7 +196,7 @@ InputStream& getInputStream(){
}; };
/// \brief An ArchiveTextFile which is stored as a single file on disk. /// \brief An ArchiveTextFile which is stored as a single file on disk.
class DirectoryArchiveTextFile : public ArchiveTextFile class DirectoryArchiveTextFile final : public ArchiveTextFile
{ {
CopiedString m_name; CopiedString m_name;
TextFileInputStream m_inputStream; TextFileInputStream m_inputStream;

View File

@ -308,7 +308,7 @@ void render( RenderStateFlags state ) const {
/// ///
/// - Notifies observers when value changes - value changes to "" on destruction. /// - Notifies observers when value changes - value changes to "" on destruction.
/// - Provides undo support through the global undo system. /// - Provides undo support through the global undo system.
class KeyValue : public EntityKeyValue class KeyValue final : public EntityKeyValue
{ {
typedef UnsortedSet<KeyObserver> KeyObservers; typedef UnsortedSet<KeyObserver> KeyObservers;

View File

@ -43,7 +43,7 @@ unsigned int width, height;
RGBAImage( unsigned int _width, unsigned int _height ) RGBAImage( unsigned int _width, unsigned int _height )
: pixels( new RGBAPixel[_width * _height] ), width( _width ), height( _height ){ : pixels( new RGBAPixel[_width * _height] ), width( _width ), height( _height ){
} }
~RGBAImage(){ virtual ~RGBAImage(){
delete[] pixels; delete[] pixels;
} }

View File

@ -24,7 +24,7 @@
#include "iscriplib.h" #include "iscriplib.h"
class ScriptTokeniser : public Tokeniser class ScriptTokeniser final : public Tokeniser
{ {
enum CharType enum CharType
{ {

View File

@ -24,7 +24,7 @@
#include "iscriplib.h" #include "iscriplib.h"
class SimpleTokenWriter : public TokenWriter class SimpleTokenWriter final : public TokenWriter
{ {
public: public:
SimpleTokenWriter( TextOutputStream& ostream ) SimpleTokenWriter( TextOutputStream& ostream )

View File

@ -50,7 +50,7 @@ inline void buffer_findreplace( char* buffer, char find, char replace ){
#include "pak.h" #include "pak.h"
class PakArchive : public Archive class PakArchive final : public Archive
{ {
class PakRecord class PakRecord
{ {

View File

@ -38,7 +38,7 @@
#include "wad.h" #include "wad.h"
class WadArchive : public Archive class WadArchive final : public Archive
{ {
class wad_record_t class wad_record_t
{ {

View File

@ -32,7 +32,7 @@
#include "archivelib.h" #include "archivelib.h"
#include "zlibstream.h" #include "zlibstream.h"
class DeflatedArchiveFile : public ArchiveFile class DeflatedArchiveFile final : public ArchiveFile
{ {
CopiedString m_name; CopiedString m_name;
FileInputStream m_istream; FileInputStream m_istream;
@ -61,7 +61,7 @@ InputStream& getInputStream(){
} }
}; };
class DeflatedArchiveTextFile : public ArchiveTextFile class DeflatedArchiveTextFile final : public ArchiveTextFile
{ {
CopiedString m_name; CopiedString m_name;
FileInputStream m_istream; FileInputStream m_istream;
@ -91,7 +91,7 @@ TextInputStream& getInputStream(){
#include "fs_filesystem.h" #include "fs_filesystem.h"
class ZipArchive : public Archive class ZipArchive final : public Archive
{ {
class ZipRecord class ZipRecord
{ {

View File

@ -177,7 +177,7 @@ void unrealise(){
GlobalSkins g_skins; GlobalSkins g_skins;
class Doom3ModelSkinCacheElement : public ModelSkin class Doom3ModelSkinCacheElement final : public ModelSkin
{ {
ModuleObservers m_observers; ModuleObservers m_observers;
Doom3ModelSkin* m_skin; Doom3ModelSkin* m_skin;
@ -219,7 +219,7 @@ void forEachRemap( const SkinRemapCallback& callback ) const {
} }
}; };
class Doom3ModelSkinCache : public ModelSkinCache, public ModuleObserver class Doom3ModelSkinCache final : public ModelSkinCache, public ModuleObserver
{ {
class CreateDoom3ModelSkin class CreateDoom3ModelSkin
{ {

View File

@ -67,7 +67,7 @@ PatchCreator& getPatchDef2Doom3(){
} }
}; };
class MapDoom3API : public TypeSystemRef, public MapFormat, public PrimitiveParser class MapDoom3API final : public TypeSystemRef, public MapFormat, public PrimitiveParser
{ {
MapDoom3Dependencies& m_dependencies; MapDoom3Dependencies& m_dependencies;
public: public:
@ -138,7 +138,7 @@ MapDoom3Module;
MapDoom3Module g_MapDoom3Module; MapDoom3Module g_MapDoom3Module;
class MapQuake4API : public TypeSystemRef, public MapFormat, public PrimitiveParser class MapQuake4API final : public TypeSystemRef, public MapFormat, public PrimitiveParser
{ {
MapDoom3Dependencies& m_dependencies; MapDoom3Dependencies& m_dependencies;
public: public:
@ -226,7 +226,7 @@ MapDependencies() :
} }
}; };
class MapQ3API : public TypeSystemRef, public MapFormat, public PrimitiveParser class MapQ3API final : public TypeSystemRef, public MapFormat, public PrimitiveParser
{ {
mutable bool m_formatDetected; mutable bool m_formatDetected;
public: public:
@ -308,7 +308,7 @@ typedef SingletonModule<MapQ3API, MapDependencies> MapQ3Module;
MapQ3Module g_MapQ3Module; MapQ3Module g_MapQ3Module;
class MapQ1API : public TypeSystemRef, public MapFormat, public PrimitiveParser class MapQ1API final : public TypeSystemRef, public MapFormat, public PrimitiveParser
{ {
mutable bool m_formatDetected; mutable bool m_formatDetected;
public: public:
@ -385,7 +385,7 @@ typedef SingletonModule<MapQ1API, MapDependencies> MapQ1Module;
MapQ1Module g_MapQ1Module; MapQ1Module g_MapQ1Module;
class MapHalfLifeAPI : public TypeSystemRef, public MapFormat, public PrimitiveParser class MapHalfLifeAPI final : public TypeSystemRef, public MapFormat, public PrimitiveParser
{ {
public: public:
typedef MapFormat Type; typedef MapFormat Type;
@ -428,7 +428,7 @@ typedef SingletonModule<MapHalfLifeAPI, MapDependencies> MapHalfLifeModule;
MapHalfLifeModule g_MapHalfLifeModule; MapHalfLifeModule g_MapHalfLifeModule;
class MapQ2API : public TypeSystemRef, public MapFormat, public PrimitiveParser class MapQ2API final : public TypeSystemRef, public MapFormat, public PrimitiveParser
{ {
mutable bool m_formatDetected; mutable bool m_formatDetected;
public: public:
@ -632,7 +632,7 @@ void VMF_Read( scene::Node& root, Tokeniser& tokeniser, EntityCreator& entityTab
globalOutputStream() << g_vmf_brushes << " brushes\n"; globalOutputStream() << g_vmf_brushes << " brushes\n";
} }
class MapVMFAPI : public TypeSystemRef, public MapFormat class MapVMFAPI final : public TypeSystemRef, public MapFormat
{ {
public: public:
typedef MapFormat Type; typedef MapFormat Type;

View File

@ -61,7 +61,7 @@ PatchCreator& getPatchDef2Doom3(){
} }
}; };
class MapXMLAPI : public TypeSystemRef, public MapFormat class MapXMLAPI final : public TypeSystemRef, public MapFormat
{ {
public: public:
typedef MapFormat Type; typedef MapFormat Type;

View File

@ -72,7 +72,7 @@ inline void parseTextureName( CopiedString& name, const char* token ){
} }
// generic renderable triangle surface // generic renderable triangle surface
class Surface : class Surface final :
public OpenGLRenderable public OpenGLRenderable
{ {
public: public:

View File

@ -65,7 +65,7 @@ void forEachLight( const RendererLightCallback& callback ) const {
} }
}; };
class PicoSurface : class PicoSurface final :
public OpenGLRenderable public OpenGLRenderable
{ {
AABB m_aabb_local; AABB m_aabb_local;

View File

@ -40,7 +40,7 @@
#include "vfspk3.h" #include "vfspk3.h"
class DirectoryArchive : public Archive class DirectoryArchive final : public Archive
{ {
CopiedString m_root; CopiedString m_root;
public: public:

View File

@ -176,7 +176,7 @@ virtual XMLElementParser& pushElement( const XMLElement& element ) = 0;
virtual void popElement( const char* name ) = 0; virtual void popElement( const char* name ) = 0;
}; };
class VariableStringXMLConstructor : public XMLElementParser class VariableStringXMLConstructor final : public XMLElementParser
{ {
StringBuffer m_buffer; StringBuffer m_buffer;
VariableString& m_variableString; VariableString& m_variableString;
@ -198,7 +198,7 @@ void popElement( const char* name ){
} }
}; };
class ConditionalXMLConstructor : public XMLElementParser class ConditionalXMLConstructor final : public XMLElementParser
{ {
StringBuffer m_buffer; StringBuffer m_buffer;
Conditional& m_conditional; Conditional& m_conditional;
@ -220,7 +220,7 @@ void popElement( const char* name ){
} }
}; };
class ToolXMLConstructor : public XMLElementParser class ToolXMLConstructor final : public XMLElementParser
{ {
StringBuffer m_buffer; StringBuffer m_buffer;
Tool& m_tool; Tool& m_tool;
@ -266,7 +266,7 @@ void flush(){
typedef VariableString BuildCommand; typedef VariableString BuildCommand;
typedef std::list<BuildCommand> Build; typedef std::list<BuildCommand> Build;
class BuildXMLConstructor : public XMLElementParser class BuildXMLConstructor final : public XMLElementParser
{ {
VariableStringXMLConstructor* m_variableString; VariableStringXMLConstructor* m_variableString;
Build& m_build; Build& m_build;

View File

@ -246,7 +246,7 @@ typedef ImportExport<GtkComboBox, int, IntComboImport, IntComboExport> IntComboI
template<typename FirstArgument> template<typename FirstArgument>
class CallbackDialogData : public DLG_DATA class CallbackDialogData final : public DLG_DATA
{ {
public: public:
typedef Callback1<FirstArgument> ImportCallback; typedef Callback1<FirstArgument> ImportCallback;

View File

@ -126,7 +126,7 @@ virtual void update() = 0;
virtual void release() = 0; virtual void release() = 0;
}; };
class BooleanAttribute : public EntityAttribute class BooleanAttribute final : public EntityAttribute
{ {
CopiedString m_key; CopiedString m_key;
GtkCheckButton* m_check; GtkCheckButton* m_check;
@ -191,6 +191,7 @@ StringAttribute( const char* key ) :
m_entry = entry; m_entry = entry;
m_nonModal.connect( m_entry ); m_nonModal.connect( m_entry );
} }
virtual ~StringAttribute() = default;
GtkWidget* getWidget() const { GtkWidget* getWidget() const {
return GTK_WIDGET( m_entry ); return GTK_WIDGET( m_entry );
} }
@ -236,7 +237,7 @@ TextureAttribute( const char* key ) : StringAttribute( key ){
}; };
class ColorAttribute : public EntityAttribute class ColorAttribute final : public EntityAttribute
{ {
CopiedString m_key; CopiedString m_key;
BrowsedPathEntry m_entry; BrowsedPathEntry m_entry;
@ -280,7 +281,7 @@ typedef MemberCaller1<ColorAttribute, const BrowsedPathEntry::SetPathCallback&,
}; };
class ModelAttribute : public EntityAttribute class ModelAttribute final : public EntityAttribute
{ {
CopiedString m_key; CopiedString m_key;
BrowsedPathEntry m_entry; BrowsedPathEntry m_entry;
@ -343,7 +344,7 @@ const char* browse_sound( GtkWidget* parent ){
return filename; return filename;
} }
class SoundAttribute : public EntityAttribute class SoundAttribute final : public EntityAttribute
{ {
CopiedString m_key; CopiedString m_key;
BrowsedPathEntry m_entry; BrowsedPathEntry m_entry;
@ -408,7 +409,7 @@ public:
} }
}; };
class AngleAttribute : public EntityAttribute class AngleAttribute final : public EntityAttribute
{ {
CopiedString m_key; CopiedString m_key;
GtkEntry* m_entry; GtkEntry* m_entry;
@ -468,7 +469,7 @@ typedef const char* String;
const String buttons[] = { "up", "down", "yaw" }; const String buttons[] = { "up", "down", "yaw" };
} }
class DirectionAttribute : public EntityAttribute class DirectionAttribute final : public EntityAttribute
{ {
CopiedString m_key; CopiedString m_key;
GtkEntry* m_entry; GtkEntry* m_entry;
@ -572,7 +573,7 @@ AnglesEntry() : m_roll( 0 ), m_pitch( 0 ), m_yaw( 0 ){
} }
}; };
class AnglesAttribute : public EntityAttribute class AnglesAttribute final : public EntityAttribute
{ {
CopiedString m_key; CopiedString m_key;
AnglesEntry m_angles; AnglesEntry m_angles;
@ -670,7 +671,7 @@ Vector3Entry() : m_x( 0 ), m_y( 0 ), m_z( 0 ){
} }
}; };
class Vector3Attribute : public EntityAttribute class Vector3Attribute final : public EntityAttribute
{ {
CopiedString m_key; CopiedString m_key;
Vector3Entry m_vector3; Vector3Entry m_vector3;
@ -770,7 +771,7 @@ void setActive( GtkComboBox* combo, int value ){
} }
}; };
class ListAttribute : public EntityAttribute class ListAttribute final : public EntityAttribute
{ {
CopiedString m_key; CopiedString m_key;
GtkComboBox* m_combo; GtkComboBox* m_combo;

View File

@ -76,7 +76,7 @@ IGL2DWindow* Highlight();
void DropHighlight() { } void DropHighlight() { }
}; };
class CPointMsg : public ISAXHandler, public IGL2DWindow class CPointMsg final : public ISAXHandler, public IGL2DWindow
{ {
enum { POINT_MESSAGE, POINT_POINT } EPointState; enum { POINT_MESSAGE, POINT_POINT } EPointState;
StringOutputStream message; StringOutputStream message;
@ -109,7 +109,7 @@ void DecRef() {
void Draw2D( VIEWTYPE vt ); void Draw2D( VIEWTYPE vt );
}; };
class CWindingMsg : public ISAXHandler, public IGL2DWindow class CWindingMsg final : public ISAXHandler, public IGL2DWindow
{ {
enum { WINDING_MESSAGE, WINDING_WINDING } EPointState; enum { WINDING_MESSAGE, WINDING_WINDING } EPointState;
StringOutputStream message; StringOutputStream message;

View File

@ -935,7 +935,7 @@ std::size_t count() const {
} }
}; };
class OpenGLShader : public Shader class OpenGLShader final : public Shader
{ {
typedef std::list<OpenGLStateBucket*> Passes; typedef std::list<OpenGLStateBucket*> Passes;
Passes m_passes; Passes m_passes;
@ -1140,7 +1140,7 @@ inline void setFogState( const OpenGLFogState& state ){
#define DEBUG_SHADERS 0 #define DEBUG_SHADERS 0
void OpenGLState_apply( const OpenGLState& self, OpenGLState& current, unsigned int globalstate ); void OpenGLState_apply( const OpenGLState& self, OpenGLState& current, unsigned int globalstate );
class OpenGLShaderCache : public ShaderCache, public TexturesCacheObserver, public ModuleObserver class OpenGLShaderCache final : public ShaderCache, public TexturesCacheObserver, public ModuleObserver
{ {
class CreateOpenGLShader class CreateOpenGLShader
{ {

View File

@ -65,7 +65,7 @@ TypeId getTypeId( const char* name ){
} }
}; };
class CompiledGraph : public scene::Graph, public scene::Instantiable::Observer class CompiledGraph final : public scene::Graph, public scene::Instantiable::Observer
{ {
typedef std::map<PathConstReference, scene::Instance*> InstanceMap; typedef std::map<PathConstReference, scene::Instance*> InstanceMap;

View File

@ -4667,7 +4667,7 @@ public:
// RadiantSelectionSystem // RadiantSelectionSystem
class RadiantSelectionSystem : class RadiantSelectionSystem final :
public SelectionSystem, public SelectionSystem,
public Translatable, public Translatable,
public Rotatable, public Rotatable,
@ -6271,7 +6271,7 @@ void highlight( DeviceVector position ){
class RadiantWindowObserver : public SelectionSystemWindowObserver class RadiantWindowObserver final : public SelectionSystemWindowObserver
{ {
DeviceVector m_epsilon; DeviceVector m_epsilon;
ModifierFlags m_state; ModifierFlags m_state;

View File

@ -377,7 +377,7 @@ hash_t operator()( const TextureKey& key ) const {
#define DEBUG_TEXTURES 0 #define DEBUG_TEXTURES 0
class TexturesMap : public TexturesCache class TexturesMap final : public TexturesCache
{ {
class TextureConstructor class TextureConstructor
{ {