From fbe0602cea6225cd6781804a571136778640b6cd Mon Sep 17 00:00:00 2001 From: Mathis Logemann Date: Wed, 25 Nov 2020 09:01:26 +0100 Subject: [PATCH 1/8] added compiler independent warnings --- include/mapbox/feature.hpp | 6 +++--- include/mapbox/geometry/point.hpp | 6 +++--- include/mapbox/geometry/warning.hpp | 27 +++++++++++++++++++++++++++ 3 files changed, 33 insertions(+), 6 deletions(-) create mode 100644 include/mapbox/geometry/warning.hpp diff --git a/include/mapbox/feature.hpp b/include/mapbox/feature.hpp index 68b23f8..082a8bc 100644 --- a/include/mapbox/feature.hpp +++ b/include/mapbox/feature.hpp @@ -17,14 +17,14 @@ namespace feature { struct equal_comp_shared_ptr { -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" +MAPBOX_GEOMETRY_DISABLE_WARNING_PUSH +MAPBOX_GEOMETRY_DISABLE_WARNING_FLOAT_EQUAL template bool operator()(T const& lhs, T const& rhs) const { return lhs == rhs; } -#pragma GCC diagnostic pop +MAPBOX_GEOMETRY_DISABLE_WARNING_POP template bool operator()(std::shared_ptr const& lhs, std::shared_ptr const& rhs) const diff --git a/include/mapbox/geometry/point.hpp b/include/mapbox/geometry/point.hpp index da8d677..98aab05 100644 --- a/include/mapbox/geometry/point.hpp +++ b/include/mapbox/geometry/point.hpp @@ -21,8 +21,8 @@ struct point T y; }; -#pragma GCC diagnostic push -#pragma GCC diagnostic ignored "-Wfloat-equal" +MAPBOX_GEOMETRY_DISABLE_WARNING_PUSH +MAPBOX_GEOMETRY_DISABLE_WARNING_FLOAT_EQUAL template constexpr bool operator==(point const& lhs, point const& rhs) @@ -30,7 +30,7 @@ constexpr bool operator==(point const& lhs, point const& rhs) return lhs.x == rhs.x && lhs.y == rhs.y; } -#pragma GCC diagnostic pop +MAPBOX_GEOMETRY_DISABLE_WARNING_POP template constexpr bool operator!=(point const& lhs, point const& rhs) diff --git a/include/mapbox/geometry/warning.hpp b/include/mapbox/geometry/warning.hpp new file mode 100644 index 0000000..8eb6528 --- /dev/null +++ b/include/mapbox/geometry/warning.hpp @@ -0,0 +1,27 @@ +#ifndef GEOMETRY_WARNING_HPP +#define GEOMETRY_WARNING_HPP + +#if defined(_MSC_VER) + #define MAPBOX_GEOMETRY_DISABLE_WARNING_PUSH __pragma(warning( push )) + #define MAPBOX_GEOMETRY_DISABLE_WARNING_POP __pragma(warning( pop )) + #define MAPBOX_GEOMETRY_DISABLE_WARNING(warningNumber) __pragma(warning( disable : warningNumber )) + + // add warnings to deactivate here + // example: #define DISABLE_WARNING_UNREFERENCED_FORMAL_PARAMETER MAPBOX_GEOMETRY_DISABLE_WARNING(4100) + #define MAPBOX_GEOMETRY_DISABLE_WARNING_FLOAT_EQUAL //MAPBOX_GEOMETRY_DISABLE_WARNING(??) + +#elif defined(__GNUC__) || defined(__clang__) + #define MAPBOX_GEOMETRY_DO_PRAGMA(X) _Pragma(#X) + #define MAPBOX_GEOMETRY_DISABLE_WARNING_PUSH MAPBOX_GEOMETRY_DO_PRAGMA(GCC diagnostic push) + #define MAPBOX_GEOMETRY_DISABLE_WARNING_POP MAPBOX_GEOMETRY_DO_PRAGMA(GCC diagnostic pop) + #define MAPBOX_GEOMETRY_DISABLE_WARNING(warningName) MAPBOX_GEOMETRY_DO_PRAGMA(GCC diagnostic ignored #warningName) + // add warnings to deactivate here + // example: #define DISABLE_WARNING_UNREFERENCED_FORMAL_PARAMETER MAPBOX_GEOMETRY_DISABLE_WARNING(-Wunused-parameter) + #define MAPBOX_GEOMETRY_DISABLE_WARNING_FLOAT_EQUAL MAPBOX_GEOMETRY_DISABLE_WARNING(-Wfloat-equal) +#else + #define MAPBOX_GEOMETRY_DISABLE_WARNING_PUSH + #define MAPBOX_GEOMETRY_DISABLE_WARNING_POP + // add all of the above warnings here (will be used if unknown compiler) + #define MAPBOX_GEOMETRY_DISABLE_WARNING_FLOAT_EQUAL +#endif +#endif \ No newline at end of file From fe3d97c995c0cd139a6ebc65a49d7da4b0b93070 Mon Sep 17 00:00:00 2001 From: Mathis Logemann Date: Wed, 25 Nov 2020 09:02:29 +0100 Subject: [PATCH 2/8] new line for warning.hpp --- include/mapbox/geometry/warning.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/mapbox/geometry/warning.hpp b/include/mapbox/geometry/warning.hpp index 8eb6528..4f46355 100644 --- a/include/mapbox/geometry/warning.hpp +++ b/include/mapbox/geometry/warning.hpp @@ -24,4 +24,4 @@ // add all of the above warnings here (will be used if unknown compiler) #define MAPBOX_GEOMETRY_DISABLE_WARNING_FLOAT_EQUAL #endif -#endif \ No newline at end of file +#endif From 542364567f9069999a12a78b9af115704f131860 Mon Sep 17 00:00:00 2001 From: Mathis Logemann Date: Wed, 16 Dec 2020 10:31:58 +0100 Subject: [PATCH 3/8] fix include --- include/mapbox/feature.hpp | 1 + include/mapbox/geometry/point.hpp | 2 ++ 2 files changed, 3 insertions(+) diff --git a/include/mapbox/feature.hpp b/include/mapbox/feature.hpp index 082a8bc..ccad8b6 100644 --- a/include/mapbox/feature.hpp +++ b/include/mapbox/feature.hpp @@ -10,6 +10,7 @@ #include #include +#include "mapbox/geometry/warning.hpp" namespace mapbox { namespace feature { diff --git a/include/mapbox/geometry/point.hpp b/include/mapbox/geometry/point.hpp index 98aab05..d78253c 100644 --- a/include/mapbox/geometry/point.hpp +++ b/include/mapbox/geometry/point.hpp @@ -1,5 +1,7 @@ #pragma once +#include "warning.hpp" + namespace mapbox { namespace geometry { From 089d3e0d3fbafce70c801b7f524bbdaddd784878 Mon Sep 17 00:00:00 2001 From: Mathis Logemann Date: Wed, 16 Dec 2020 10:38:27 +0100 Subject: [PATCH 4/8] fix formatting hopefully --- include/mapbox/geometry/warning.hpp | 37 +++++++++++++++-------------- 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/include/mapbox/geometry/warning.hpp b/include/mapbox/geometry/warning.hpp index 4f46355..b819f5f 100644 --- a/include/mapbox/geometry/warning.hpp +++ b/include/mapbox/geometry/warning.hpp @@ -2,26 +2,27 @@ #define GEOMETRY_WARNING_HPP #if defined(_MSC_VER) - #define MAPBOX_GEOMETRY_DISABLE_WARNING_PUSH __pragma(warning( push )) - #define MAPBOX_GEOMETRY_DISABLE_WARNING_POP __pragma(warning( pop )) - #define MAPBOX_GEOMETRY_DISABLE_WARNING(warningNumber) __pragma(warning( disable : warningNumber )) +#define MAPBOX_GEOMETRY_DISABLE_WARNING_PUSH __pragma(warning(push)) +#define MAPBOX_GEOMETRY_DISABLE_WARNING_POP __pragma(warning(pop)) +#define MAPBOX_GEOMETRY_DISABLE_WARNING(warningNumber) __pragma(warning(disable \ + : warningNumber)) + +// add warnings to deactivate here +// example: #define DISABLE_WARNING_UNREFERENCED_FORMAL_PARAMETER MAPBOX_GEOMETRY_DISABLE_WARNING(4100) +#define MAPBOX_GEOMETRY_DISABLE_WARNING_FLOAT_EQUAL //MAPBOX_GEOMETRY_DISABLE_WARNING(??) - // add warnings to deactivate here - // example: #define DISABLE_WARNING_UNREFERENCED_FORMAL_PARAMETER MAPBOX_GEOMETRY_DISABLE_WARNING(4100) - #define MAPBOX_GEOMETRY_DISABLE_WARNING_FLOAT_EQUAL //MAPBOX_GEOMETRY_DISABLE_WARNING(??) - #elif defined(__GNUC__) || defined(__clang__) - #define MAPBOX_GEOMETRY_DO_PRAGMA(X) _Pragma(#X) - #define MAPBOX_GEOMETRY_DISABLE_WARNING_PUSH MAPBOX_GEOMETRY_DO_PRAGMA(GCC diagnostic push) - #define MAPBOX_GEOMETRY_DISABLE_WARNING_POP MAPBOX_GEOMETRY_DO_PRAGMA(GCC diagnostic pop) - #define MAPBOX_GEOMETRY_DISABLE_WARNING(warningName) MAPBOX_GEOMETRY_DO_PRAGMA(GCC diagnostic ignored #warningName) - // add warnings to deactivate here - // example: #define DISABLE_WARNING_UNREFERENCED_FORMAL_PARAMETER MAPBOX_GEOMETRY_DISABLE_WARNING(-Wunused-parameter) - #define MAPBOX_GEOMETRY_DISABLE_WARNING_FLOAT_EQUAL MAPBOX_GEOMETRY_DISABLE_WARNING(-Wfloat-equal) +#define MAPBOX_GEOMETRY_DO_PRAGMA(X) _Pragma(#X) +#define MAPBOX_GEOMETRY_DISABLE_WARNING_PUSH MAPBOX_GEOMETRY_DO_PRAGMA(GCC diagnostic push) +#define MAPBOX_GEOMETRY_DISABLE_WARNING_POP MAPBOX_GEOMETRY_DO_PRAGMA(GCC diagnostic pop) +#define MAPBOX_GEOMETRY_DISABLE_WARNING(warningName) MAPBOX_GEOMETRY_DO_PRAGMA(GCC diagnostic ignored #warningName) +// add warnings to deactivate here +// example: #define DISABLE_WARNING_UNREFERENCED_FORMAL_PARAMETER MAPBOX_GEOMETRY_DISABLE_WARNING(-Wunused-parameter) +#define MAPBOX_GEOMETRY_DISABLE_WARNING_FLOAT_EQUAL MAPBOX_GEOMETRY_DISABLE_WARNING(-Wfloat - equal) #else - #define MAPBOX_GEOMETRY_DISABLE_WARNING_PUSH - #define MAPBOX_GEOMETRY_DISABLE_WARNING_POP - // add all of the above warnings here (will be used if unknown compiler) - #define MAPBOX_GEOMETRY_DISABLE_WARNING_FLOAT_EQUAL +#define MAPBOX_GEOMETRY_DISABLE_WARNING_PUSH +#define MAPBOX_GEOMETRY_DISABLE_WARNING_POP +// add all of the above warnings here (will be used if unknown compiler) +#define MAPBOX_GEOMETRY_DISABLE_WARNING_FLOAT_EQUAL #endif #endif From cba2602053ef0490589cb80c71248dca644fd5a9 Mon Sep 17 00:00:00 2001 From: Mathis Logemann Date: Wed, 16 Dec 2020 10:43:10 +0100 Subject: [PATCH 5/8] should fix error due to formatting --- include/mapbox/geometry/warning.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/mapbox/geometry/warning.hpp b/include/mapbox/geometry/warning.hpp index b819f5f..5d28148 100644 --- a/include/mapbox/geometry/warning.hpp +++ b/include/mapbox/geometry/warning.hpp @@ -18,7 +18,7 @@ #define MAPBOX_GEOMETRY_DISABLE_WARNING(warningName) MAPBOX_GEOMETRY_DO_PRAGMA(GCC diagnostic ignored #warningName) // add warnings to deactivate here // example: #define DISABLE_WARNING_UNREFERENCED_FORMAL_PARAMETER MAPBOX_GEOMETRY_DISABLE_WARNING(-Wunused-parameter) -#define MAPBOX_GEOMETRY_DISABLE_WARNING_FLOAT_EQUAL MAPBOX_GEOMETRY_DISABLE_WARNING(-Wfloat - equal) +#define MAPBOX_GEOMETRY_DISABLE_WARNING_FLOAT_EQUAL MAPBOX_GEOMETRY_DISABLE_WARNING(-Wfloat-equal) #else #define MAPBOX_GEOMETRY_DISABLE_WARNING_PUSH #define MAPBOX_GEOMETRY_DISABLE_WARNING_POP From e5d3d37b4cfb89d216162efb7c4b36710e37b155 Mon Sep 17 00:00:00 2001 From: Mathis Logemann Date: Wed, 16 Dec 2020 10:50:36 +0100 Subject: [PATCH 6/8] try disable formatting on line; see https://github.com/mapbox/geometry.hpp/pull/69#issuecomment-746004771 --- include/mapbox/geometry/warning.hpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/mapbox/geometry/warning.hpp b/include/mapbox/geometry/warning.hpp index 5d28148..fe35ee0 100644 --- a/include/mapbox/geometry/warning.hpp +++ b/include/mapbox/geometry/warning.hpp @@ -18,7 +18,10 @@ #define MAPBOX_GEOMETRY_DISABLE_WARNING(warningName) MAPBOX_GEOMETRY_DO_PRAGMA(GCC diagnostic ignored #warningName) // add warnings to deactivate here // example: #define DISABLE_WARNING_UNREFERENCED_FORMAL_PARAMETER MAPBOX_GEOMETRY_DISABLE_WARNING(-Wunused-parameter) +// disable clang-format for the next line since the waring definition would be formatted. +// clang-format off #define MAPBOX_GEOMETRY_DISABLE_WARNING_FLOAT_EQUAL MAPBOX_GEOMETRY_DISABLE_WARNING(-Wfloat-equal) +// clang-format on #else #define MAPBOX_GEOMETRY_DISABLE_WARNING_PUSH #define MAPBOX_GEOMETRY_DISABLE_WARNING_POP From 48a22734029da78ed6ef73421a18b7ea7407aa80 Mon Sep 17 00:00:00 2001 From: Mathis Logemann Date: Wed, 16 Dec 2020 10:56:04 +0100 Subject: [PATCH 7/8] fix formatting take 2 --- include/mapbox/geometry/warning.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/mapbox/geometry/warning.hpp b/include/mapbox/geometry/warning.hpp index fe35ee0..f36a086 100644 --- a/include/mapbox/geometry/warning.hpp +++ b/include/mapbox/geometry/warning.hpp @@ -18,7 +18,7 @@ #define MAPBOX_GEOMETRY_DISABLE_WARNING(warningName) MAPBOX_GEOMETRY_DO_PRAGMA(GCC diagnostic ignored #warningName) // add warnings to deactivate here // example: #define DISABLE_WARNING_UNREFERENCED_FORMAL_PARAMETER MAPBOX_GEOMETRY_DISABLE_WARNING(-Wunused-parameter) -// disable clang-format for the next line since the waring definition would be formatted. +// disable clang-format for the next line since the waring definition would be formatted. // clang-format off #define MAPBOX_GEOMETRY_DISABLE_WARNING_FLOAT_EQUAL MAPBOX_GEOMETRY_DISABLE_WARNING(-Wfloat-equal) // clang-format on From f6eb6ad4fb8435e23001e4c88afef22502fd8ec1 Mon Sep 17 00:00:00 2001 From: Mathis Logemann Date: Wed, 16 Dec 2020 11:00:10 +0100 Subject: [PATCH 8/8] fix formatting take 3 --- include/mapbox/feature.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/mapbox/feature.hpp b/include/mapbox/feature.hpp index ccad8b6..832216a 100644 --- a/include/mapbox/feature.hpp +++ b/include/mapbox/feature.hpp @@ -18,14 +18,14 @@ namespace feature { struct equal_comp_shared_ptr { -MAPBOX_GEOMETRY_DISABLE_WARNING_PUSH -MAPBOX_GEOMETRY_DISABLE_WARNING_FLOAT_EQUAL + MAPBOX_GEOMETRY_DISABLE_WARNING_PUSH + MAPBOX_GEOMETRY_DISABLE_WARNING_FLOAT_EQUAL template bool operator()(T const& lhs, T const& rhs) const { return lhs == rhs; } -MAPBOX_GEOMETRY_DISABLE_WARNING_POP + MAPBOX_GEOMETRY_DISABLE_WARNING_POP template bool operator()(std::shared_ptr const& lhs, std::shared_ptr const& rhs) const