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-18 16:57:12 +0200 |
commit | eae2c715f1ead523de2984cde8708627bfc3f180 (patch) | |
tree | 615be92eaa9a651343792b23c881f9afaa09512a | |
parent | 5d7e54a815715458ee021ba4c4f5f3135876919b (diff) | |
download | qtlocation-mapboxgl-eae2c715f1ead523de2984cde8708627bfc3f180.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 809eacdd6d..f86b2d97b7 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 f1681608d1..832922df5a 100644 --- a/src/mbgl/sprite/sprite_atlas.hpp +++ b/src/mbgl/sprite/sprite_atlas.hpp @@ -36,6 +36,7 @@ using IconDependencies = std::set<std::string>; 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 8a672afe6e..cd6f57d57f 100644 --- a/src/mbgl/text/glyph_atlas.hpp +++ b/src/mbgl/text/glyph_atlas.hpp @@ -29,6 +29,7 @@ class Context; class GlyphRequestor { public: + virtual ~GlyphRequestor() = default; virtual void onGlyphsAvailable(GlyphPositionMap) = 0; }; |