From a49cda65230c0094148fc7dddd70eac2c3ed418e Mon Sep 17 00:00:00 2001 From: Alexander Alekhin Date: Thu, 28 Oct 2021 21:32:47 +0000 Subject: [PATCH] core: eliminate Winvalid-noreturn in base.hpp --- modules/core/include/opencv2/core/base.hpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/modules/core/include/opencv2/core/base.hpp b/modules/core/include/opencv2/core/base.hpp index 12504974d9..19d496080c 100644 --- a/modules/core/include/opencv2/core/base.hpp +++ b/modules/core/include/opencv2/core/base.hpp @@ -297,7 +297,10 @@ It is possible to alternate error processing by using redirectError(). */ CV_EXPORTS void error(int _code, const String& _err, const char* _func, const char* _file, int _line); -#ifdef __GNUC__ +#if defined(__clang__) && defined(_MSC_VER) // MSVC-Clang +# pragma clang diagnostic push +# pragma clang diagnostic ignored "-Winvalid-noreturn" +#elif defined(__GNUC__) # if defined __clang__ || defined __APPLE__ # pragma GCC diagnostic push # pragma GCC diagnostic ignored "-Winvalid-noreturn" @@ -316,7 +319,10 @@ CV_INLINE CV_NORETURN void errorNoReturn(int _code, const String& _err, const ch # endif #endif } -#ifdef __GNUC__ + +#if defined(__clang__) && defined(_MSC_VER) // MSVC-Clang +# pragma clang diagnostic pop +#elif defined(__GNUC__) # if defined __clang__ || defined __APPLE__ # pragma GCC diagnostic pop # endif