diff --git a/src/MagnumExternal/Optional/optional.hpp b/src/MagnumExternal/Optional/optional.hpp index e837628b3..a76970852 100644 --- a/src/MagnumExternal/Optional/optional.hpp +++ b/src/MagnumExternal/Optional/optional.hpp @@ -55,6 +55,8 @@ namespace std{ // leave it; our metafunctions are already defined. # elif (defined __clang__) && ((__clang_major__ > 3) || (__clang_major__ == 3) && (__clang_minor__ >= 3)) // leave it; our metafunctions are already defined. +# elif (defined _MSC_VER) && _MSC_VER >= 1800 + // leave it; our metafunctions are already defined. # else # if OPTIONAL_HAS_USING @@ -67,6 +69,8 @@ using is_trivially_destructible = typename std::has_trivial_destructor; // leave it; remaining metafunctions are already defined. # elif defined __clang__ // leave it; remaining metafunctions are already defined. +# elif (defined _MSC_VER) && _MSC_VER >= 1900 + // leave it; our metafunctions are already defined. # else @@ -155,6 +159,8 @@ template inline constexpr typename std::remove_reference::type&& co __assert(expr, file, line); # elif defined __GNUC__ _assert(expr, file, line); + # elif defined _MSC_VER + _CrtDbgReport(_CRT_ASSERT, file, line, expr, ""); # else # error UNSUPPORTED COMPILER # endif