530 Commits

Author SHA1 Message Date
Emil Dotchevski 38769cfd6b Installing g++-11 in GHA/Ubuntu-20.0.4 2021-09-30 18:48:42 -07:00
Emil Dotchevski fdfd8f49fb Removing Ubuntu 16.04 from GHA 2021-09-30 18:43:37 -07:00
Emil Dotchevski c5367711b7 exception_ptr ctor for std::exception_ptr 2021-09-29 22:25:22 -07:00
Peter Dimov 3ae756dd49 Make library STATIC, remove unnecessary compile definitions boost-1.77.0.beta1 boost-1.77.0 2021-06-10 04:35:48 +03:00
Peter Dimov f93f374607 Regenerate CMakeLists.txt 2021-06-10 04:34:05 +03:00
Peter Dimov 5a5434e6e8 Update CMakeLists.txt 2021-06-10 01:14:07 +03:00
Emil Dotchevski 21f522e4b6 Pointing throw_exception documentation to Boost.ThrowException. 2021-02-16 22:56:32 -08:00
Emil Dotchevski 20c833978f Fix and unit test for issue #37 boost-1.76.0.beta1 boost-1.76.0 2021-02-11 16:02:14 -08:00
Edward Diener e69635b1a7 [skip ci] Add "cxxstd" json field. The "cxxstd" json field is being added to each Boost library's meta json information for libraries in order to specify the minumum C++ standard compilation level. The value of this field matches one of the values for 'cxxstd' in Boost.Build. The purpose of doing this is to provide information for the Boost website documentation for each library which will specify the minimum C++ standard compilation that an end-user must employ in order to use the particular library. This will aid end-users who want to know if they can successfully use a Boost library based on their C++ compiler's compilation level, without having to search the library's documentation to find this out. (#36) 2021-01-19 17:33:31 -08:00
Sam Darwin 7c29501d59 add drone config [ci skip] (#35) 2021-01-07 23:36:55 -08:00
Emil Dotchevski 5abcc9fb50 Adding license file 2020-12-23 18:45:12 -08:00
Emil Dotchevski 18ace4a260 Updated documentation link in README.md 2020-12-23 18:44:11 -08:00
Emil Dotchevski d133df008f README.md with a link to documentation 2020-12-22 23:37:51 -08:00
Emil Dotchevski fdf1fee658 Added a link to LEAF in boost-exception.html 2020-12-22 19:13:46 -08:00
Emil Dotchevski c445901088 GHA CI 2020-12-22 17:26:53 -08:00
Emil Dotchevski 083cfbafa3 Merge branch 'develop' of https://github.com/boostorg/exception into develop 2020-12-19 14:02:04 -08:00
Emil Dotchevski 8be818bc44 Added link to Boost LEAF 2020-12-19 14:01:57 -08:00
Peter Dimov 6a32b36566 Qualify call to copy_exception, because msvc-10.0 has std::copy_exception 2020-12-19 14:50:51 +02:00
Emil Dotchevski 9bd0584aa9 Fixed multi-thread bug introduced by the previous change to copy_exception. boost-1.75.0.beta1 boost-1.75.0 2020-08-14 19:42:29 -07:00
Emil Dotchevski 0016f52fba asan 2020-08-12 16:03:51 -07:00
Emil Dotchevski 7e8f0cd9bb copy_exception/make_exception_ptr implemented via wrapexcept rather than throw/catch 2020-08-11 19:40:30 -07:00
Emil Dotchevski 330008445c make_exception_ptr 2020-07-06 17:09:06 -07:00
Andrey Semashev 63b57749a2 Mark error_info_container_impl final. (#27)
This should allow for better code optimization and also silence
compiler warnings about non-virtual destructor.
boost-1.74.0.beta1 boost-1.74.0
2020-04-30 15:05:51 -07:00
Edward Diener 865cb399d5 Change __CODEGEARC__ to BOOST_CODEGEARC, which is defined in Boost config for the Embarcadero non-clang-based compilers. (#32) 2020-04-30 14:26:21 -07:00
Emil Dotchevski ff0bcc1d85 Added #pragma clang system_header boost-1.73.0 2020-04-06 18:23:52 -07:00
Emil Dotchevski c07417af68 Merge branch 'develop' boost-1.73.0.beta1 2020-02-17 18:58:02 -08:00
Emil Dotchevski 9197b6a880 Updated copyright message 2020-02-17 18:57:47 -08:00
Emil Dotchevski 012921be43 Merge branch 'develop' 2020-02-10 09:52:27 -08:00
Andrey Semashev 0353b975f8 Fix MSVC-11 compilation error. (#30)
The compiler supports std::exception_ptr but does not support uniform
initialization syntax.

Co-authored-by: Emil Dotchevski <emildotchevski@gmail.com>
2020-02-09 21:01:10 -08:00
Emil Dotchevski bd1a6ee1bb Removed broken appveyor configuration 2020-02-09 20:56:10 -08:00
Emil Dotchevski 93692697ef Fixing MSVC-11 compilation error, thanks Lastique 2020-02-09 16:52:49 -08:00
Emil Dotchevski 120b35fde2 AppVeyor 2020-02-09 16:41:30 -08:00
Emil Dotchevski a5a8e865c0 Merge branch 'develop' 2020-01-31 12:02:34 -08:00
Emil Dotchevski 81e9a137eb Added testing for CXXSTD 98, 03 2020-01-29 14:05:11 -08:00
Emil Dotchevski 3f6ff1a8bf std_exception_ptr_wrapper 2020-01-29 14:02:40 -08:00
dmenendez-gruposantander af98afb3d1 Attempt to solve issue #10 (#24)
* Attempt to solve issue #10

In boost::current_exception(), after all supported types of exception have
been checked for, a boost::unknown_exception is stored in the
boost::exception_ptr as a last resort to signal that an exception was indeed
stored, but that the actual type and value of the exception was lost.

Now, in case C++11 std::current_exception() is supported, the
std::exception_ptr result of calling std::current_exception() is what
gets stored inside the boost::exception_ptr. Later, inside
boost::rethrow_exception, the std::exception_ptr is retrieved from
the boost::exception_ptr and whatever exception it stores is thrown via
std::rethrow_exception().

The main benefit is than now any exception thrown via plain 'throw'
can be trasnported via boost::exception_ptr. Before this change it was
required that the throw site either used boost::enable_current_exception()
or boost::throw_exception() or threw an exception type inheriting from
boost::exception, which was impossible for third party software
that does not use Boost.Exception.

The detection of std::current_exception() is currently done via config macro
BOOST_NO_CXX11_NOEXCEPT, assuming that if 'noexcept' is supported then
std::exception_ptr is also supported. A better solution would require a new
dedicated macro in Boost.Config.

* Detect support for std::current_exception() via config macro BOOST_NO_CXX11_HDR_EXCEPTION

The temporary solution via BOOST_NO_CXX11_NOEXCEPT was an ugly hack
that is no longer necessary now that Boost.Config has
BOOST_NO_CXX11_HDR_EXCEPTION (pending merge to develop).

* Attempt to solve issue #10

In boost::current_exception(), after all supported types of exception have
been checked for, a boost::unknown_exception is stored in the
boost::exception_ptr as a last resort to signal that an exception was indeed
stored, but that the actual type and value of the exception was lost.

Now, in case C++11 std::current_exception() is supported, the
std::exception_ptr result of calling std::current_exception() is what
gets stored inside the boost::exception_ptr. Later, inside
boost::rethrow_exception, the std::exception_ptr is retrieved from
the boost::exception_ptr and whatever exception it stores is thrown via
std::rethrow_exception().

The main benefit is than now any exception thrown via plain 'throw'
can be trasnported via boost::exception_ptr. Before this change it was
required that the throw site either used boost::enable_current_exception()
or boost::throw_exception() or threw an exception type inheriting from
boost::exception, which was impossible for third party software
that does not use Boost.Exception.

The detection of std::current_exception() is currently done via config macro
BOOST_NO_CXX11_NOEXCEPT, assuming that if 'noexcept' is supported then
std::exception_ptr is also supported. A better solution would require a new
dedicated macro in Boost.Config.

* Detect support for std::current_exception() via config macro BOOST_NO_CXX11_HDR_EXCEPTION

The temporary solution via BOOST_NO_CXX11_NOEXCEPT was an ugly hack
that is no longer necessary now that Boost.Config has
BOOST_NO_CXX11_HDR_EXCEPTION (pending merge to develop).

* Document detection of C++11 std::current_exception through BOOST_NO_CXX11_HDR_EXCEPTION

* Added dist: trusty for Travis config, as recommended by pdimov in issue #10

* Stupid gcc 4.7 and 4.8 are confused initializing a reference with braces, using equal sign hoping it works (tested similar code on godbolt).
2020-01-29 13:41:48 -08:00
Emil Dotchevski f68cd7b2d4 More g++ testing on travis 2020-01-28 20:11:17 -08:00
Emil Dotchevski e8c57591a3 Missing #include <stdlib.h> in tests 2020-01-28 16:39:28 -08:00
Emil Dotchevski c4e5f44e94 travis 2020-01-28 13:57:53 -08:00
Emil Dotchevski 1f90ecc324 travis 2020-01-28 13:18:22 -08:00
Emil Dotchevski 820338c36b Merge branch 'develop' of https://github.com/boostorg/exception into develop 2020-01-28 13:05:06 -08:00
Emil Dotchevski 9c8f2b6400 More travis testing 2020-01-28 13:04:55 -08:00
Emil Dotchevski 6bc76ee326 dist: trusty 2020-01-26 19:33:31 -08:00
Emil Dotchevski 0036e62dce fixing ABI mismatch error 2019-12-24 20:15:08 -08:00
Emil Dotchevski 9d8f16f4e6 Merge branch 'develop' 2019-12-21 19:14:58 -08:00
Emil Dotchevski 87f0473396 Fixed link error in no_exceptions_test.cpp 2019-12-21 19:14:44 -08:00
Emil Dotchevski d0963a7cf6 Added missing #include in cloning_test.cpp 2019-12-21 14:27:14 -08:00
Emil Dotchevski 80ad850f3a Merge branch 'develop' 2019-12-21 14:18:03 -08:00
Emil Dotchevski 8e61e8e9fd #include guards prefixed with BOOST_EXCEPTION_ 2019-12-21 14:15:17 -08:00
Emil Dotchevski c44bdae6ac Merge branch 'develop' boost-1.72.0.beta1 boost-1.72.0 boost-1.71.0.beta1 boost-1.71.0 2019-06-06 15:22:51 -07:00