diff --git a/example/experimental_angle.cpp b/example/experimental_angle.cpp index bfadba83..4d04fbe6 100644 --- a/example/experimental_angle.cpp +++ b/example/experimental_angle.cpp @@ -21,17 +21,18 @@ // SOFTWARE. #include // IWYU pragma: keep + +UNITS_DIAGNOSTIC_PUSH +UNITS_DIAGNOSTIC_IGNORE_SHADOW #include #include #include #include #include // IWYU pragma: keep #include -#include +UNITS_DIAGNOSTIC_POP -#if defined(UNITS_COMP_MSVC) -#pragma warning( disable : 4459 ) // Disable shadowing warning. -#endif +#include int main() { diff --git a/example/geographic.h b/example/geographic.h index 183ff971..430e1fbb 100644 --- a/example/geographic.h +++ b/example/geographic.h @@ -24,7 +24,12 @@ #include #include + +UNITS_DIAGNOSTIC_PUSH +UNITS_DIAGNOSTIC_IGNORE_UNREACHABLE #include +UNITS_DIAGNOSTIC_POP + #include #include diff --git a/example/glide_computer_example.cpp b/example/glide_computer_example.cpp index 0362a66f..50d67dfa 100644 --- a/example/glide_computer_example.cpp +++ b/example/glide_computer_example.cpp @@ -25,7 +25,12 @@ #include #include #include + +UNITS_DIAGNOSTIC_PUSH +UNITS_DIAGNOSTIC_IGNORE_UNREACHABLE #include +UNITS_DIAGNOSTIC_POP + #include #include #include diff --git a/src/core-fmt/include/units/format.h b/src/core-fmt/include/units/format.h index 259a0456..fffe12d4 100644 --- a/src/core-fmt/include/units/format.h +++ b/src/core-fmt/include/units/format.h @@ -26,21 +26,14 @@ #include #include -#ifdef _MSC_VER -#pragma warning (push) -#pragma warning (disable:4702) // C4702: unreachable code -#endif //_MSC_VER - +UNITS_DIAGNOSTIC_PUSH +UNITS_DIAGNOSTIC_IGNORE_UNREACHABLE +UNITS_DIAGNOSTIC_IGNORE_SHADOW // IWYU pragma: begin_exports #include #include // IWYU pragma: end_exports - -// #include - -#ifdef _MSC_VER -#pragma warning (pop) -#endif //_MSC_VER +UNITS_DIAGNOSTIC_POP // Grammar // diff --git a/src/core/include/units/bits/external/hacks.h b/src/core/include/units/bits/external/hacks.h index 2129916a..847293f5 100644 --- a/src/core/include/units/bits/external/hacks.h +++ b/src/core/include/units/bits/external/hacks.h @@ -45,6 +45,7 @@ #define UNITS_DIAGNOSTIC_IGNORE_MISSING_BRACES UNITS_DIAGNOSTIC_IGNORE("-Wmissing-braces") #define UNITS_DIAGNOSTIC_IGNORE_NON_TEMPLATE_FRIEND UNITS_DIAGNOSTIC_IGNORE("-Wnon-template-friend") #define UNITS_DIAGNOSTIC_IGNORE_SHADOW UNITS_DIAGNOSTIC_IGNORE("-Wshadow") +#define UNITS_DIAGNOSTIC_IGNORE_UNREACHABLE #else #define UNITS_DIAGNOSTIC_PUSH UNITS_PRAGMA(warning(push)) #define UNITS_DIAGNOSTIC_POP UNITS_PRAGMA(warning(pop)) @@ -52,7 +53,8 @@ #define UNITS_DIAGNOSTIC_IGNORE(X) UNITS_DIAGNOSTIC_IGNORE_PRAGMAS UNITS_PRAGMA(warning(disable : X)) #define UNITS_DIAGNOSTIC_IGNORE_MISSING_BRACES #define UNITS_DIAGNOSTIC_IGNORE_NON_TEMPLATE_FRIEND -#define UNITS_DIAGNOSTIC_IGNORE_SHADOW +#define UNITS_DIAGNOSTIC_IGNORE_SHADOW UNITS_DIAGNOSTIC_IGNORE(4459) +#define UNITS_DIAGNOSTIC_IGNORE_UNREACHABLE UNITS_DIAGNOSTIC_IGNORE(4702) #endif #if UNITS_COMP_CLANG diff --git a/test/unit_test/runtime/fmt_units_test.cpp b/test/unit_test/runtime/fmt_units_test.cpp index 96c48e48..780b9e5f 100644 --- a/test/unit_test/runtime/fmt_units_test.cpp +++ b/test/unit_test/runtime/fmt_units_test.cpp @@ -21,11 +21,6 @@ // SOFTWARE. #include // IWYU pragma: keep - -#if defined(UNITS_COMP_MSVC) -#pragma warning( disable : 4459 ) // Disable shadowing warning. -#endif - #include #include #include diff --git a/test/unit_test/static/references_test.cpp b/test/unit_test/static/references_test.cpp index 2e4f5bd6..670f0975 100644 --- a/test/unit_test/static/references_test.cpp +++ b/test/unit_test/static/references_test.cpp @@ -27,10 +27,6 @@ #include #include -#if defined(UNITS_COMP_MSVC) -#pragma warning( disable : 4459 ) // Disable shadowing warning. -#endif - using namespace units; using namespace units::isq; using namespace units::isq::si;