diff --git a/SConstruct b/SConstruct index cddcf61f1..a86566ce1 100644 --- a/SConstruct +++ b/SConstruct @@ -1736,11 +1736,14 @@ if not preconfigured: # c++11 support / https://github.com/mapnik/mapnik/issues/1683 # - upgrade to PHOENIX_V3 since that is needed for c++11 compile env.Append(CPPDEFINES = '-DBOOST_SPIRIT_USE_PHOENIX_V3=1') - # - workaround boost gil channel_algorithm.hpp narrowing error - # TODO - remove when building against >= 1.55 - # https://github.com/mapnik/mapnik/issues/1970 if 'clang++' in env['CXX']: + env.Append(CXXFLAGS = '-Wno-unknown-pragmas') + # - workaround boost gil channel_algorithm.hpp narrowing error + # TODO - remove when building against >= 1.55 + # https://github.com/mapnik/mapnik/issues/1970 env.Append(CXXFLAGS = '-Wno-c++11-narrowing') + if 'g++' in env['CXX']: + env.Append(CXXFLAGS = '-Wno-pragmas') # Enable logging in debug mode (always) and release mode (when specified) if env['DEFAULT_LOG_SEVERITY']: @@ -1781,14 +1784,14 @@ if not preconfigured: # Common flags for g++/clang++ CXX compiler. # TODO: clean up code more to make -Wsign-conversion -Wconversion -Wshadow viable - common_cxx_flags = '-Wall -Wsign-compare %s %s -ftemplate-depth-300 ' % (env['WARNING_CXXFLAGS'], pthread) + common_cxx_flags = '-Wall -Wsign-compare -Wextra %s %s -ftemplate-depth-300 ' % (env['WARNING_CXXFLAGS'], pthread) if env['DEBUG']: - env.Append(CXXFLAGS = common_cxx_flags + '-O0 -fno-inline') + env.Append(CXXFLAGS = common_cxx_flags + '-O0') else: # TODO - add back -fvisibility-inlines-hidden # https://github.com/mapnik/mapnik/issues/1863 - env.Append(CXXFLAGS = common_cxx_flags + '-O%s -Wextra -Wno-unknown-pragmas' % (env['OPTIMIZATION'])) + env.Append(CXXFLAGS = common_cxx_flags + '-O%s' % (env['OPTIMIZATION'])) if env['DEBUG_UNDEFINED']: env.Append(CXXFLAGS = '-fsanitize=undefined-trap -fsanitize-undefined-trap-on-error -ftrapv -fwrapv') diff --git a/benchmark/test_rendering_shared_map.cpp b/benchmark/test_rendering_shared_map.cpp index d78d8a1d4..3f98f7f3a 100644 --- a/benchmark/test_rendering_shared_map.cpp +++ b/benchmark/test_rendering_shared_map.cpp @@ -17,8 +17,7 @@ template void process_layers(Renderer & ren, mapnik::request const& m_req, mapnik::projection const& map_proj, std::vector const& layers, - double scale_denom, - mapnik::box2d const& map_extent) + double scale_denom) { unsigned layers_size = layers.size(); for (unsigned i=0; i < layers_size; ++i) @@ -100,7 +99,7 @@ public: mapnik::agg_renderer ren(*m_,m_req,variables,im,scale_factor_); ren.start_map_processing(*m_); std::vector const& layers = m_->layers(); - process_layers(ren,m_req,map_proj,layers,scale_denom,extent_); + process_layers(ren,m_req,map_proj,layers,scale_denom); ren.end_map_processing(*m_); if (!preview_.empty()) { std::clog << "preview available at " << preview_ << "\n"; @@ -124,7 +123,7 @@ public: mapnik::agg_renderer ren(*m_,m_req,variables,im,scale_factor_); ren.start_map_processing(*m_); std::vector const& layers = m_->layers(); - process_layers(ren,m_req,map_proj,layers,scale_denom,extent_); + process_layers(ren,m_req,map_proj,layers,scale_denom); ren.end_map_processing(*m_); } } diff --git a/include/mapnik/simplify_converter.hpp b/include/mapnik/simplify_converter.hpp index 5fa53b815..c6c2d73c5 100644 --- a/include/mapnik/simplify_converter.hpp +++ b/include/mapnik/simplify_converter.hpp @@ -194,6 +194,9 @@ private: return previous_vertex_.cmd; } +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunknown-pragmas" +#pragma GCC diagnostic ignored "-Wmaybe-uninitialized" unsigned output_vertex_distance(double* x, double* y) { if (status_ == closing) { status_ = end; @@ -237,6 +240,7 @@ private: *y = vtx.y; return vtx.cmd; } +#pragma GCC diagnostic pop template bool fit_sleeve(Iterator itr,Iterator end, vertex2d const& v) diff --git a/plugins/input/shape/shape_index_featureset.cpp b/plugins/input/shape/shape_index_featureset.cpp index 20ccdff23..2ff18cd9f 100644 --- a/plugins/input/shape/shape_index_featureset.cpp +++ b/plugins/input/shape/shape_index_featureset.cpp @@ -28,10 +28,14 @@ #include // boost +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-parameter" +#pragma GCC diagnostic ignored "-Wunused-local-typedef" #include #ifdef SHAPE_MEMORY_MAPPED_FILE #include #endif +#pragma GCC diagnostic pop #include "shape_index_featureset.hpp" #include "shape_utils.hpp" diff --git a/src/marker_cache.cpp b/src/marker_cache.cpp index f64ae152e..024be9c27 100644 --- a/src/marker_cache.cpp +++ b/src/marker_cache.cpp @@ -34,8 +34,12 @@ #include // boost +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-parameter" +#pragma GCC diagnostic ignored "-Wunused-local-typedef" #include #include +#pragma GCC diagnostic pop // agg #include "agg_rendering_buffer.h" diff --git a/src/symbolizer_keys.cpp b/src/symbolizer_keys.cpp index 832e4d173..bc81756ec 100644 --- a/src/symbolizer_keys.cpp +++ b/src/symbolizer_keys.cpp @@ -25,7 +25,11 @@ #include // boost +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-parameter" +#pragma GCC diagnostic ignored "-Wunused-local-typedef" #include // for replace +#pragma GCC diagnostic pop namespace mapnik {