From bf938c4fa4124b473a6f83c7b9576b1b7b4d30c5 Mon Sep 17 00:00:00 2001 From: Soham Roy Date: Thu, 14 Oct 2021 17:43:19 +0000 Subject: [PATCH] Implemented correctly, included type_list --- src/core/include/units/bits/external/hacks.h | 4 ++++ src/core/include/units/bits/external/type_list.h | 10 +++------- src/core/include/units/quantity_cast.h | 2 +- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/core/include/units/bits/external/hacks.h b/src/core/include/units/bits/external/hacks.h index f080d05c..126d1b2b 100644 --- a/src/core/include/units/bits/external/hacks.h +++ b/src/core/include/units/bits/external/hacks.h @@ -42,6 +42,8 @@ UNITS_PRAGMA(GCC diagnostic ignored "-Wunknown-pragmas") \ UNITS_PRAGMA(GCC diagnostic ignored "-Wunknown-warning-option") \ UNITS_PRAGMA(GCC diagnostic ignored X) +#define UNITS_DIAGNOSTIC_IGNORE_EXPR_ALWAYS_TF +#define UNITS_DIAGNOSTIC_IGNORE_LOSS_OF_DATA #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") @@ -51,6 +53,8 @@ #define UNITS_DIAGNOSTIC_POP UNITS_PRAGMA(warning(pop)) #define UNITS_DIAGNOSTIC_IGNORE_PRAGMAS UNITS_PRAGMA(warning(disable : 4068)) #define UNITS_DIAGNOSTIC_IGNORE(X) UNITS_DIAGNOSTIC_IGNORE_PRAGMAS UNITS_PRAGMA(warning(disable : X)) +#define UNITS_DIAGNOSTIC_IGNORE_EXPR_ALWAYS_TF UNITS_DIAGNOSTIC_IGNORE(4296) +#define UNITS_DIAGNOSTIC_IGNORE_LOSS_OF_DATA UNITS_DIAGNOSTIC_IGNORE(4244) #define UNITS_DIAGNOSTIC_IGNORE_MISSING_BRACES #define UNITS_DIAGNOSTIC_IGNORE_NON_TEMPLATE_FRIEND #define UNITS_DIAGNOSTIC_IGNORE_SHADOW UNITS_DIAGNOSTIC_IGNORE(4459) diff --git a/src/core/include/units/bits/external/type_list.h b/src/core/include/units/bits/external/type_list.h index 51dc09f5..409e08c1 100644 --- a/src/core/include/units/bits/external/type_list.h +++ b/src/core/include/units/bits/external/type_list.h @@ -26,10 +26,8 @@ #include #include -#ifdef _MSC_VER -#pragma warning (push) -#pragma warning (disable:4296) // warning C4296: '<': expression is always false -#endif //_MSC_VER +UNITS_DIAGNOSTIC_PUSH +UNITS_DIAGNOSTIC_IGNORE_EXPR_ALWAYS_TF namespace units { @@ -223,6 +221,4 @@ using type_list_sort = TYPENAME detail::type_list_sort_impl::type; } // namespace units -#ifdef _MSC_VER -#pragma warning (pop) -#endif //_MSC_VER +UNITS_DIAGNOSTIC_POP diff --git a/src/core/include/units/quantity_cast.h b/src/core/include/units/quantity_cast.h index 2a138884..0af78705 100644 --- a/src/core/include/units/quantity_cast.h +++ b/src/core/include/units/quantity_cast.h @@ -30,7 +30,7 @@ #include UNITS_DIAGNOSTIC_PUSH -UNITS_DIAGNOSTIC_IGNORE(4244) // warning C4244: 'argument': conversion from 'intmax_t' to 'T', possible loss of data with T=int +UNITS_DIAGNOSTIC_IGNORE_LOSS_OF_DATA // warning C4244: 'argument': conversion from 'intmax_t' to 'T', possible loss of data with T=int namespace units {