diff --git a/.travis.yml b/.travis.yml index 8b9ba53ee..0d7026b0a 100644 --- a/.travis.yml +++ b/.travis.yml @@ -207,6 +207,27 @@ matrix: env: LLVM_VERSION=3.8.1 compiler: clang +# - os: linux +# addons: +# apt: +# sources: llvm-toolchain-trusty-3.9 +# packages: clang-3.9 +# env: COMPILER=clang++-3.9 +# +# - os: linux +# addons: +# apt: +# sources: llvm-toolchain-trusty-4.0 +# packages: clang-4.0 +# env: COMPILER=clang++-4.0 +# +# - os: linux +# addons: +# apt: +# sources: llvm-toolchain-trusty +# packages: clang-5.0 +# env: COMPILER=clang++-5.0 + ##################### # installation step # ##################### diff --git a/README.md b/README.md index f8174fa8a..265ec06f1 100644 --- a/README.md +++ b/README.md @@ -841,7 +841,7 @@ Thanks a lot for helping out! Please [let me know](mailto:mail@nlohmann.me) if I ## Used third-party tools -The library itself contains of a single header file licensed under the MIT license. However, it is built, tested, documented, and whatnot using a lot of thirs-party tools and services. Thanks a lot! +The library itself contains of a single header file licensed under the MIT license. However, it is built, tested, documented, and whatnot using a lot of third-party tools and services. Thanks a lot! - [**American fuzzy lop**](http://lcamtuf.coredump.cx/afl/) for fuzz testing - [**AppVeyor**](https://www.appveyor.com) for [continuous integration](https://ci.appveyor.com/project/nlohmann/json) on Windows diff --git a/appveyor.yml b/appveyor.yml index fc410e451..4f423e2f2 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -1,12 +1,27 @@ version: '{build}' + os: -- Visual Studio 2015 -- Visual Studio 2017 + - Visual Studio 2015 + - Visual Studio 2017 + +environment: + matrix: + - additional_flags: "" + - additional_flags: "/permissive- /std:c++latest /utf-8" + +matrix: + exclude: + - additional_flags: "/permissive- /std:c++latest /utf-8" + os: Visual Studio 2015 + init: [] + install: [] + build_script: -- IF "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2015" ( SET GEN="Visual Studio 14 2015") ELSE (SET GEN="Visual Studio 15 2017") -- cmake . -G%GEN% -- cmake --build . --config Release + - IF "%APPVEYOR_BUILD_WORKER_IMAGE%" == "Visual Studio 2015" ( SET GEN="Visual Studio 14 2015") ELSE (SET GEN="Visual Studio 15 2017") + - cmake . -G%GEN% -DCMAKE_CXX_FLAGS="%additional_flags%" + - cmake --build . --config Release + test_script: -- ctest -C Release -V + - ctest -C Release -V diff --git a/src/json.hpp b/src/json.hpp index eab01519d..2fcb368e3 100644 --- a/src/json.hpp +++ b/src/json.hpp @@ -3739,6 +3739,9 @@ class basic_json not std::is_same::value #ifndef _MSC_VER // fix for issue #167 operator<< ambiguity under VS2015 and not std::is_same>::value +#endif +#if defined(_MSC_VER) && defined(_HAS_CXX17) && _HAS_CXX17 == 1 // fix for issue #464 + and not std::is_same::value #endif , int >::type = 0 > operator ValueType() const