mirror of
https://github.com/boostorg/exception.git
synced 2025-07-30 04:27:18 +02:00
Merge branch 'develop'
This commit is contained in:
69
appveyor.yml
Normal file
69
appveyor.yml
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
# 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:\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
|
@ -304,6 +304,16 @@ boost
|
|||||||
std_exception_ptr_wrapper
|
std_exception_ptr_wrapper
|
||||||
{
|
{
|
||||||
std::exception_ptr p;
|
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<std::exception_ptr &&>(ptr))
|
||||||
|
{
|
||||||
|
}
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -441,7 +451,7 @@ boost
|
|||||||
{
|
{
|
||||||
// wrap the std::exception_ptr in a clone-enabled Boost.Exception object
|
// wrap the std::exception_ptr in a clone-enabled Boost.Exception object
|
||||||
exception_detail::clone_base const & base =
|
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<exception_detail::clone_base const>(base.clone()));
|
return exception_ptr(shared_ptr<exception_detail::clone_base const>(base.clone()));
|
||||||
}
|
}
|
||||||
catch(
|
catch(
|
||||||
|
Reference in New Issue
Block a user