fix: MSVC Release build fixed + pragmas usage refactored

This commit is contained in:
Mateusz Pusz
2021-03-30 20:00:23 +02:00
parent 8a26eaf420
commit 441db47928
7 changed files with 22 additions and 25 deletions

View File

@@ -21,17 +21,18 @@
// SOFTWARE.
#include <units/bits/external/hacks.h> // IWYU pragma: keep
UNITS_DIAGNOSTIC_PUSH
UNITS_DIAGNOSTIC_IGNORE_SHADOW
#include <units/generic/angle.h>
#include <units/isq/si/energy.h>
#include <units/isq/si/force.h>
#include <units/isq/si/length.h>
#include <units/isq/si/torque.h> // IWYU pragma: keep
#include <units/quantity_io.h>
#include <iostream>
UNITS_DIAGNOSTIC_POP
#if defined(UNITS_COMP_MSVC)
#pragma warning( disable : 4459 ) // Disable shadowing warning.
#endif
#include <iostream>
int main()
{

View File

@@ -24,7 +24,12 @@
#include <units/isq/si/length.h>
#include <units/quantity_kind.h>
UNITS_DIAGNOSTIC_PUSH
UNITS_DIAGNOSTIC_IGNORE_UNREACHABLE
#include <fmt/format.h>
UNITS_DIAGNOSTIC_POP
#include <limits>
#include <ostream>

View File

@@ -25,7 +25,12 @@
#include <units/chrono.h>
#include <units/generic/dimensionless.h>
#include <units/isq/si/international/length.h>
UNITS_DIAGNOSTIC_PUSH
UNITS_DIAGNOSTIC_IGNORE_UNREACHABLE
#include <fmt/format.h>
UNITS_DIAGNOSTIC_POP
#include <array>
#include <exception>
#include <iostream>

View File

@@ -26,21 +26,14 @@
#include <units/quantity.h>
#include <string_view>
#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 <fmt/format.h>
#include <fmt/locale.h>
// IWYU pragma: end_exports
// #include <string>
#ifdef _MSC_VER
#pragma warning (pop)
#endif //_MSC_VER
UNITS_DIAGNOSTIC_POP
// Grammar
//

View File

@@ -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

View File

@@ -21,11 +21,6 @@
// SOFTWARE.
#include <units/bits/external/hacks.h> // IWYU pragma: keep
#if defined(UNITS_COMP_MSVC)
#pragma warning( disable : 4459 ) // Disable shadowing warning.
#endif
#include <units/format.h>
#include <units/isq/iec80000/iec80000.h>
#include <units/isq/si/iau/iau.h>

View File

@@ -27,10 +27,6 @@
#include <units/isq/si/speed.h>
#include <units/isq/si/time.h>
#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;