vcpkg/ports/hpx/boost-1.69.patch
Andrew McMahon 0e759709dd [boost] update boost to 1.69. Fixes #5023 #4961 (#5059)
* Update boost to 1.69. Fixes #5023

- Remove boost-signal (rationale: deprecated and removed in 1.69)
- Remove boost-hana workaround by xiangfan-ms #4186 #3579 (rationale: 1.69 incorporates required fixes in hana master branch; builds fine in VS2017 15.9)

* [boost-signals] Restore signals from boost 1.68 because it is required by wt

* [boost-vcpkg-helpers] Improve dependency detection

* [boost-iostreams] Revert to cmake build to enable dependencies

* [boost-iostreams] Fix use of zstd in static builds

* [libtorrent] Update to 1.2.0

* [wt] Update to 4.0.5

* [boost-safe-numerics] [boost-vcpkg-helpers] Added safe_numerics; slight mod to regex match

* [hpx] Backport boost 1.69 fixes

* [libtorrent] Clean up cmake file installation

* [boost-type-traits] Fix MSVC arm
2019-01-30 16:04:17 -08:00

37 lines
1.5 KiB
Diff

diff --git a/hpx/exception.hpp b/hpx/exception.hpp
index 0c818088c7b..3eeaa579131 100644
--- a/hpx/exception.hpp
+++ b/hpx/exception.hpp
@@ -50,6 +50,12 @@ namespace hpx
/// Construct a hpx::exception from a boost#system_error.
explicit exception(boost::system::system_error const& e);
+ /// Construct a hpx::exception from a boost#system#error_code (this is
+ /// new for Boost V1.69). This constructor is required to compensate
+ /// for the changes introduced as a resolution to LWG3162
+ /// (https://cplusplus.github.io/LWG/issue3162).
+ explicit exception(boost::system::error_code const& e);
+
/// Construct a hpx::exception from a \a hpx::error and an error message.
///
/// \param e The parameter \p e holds the hpx::error code the new
diff --git a/src/exception.cpp b/src/exception.cpp
index 52c1cceba6b..cb6535fd008 100644
--- a/src/exception.cpp
+++ b/src/exception.cpp
@@ -89,6 +89,14 @@ namespace hpx
LERR_(error) << "created exception: " << this->what();
}
+ /// Construct a hpx::exception from a boost#system#error_code (this is
+ /// new for Boost V1.69).
+ exception::exception(boost::system::error_code const& e)
+ : boost::system::system_error(e)
+ {
+ LERR_(error) << "created exception: " << this->what();
+ }
+
/// Construct a hpx::exception from a \a hpx::error and an error message.
///
/// \param e The parameter \p e holds the hpx::error code the new