526 Commits

Author SHA1 Message Date
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
Emil Dotchevski
bfddc104c6 Merge remote-tracking branch 'origin/develop' 2019-06-06 15:18:09 -07:00
Emil Dotchevski
f1af13409d BOOST_NO_EXCEPTIONS tests updated for [noreturn] 2019-06-06 15:09:27 -07:00
Emil Dotchevski
2aaa7975b6 Merge pull request #22 from Oberon00/patch-1
Guard diagnostic_information against null what()
2019-03-16 22:39:26 -07:00
Christian Neumüller
90694bc3b9 Guard diagnostic_information against null what() 2019-03-11 17:56:55 +01:00