Skip to content

Commit 2b08430

Browse files
committed
Autodetect RAPIDJSON_HAS_CXX11_NOEXCEPT and RAPIDJSON_HAS_CXX11_TYPETRAITS for Visual Studio
1 parent c0daf75 commit 2b08430

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

include/rapidjson/rapidjson.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -560,8 +560,8 @@ RAPIDJSON_NAMESPACE_END
560560
#ifndef RAPIDJSON_HAS_CXX11_NOEXCEPT
561561
#if defined(__clang__)
562562
#define RAPIDJSON_HAS_CXX11_NOEXCEPT __has_feature(cxx_noexcept)
563-
#elif (defined(RAPIDJSON_GNUC) && (RAPIDJSON_GNUC >= RAPIDJSON_VERSION_CODE(4,6,0)) && defined(__GXX_EXPERIMENTAL_CXX0X__))
564-
// (defined(_MSC_VER) && _MSC_VER >= ????) // not yet supported
563+
#elif (defined(RAPIDJSON_GNUC) && (RAPIDJSON_GNUC >= RAPIDJSON_VERSION_CODE(4,6,0)) && defined(__GXX_EXPERIMENTAL_CXX0X__)) || \
564+
(defined(_MSC_VER) && _MSC_VER >= 1900)
565565
#define RAPIDJSON_HAS_CXX11_NOEXCEPT 1
566566
#else
567567
#define RAPIDJSON_HAS_CXX11_NOEXCEPT 0
@@ -575,8 +575,12 @@ RAPIDJSON_NAMESPACE_END
575575

576576
// no automatic detection, yet
577577
#ifndef RAPIDJSON_HAS_CXX11_TYPETRAITS
578+
#if (defined(_MSC_VER) && _MSC_VER >= 1700)
579+
#define RAPIDJSON_HAS_CXX11_TYPETRAITS 1
580+
#else
578581
#define RAPIDJSON_HAS_CXX11_TYPETRAITS 0
579582
#endif
583+
#endif
580584

581585
#ifndef RAPIDJSON_HAS_CXX11_RANGE_FOR
582586
#if defined(__clang__)

0 commit comments

Comments
 (0)