aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2018-02-15 09:17:12 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2018-02-15 09:17:12 +0200
commit7249a98c9a8038f00763a98fe3f472c8c7120a3a (patch)
tree5b7371a5ba7949c709ec7526daf2f583b6a4e105
parent8d1735e04faadaa6765c71b12a96188e6d56c9fa (diff)
Add support for VC15u6
-rw-r--r--build2/cc/guess.cxx4
-rw-r--r--build2/function.hxx2
-rw-r--r--build2/test/script/regex.hxx6
3 files changed, 7 insertions, 5 deletions
diff --git a/build2/cc/guess.cxx b/build2/cc/guess.cxx
index 9299885..233bf53 100644
--- a/build2/cc/guess.cxx
+++ b/build2/cc/guess.cxx
@@ -1343,6 +1343,7 @@ namespace build2
//
// year ver cl.exe crt/dll
//
+ // 2017 15u6 19.13 14.1/140
// 2017 15u5 19.12 14.1/140
// 2017 15u3 19.11 14.1/140
// 2017 15 19.10 14.1/140
@@ -1354,7 +1355,8 @@ namespace build2
// 2005 8 14.00 8.0/80
// 2003 7.1 13.10 7.1/71
//
- /**/ if (v.major == 19 && v.minor == 12) t += "14.1";
+ /**/ if (v.major == 19 && v.minor == 13) t += "14.1";
+ else if (v.major == 19 && v.minor == 12) t += "14.1";
else if (v.major == 19 && v.minor == 11) t += "14.1";
else if (v.major == 19 && v.minor == 10) t += "14.1";
else if (v.major == 19 && v.minor == 0) t += "14.0";
diff --git a/build2/function.hxx b/build2/function.hxx
index 45fe4e8..7b49a90 100644
--- a/build2/function.hxx
+++ b/build2/function.hxx
@@ -125,7 +125,7 @@ namespace build2
// std::is_pod appears to be broken in VC15 and also in GCC up to
// 5 (pointers to members).
//
-#if !((defined(_MSC_VER) && _MSC_VER <= 1912) || \
+#if !((defined(_MSC_VER) && _MSC_VER <= 1913) || \
(defined(__GNUC__) && !defined(__clang__) && __GNUC__ <= 5))
static_assert (std::is_pod<D>::value, "type is not POD");
#endif
diff --git a/build2/test/script/regex.hxx b/build2/test/script/regex.hxx
index a3a0d2d..cc1ac04 100644
--- a/build2/test/script/regex.hxx
+++ b/build2/test/script/regex.hxx
@@ -424,7 +424,7 @@ namespace std
//
template <>
class ctype<build2::test::script::regex::line_char>: public ctype_base
-#if !defined(_MSC_VER) || _MSC_VER > 1912
+#if !defined(_MSC_VER) || _MSC_VER > 1913
, public locale::facet
#endif
{
@@ -437,7 +437,7 @@ namespace std
static locale::id id;
-#if !defined(_MSC_VER) || _MSC_VER > 1912
+#if !defined(_MSC_VER) || _MSC_VER > 1913
explicit
ctype (size_t refs = 0): locale::facet (refs) {}
#else
@@ -520,7 +520,7 @@ namespace std
// Workaround for msvcrt bugs. For some reason it assumes such a members
// to be present in a regex_traits specialization.
//
-#if defined(_MSC_VER) && _MSC_VER <= 1912
+#if defined(_MSC_VER) && _MSC_VER <= 1913
static const ctype_base::mask _Ch_upper = ctype_base::upper;
static const ctype_base::mask _Ch_alpha = ctype_base::alpha;