diff options
author | Konstantin Käfer <mail@kkaefer.com> | 2017-05-18 14:30:20 +0200 |
---|---|---|
committer | Konstantin Käfer <mail@kkaefer.com> | 2017-05-19 12:12:47 +0200 |
commit | b52e171b6737522fe5e7739646f523becd315381 (patch) | |
tree | 97a90ea3a772c5d79a64533052c8bed1bd7d6d64 | |
parent | f0b0167640fa6cbd852ec1bed237277ee7c5f06d (diff) | |
download | qtlocation-mapboxgl-b52e171b6737522fe5e7739646f523becd315381.tar.gz |
[core] add error for non-virtual destructor deletes + add virtual dtors
-rw-r--r-- | CMakeLists.txt | 2 | ||||
-rw-r--r-- | include/mbgl/map/map_observer.hpp | 2 | ||||
-rw-r--r-- | src/mbgl/programs/symbol_program.hpp | 8 | ||||
-rw-r--r-- | src/mbgl/sprite/sprite_atlas.hpp | 1 | ||||
-rw-r--r-- | src/mbgl/text/glyph_atlas.hpp | 1 |
5 files changed, 10 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index f8757d0c88..f0c7a2ac57 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -66,7 +66,7 @@ endif(WITH_COVERAGE) set(CMAKE_CONFIGURATION_TYPES Debug Release) -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -ftemplate-depth=1024 -Wall -Wextra -Wshadow -Werror -Wno-variadic-macros -Wno-unknown-pragmas") +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14 -ftemplate-depth=1024 -Wall -Wextra -Wshadow -Wnon-virtual-dtor -Werror -Wno-variadic-macros -Wno-unknown-pragmas") if(APPLE) # -Wno-error=unused-command-line-argument is required due to https://llvm.org/bugs/show_bug.cgi?id=7798 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=unused-command-line-argument") diff --git a/include/mbgl/map/map_observer.hpp b/include/mbgl/map/map_observer.hpp index 4fefb79121..f63e5f2af3 100644 --- a/include/mbgl/map/map_observer.hpp +++ b/include/mbgl/map/map_observer.hpp @@ -10,6 +10,8 @@ namespace mbgl { class MapObserver { public: + virtual ~MapObserver() = default; + static MapObserver& nullObserver() { static MapObserver mapObserver; return mapObserver; diff --git a/src/mbgl/programs/symbol_program.hpp b/src/mbgl/programs/symbol_program.hpp index 1cac99bfc2..46f532e5c4 100644 --- a/src/mbgl/programs/symbol_program.hpp +++ b/src/mbgl/programs/symbol_program.hpp @@ -93,6 +93,8 @@ public: // particular attribute & uniform logic needed by each possible type of the {Text,Icon}Size properties. class SymbolSizeBinder { public: + virtual ~SymbolSizeBinder() = default; + using Uniforms = gl::Uniforms< uniforms::u_is_size_zoom_constant, uniforms::u_is_size_feature_constant, @@ -129,7 +131,7 @@ Range<float> getCoveringStops(Stops s, float lowerZoom, float upperZoom) { }; } -class ConstantSymbolSizeBinder : public SymbolSizeBinder { +class ConstantSymbolSizeBinder final : public SymbolSizeBinder { public: using PropertyValue = variant<float, style::CameraFunction<float>>; @@ -198,7 +200,7 @@ public: optional<style::CameraFunction<float>> function; }; -class SourceFunctionSymbolSizeBinder : public SymbolSizeBinder { +class SourceFunctionSymbolSizeBinder final : public SymbolSizeBinder { public: using Vertex = gl::detail::Vertex<gl::Attribute<uint16_t, 1>>; using VertexVector = gl::VertexVector<Vertex>; @@ -251,7 +253,7 @@ public: optional<VertexBuffer> buffer; }; -class CompositeFunctionSymbolSizeBinder: public SymbolSizeBinder { +class CompositeFunctionSymbolSizeBinder final : public SymbolSizeBinder { public: using Vertex = SymbolSizeAttributes::Vertex; using VertexVector = gl::VertexVector<Vertex>; diff --git a/src/mbgl/sprite/sprite_atlas.hpp b/src/mbgl/sprite/sprite_atlas.hpp index 5afddaebce..c3efeff44b 100644 --- a/src/mbgl/sprite/sprite_atlas.hpp +++ b/src/mbgl/sprite/sprite_atlas.hpp @@ -43,6 +43,7 @@ typedef std::set<std::string> IconDependencies; class IconRequestor { public: + virtual ~IconRequestor() = default; virtual void onIconsAvailable(IconMap) = 0; }; diff --git a/src/mbgl/text/glyph_atlas.hpp b/src/mbgl/text/glyph_atlas.hpp index f4c4601530..ad9cf35adc 100644 --- a/src/mbgl/text/glyph_atlas.hpp +++ b/src/mbgl/text/glyph_atlas.hpp @@ -30,6 +30,7 @@ class Context; class GlyphRequestor { public: + virtual ~GlyphRequestor() = default; virtual void onGlyphsAvailable(GlyphPositionMap) = 0; }; |