diff --git a/src/Magnum/Math/Test/FunctionsTest.cpp b/src/Magnum/Math/Test/FunctionsTest.cpp index 95b71cbee..131dee2f3 100644 --- a/src/Magnum/Math/Test/FunctionsTest.cpp +++ b/src/Magnum/Math/Test/FunctionsTest.cpp @@ -319,7 +319,12 @@ void FunctionsTest::denormalizeUnsigned() { CORRADE_COMPARE(Math::denormalize(1.0), std::numeric_limits::max()); CORRADE_COMPARE(Math::denormalize(0.0l), 0); - CORRADE_COMPARE(Math::denormalize(1.0l), std::numeric_limits::max()); + { + #ifdef CORRADE_MSVC2015_COMPATIBILITY + CORRADE_EXPECT_FAIL("Long double (de)normalization is broken on MSVC <= 2015."); + #endif + CORRADE_COMPARE(Math::denormalize(1.0l), std::numeric_limits::max()); + } #endif CORRADE_COMPARE(Math::denormalize(0.33f), 21626); @@ -342,9 +347,19 @@ void FunctionsTest::denormalizeSigned() { CORRADE_COMPARE(Math::denormalize(0.0), 0); CORRADE_COMPARE(Math::denormalize(1.0), std::numeric_limits::max()); - CORRADE_COMPARE(Math::denormalize(-1.0l), std::numeric_limits::min()+1); + { + #ifdef CORRADE_MSVC2015_COMPATIBILITY + CORRADE_EXPECT_FAIL("Long double (de)normalization is broken on MSVC <= 2015."); + #endif + CORRADE_COMPARE(Math::denormalize(-1.0l), std::numeric_limits::min()+1); + } CORRADE_COMPARE(Math::denormalize(0.0l), 0); - CORRADE_COMPARE(Math::denormalize(1.0l), std::numeric_limits::max()); + { + #ifdef CORRADE_MSVC2015_COMPATIBILITY + CORRADE_EXPECT_FAIL("Long double (de)normalization is broken on MSVC <= 2015."); + #endif + CORRADE_COMPARE(Math::denormalize(1.0l), std::numeric_limits::max()); + } #endif CORRADE_COMPARE(Math::denormalize(-0.33f), -10813); @@ -365,7 +380,12 @@ void FunctionsTest::renormalizeUnsinged() { CORRADE_COMPARE(Math::normalize(Math::denormalize(1.0)), 1.0); CORRADE_COMPARE(Math::normalize(Math::denormalize(0.0l)), 0.0l); - CORRADE_COMPARE(Math::normalize(Math::denormalize(1.0l)), 1.0l); + { + #ifdef CORRADE_MSVC2015_COMPATIBILITY + CORRADE_EXPECT_FAIL("Long double (de)normalization is broken on MSVC <= 2015."); + #endif + CORRADE_COMPARE(Math::normalize(Math::denormalize(1.0l)), 1.0l); + } #endif } @@ -385,7 +405,12 @@ void FunctionsTest::renormalizeSinged() { CORRADE_COMPARE(Math::normalize(Math::denormalize(-1.0l)), -1.0l); CORRADE_COMPARE(Math::normalize(Math::denormalize(0.0l)), 0.0l); - CORRADE_COMPARE(Math::normalize(Math::denormalize(1.0l)), 1.0l); + { + #ifdef CORRADE_MSVC2015_COMPATIBILITY + CORRADE_EXPECT_FAIL("Long double (de)normalization is broken on MSVC <= 2015."); + #endif + CORRADE_COMPARE(Math::normalize(Math::denormalize(1.0l)), 1.0l); + } #endif }