Commit Graph
458 Commits
Author SHA1 Message Date
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 SemashevandEmil Dotchevski 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
Emil Dotchevski b63736ac89 Merge pull request #20 from Mike-Devel/min_cmake
[CMake] Fix PUBLIC/INTERFACE mixup
2019-03-03 09:27:13 -08:00
Emil Dotchevski 1a7ac9174a Merge pull request #11 from danieljames/fix-visual-c-7.1
Fully qualify error_info_base for Visual C++ 7.1
2019-03-02 22:14:27 -08:00
Mike-Devel ef4f541a8a [CMake] Fix PUBLIC/INTERFACE left over. 2019-03-03 07:13:47 +01:00
Emil Dotchevski 688f6238f1 Merge pull request #17 from Mike-Devel/min_cmake
[CMake] Add minimal cmake file
2019-03-02 22:13:03 -08:00
Emil Dotchevski 5025e2ca18 Merge pull request #18 from apolukhin/antoshkka/exception-type-from-ptr
Extract exception type name from std::exception_ptr on libstdc++
2019-03-02 22:10:00 -08:00
Emil Dotchevski 457330f286 Merge pull request #19 from jlepola/throw-noexcept
Replaced throw() with BOOST_NOEXCEPT_OR_NOTHROW
2019-03-02 22:08:46 -08:00
Mike-Devel 8d19f99e43 [CMake] Fix copyright date 2019-03-02 14:24:52 +01:00
Mike-Devel f4e1a11e6b [CMake] Treat Boost.Exception as header only 2019-03-02 14:20:29 +01:00
Juha 607268dd8e Replaced throw() with BOOST_NOEXCEPT_OR_NOTHROW
With throw(), Visual Studio 2017 emitted a warning "C26439 SPECIAL_NOEXCEPT". Reproducible at least if code analysis was set to level: "Microsoft Native Recommended Rules".

https://docs.microsoft.com/en-us/visualstudio/code-quality/c26439?view=vs-2017
2019-01-28 09:48:53 +02:00
Antony Polukhin 386f5507cb extract exception type name from std::exception_ptr on libstdc++ 2019-01-15 23:55:37 +03:00
Mike Dev e3590d89af [CMake] Add minimal cmake file
Generate cmake target that builds the library and which can
be used by other libraries to express their dependency on
this library and retrieve any configuration information
such as the include directory, binary to link to,
transitive dependencies, necessary compiler options or the
required c++ standards level.
2019-01-04 19:06:57 +01:00
Glen Fernandes c87b9c55b1 Fix unit tests that did not return report_errors() boost-1.70.0.beta1 boost-1.70.0 boost-1.69.0-beta1 boost-1.69.0 2018-09-24 19:46:13 -04:00
Glen Fernandes de6cef966b Fix unit tests that did not return report_errors() 2018-09-17 07:32:49 -04:00
Daniel James 2a2557b903 Fully qualify error_info_base for Visual C++ 7.1
Test are failing on Visual C++ 7.1, I think because it's not importing
error_info_base into the class' namespace, so hopefully this will fix it. I
don't have access to the compiler, so I'm not sure.
2018-04-07 15:01:58 +01:00
Emil Dotchevski 50899b8f1b added bug_11874_test.cpp 2017-07-05 16:27:16 -07:00
Emil Dotchevski dcd2d83b34 Merge branch 'develop' boost-1.68.0 boost-1.67.0 boost-1.66.0 boost-1.65.1 boost-1.65.0 2017-05-06 10:59:01 -07:00
Emil Dotchevski 38cdb50eb2 Deleted N3757 2017-05-06 10:54:42 -07:00
Emil Dotchevski d29b6bc1a2 Merge remote-tracking branch 'remotes/origin/develop' 2017-05-06 10:48:57 -07:00