From 120b35fde2281d14f528404b7a7c188e5acf46d0 Mon Sep 17 00:00:00 2001 From: Emil Dotchevski Date: Sun, 9 Feb 2020 16:41:30 -0800 Subject: [PATCH 1/4] AppVeyor --- appveyor.yml | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 appveyor.yml diff --git a/appveyor.yml b/appveyor.yml new file mode 100644 index 0000000..91461b4 --- /dev/null +++ b/appveyor.yml @@ -0,0 +1,73 @@ +# Copyright 2016-2019 Peter Dimov +# Distributed under the Boost Software License, Version 1.0. +# (See accompanying file LICENSE_1_0.txt or copy at http://boost.org/LICENSE_1_0.txt) + +version: 1.0.{build}-{branch} + +shallow_clone: true + +branches: + only: + - master + - develop + - /feature\/.*/ + +environment: + matrix: + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 + TOOLSET: msvc-9.0,msvc-10.0,msvc-11.0 + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 + TOOLSET: msvc-12.0,msvc-14.0 + ADDRMD: 32,64 + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + TOOLSET: msvc-14.1 + CXXSTD: 14,17 + ADDRMD: 32,64 + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2017 + TOOLSET: clang-win + CXXSTD: 14,17 + ADDRMD: 64 + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2019 + TOOLSET: msvc-14.2 + CXXSTD: 14,17 + ADDRMD: 32,64 + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 + ADDPATH: C:\cygwin\bin; + TOOLSET: gcc + CXXSTD: 03,11,14,1z + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 + ADDPATH: C:\cygwin64\bin; + TOOLSET: gcc + CXXSTD: 03,11,14,1z + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 + ADDPATH: C:\mingw\bin; + TOOLSET: gcc + CXXSTD: 03,11,14,1z + - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 + ADDPATH: C:\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin; + TOOLSET: gcc + CXXSTD: 03,11,14,1z + +install: + - set BOOST_BRANCH=develop + - if "%APPVEYOR_REPO_BRANCH%" == "master" set BOOST_BRANCH=master + - cd .. + - git clone -b %BOOST_BRANCH% --depth 1 https://github.com/boostorg/boost.git boost-root + - cd boost-root + - git submodule update --init tools/build + - git submodule update --init tools/boost_install + - git submodule update --init libs/config + - git submodule update --init libs/headers + - git submodule update --init tools/boostdep + - xcopy /s /e /q %APPVEYOR_BUILD_FOLDER% libs\exception\ + - python tools/boostdep/depinst/depinst.py exception + - cmd /c bootstrap + - b2 headers + +build: off + +test_script: + - PATH=%ADDPATH%%PATH% + - if not "%CXXSTD%" == "" set CXXSTD=cxxstd=%CXXSTD% + - if not "%ADDRMD%" == "" set ADDRMD=address-model=%ADDRMD% + - b2 -j3 libs/exception/test toolset=%TOOLSET% %CXXSTD% %ADDRMD% variant=debug,release From 93692697ef2ffd1640eead54b2501fac927f776d Mon Sep 17 00:00:00 2001 From: Emil Dotchevski Date: Sun, 9 Feb 2020 16:52:49 -0800 Subject: [PATCH 2/4] Fixing MSVC-11 compilation error, thanks Lastique --- include/boost/exception/detail/exception_ptr.hpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/include/boost/exception/detail/exception_ptr.hpp b/include/boost/exception/detail/exception_ptr.hpp index fe8a06c..26b365a 100644 --- a/include/boost/exception/detail/exception_ptr.hpp +++ b/include/boost/exception/detail/exception_ptr.hpp @@ -304,6 +304,16 @@ boost std_exception_ptr_wrapper { std::exception_ptr p; + explicit std_exception_ptr_wrapper( std::exception_ptr const & ptr ) BOOST_NOEXCEPT: + p(ptr) + { + } +#ifndef BOOST_NO_CXX11_RVALUE_REFERENCES + explicit std_exception_ptr_wrapper( std::exception_ptr && ptr ) BOOST_NOEXCEPT: + p(static_cast(ptr)) + { + } +#endif }; #endif @@ -441,7 +451,7 @@ boost { // wrap the std::exception_ptr in a clone-enabled Boost.Exception object exception_detail::clone_base const & base = - boost::enable_current_exception(std_exception_ptr_wrapper{std::current_exception()}); + boost::enable_current_exception(std_exception_ptr_wrapper(std::current_exception())); return exception_ptr(shared_ptr(base.clone())); } catch( From bd1a6ee1bb0511ca65cc2371e5b84acd883d8035 Mon Sep 17 00:00:00 2001 From: Emil Dotchevski Date: Sun, 9 Feb 2020 20:56:10 -0800 Subject: [PATCH 3/4] Removed broken appveyor configuration --- appveyor.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index 91461b4..362c665 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -35,10 +35,6 @@ environment: ADDPATH: C:\cygwin\bin; TOOLSET: gcc CXXSTD: 03,11,14,1z - - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 - ADDPATH: C:\cygwin64\bin; - TOOLSET: gcc - CXXSTD: 03,11,14,1z - APPVEYOR_BUILD_WORKER_IMAGE: Visual Studio 2015 ADDPATH: C:\mingw\bin; TOOLSET: gcc From 0353b975f8f77b03955aa0a206aaa9e01a1818dd Mon Sep 17 00:00:00 2001 From: Andrey Semashev Date: Mon, 10 Feb 2020 08:01:10 +0300 Subject: [PATCH 4/4] Fix MSVC-11 compilation error. (#30) The compiler supports std::exception_ptr but does not support uniform initialization syntax. Co-authored-by: Emil Dotchevski