Andrey Semashev
dea6b04157
Added workarounds for gcc < 4.7 on Linux and OpenBSD.
...
Apparently, gcc < 4.7 on Linux also don't have __cxa_get_globals
declaration in cxxabi.h. Declare the function ourselves.
Also, on OpenBSD it seems there is no declaration either, and
on that platform the function implementation has no exception
specification, like on FreeBSD. Add a declaration of that platform.
Lastly, changed __cxa_get_globals and _getptd-based implementations
to avoid violating strict aliasing rules. This is still formally UB
to access structure fields like we do, but this is one less reason to
cause miscompilation or compiler warnings.
2019-01-08 00:23:09 +03:00
Andrey Semashev
9f9da9dc9b
Limit __cxa_uncaught_exceptions to only since libc++abi 1002 and later.
2019-01-07 13:34:52 +03:00
Andrey Semashev
cdcc50a455
Added an implementation for uncaught_exceptions for libc++abi.
...
This should fix compilation errors due to missing declaration of
__cxa_get_globals when compiled against libc++ on Linux.
2019-01-07 02:14:31 +03:00
Andrey Semashev
6f3e6254e7
Only declare __cxa_get_globals on MinGW gcc < 4.7, where it's needed.
...
This should work around differences between the function signatures on other
platforms, like FreeBSD, for example.
2019-01-06 21:29:15 +03:00
Peter Dimov
245297ab85
Add test/cmake_subdir_test
2019-01-06 04:43:47 +02:00
Andrey Semashev
2574ae8a0c
Made git branch selection less obscure and more POSIX shell conforming.
2019-01-03 23:47:43 +03:00
Andrey Semashev
bbcd5b8f5c
Use the actual number of logical CPUs for the number of CI build/test jobs.
2019-01-03 23:05:17 +03:00
Andrey Semashev
83ea633d09
Use multiple jobs to checkout submodules in CI.
2018-12-18 22:19:50 +03:00
Andrey Semashev
2b60d044ac
Added tools/boost_install and libs/headers manual init to CI jobs.
2018-12-18 21:53:49 +03:00
Andrey Semashev
3cd1885209
Reorganized code and made __cxa_get_globals signature closer to the original.
...
This should resolve gcc errors caused by mismatch of the return types of
aur declaration of __cxa_get_globals and the original in cxxabi.h.
Fixes https://github.com/boostorg/core/issues/45 .
2018-12-18 20:49:24 +03:00
Andrey Semashev
9d123dc9a3
Added missing include guards.
2018-11-11 13:43:04 +03:00
Andrey Semashev
82957de970
Extracted uncaught_exceptions function from Boost.Log.
...
The uncaught_exceptions function is functionally equivalent to
unhandled_exceptions_count in Boost.Log and implements functionality
similar to the same named C++17 standard function. Tests and docs are
also included.
One notable difference from std::uncaught_exceptions is that the return
type is unsigned rather than signed. This is deliberate as uncaught_exceptions
must never return a negative value and unsigned int better documents that.
Theoretically, as a counter, it may also overflow.
2018-11-10 17:44:13 +03:00
Andrey Semashev
d60775659b
Changed http to https in URLs in readme.
boost-1.69.0
boost-1.69.0-beta1
2018-11-01 20:40:42 +03:00
Andrey Semashev
bade4d23e8
Added clang 7 CI job.
2018-11-01 20:30:07 +03:00
Peter Dimov
a5c891441c
Disable boost::swap for const objects. Fixes #43 .
2018-10-24 12:23:56 +03:00
Peter Dimov
e9f986d11e
Add compile-fail test for const boost::Wrapper
2018-10-24 12:06:45 +03:00
Peter Dimov
5a55d9572f
Add -fsanitize=undefined to Travis
2018-10-21 21:37:14 +03:00
Peter Dimov
e98a546e89
Use string comparison on MinGW/Cygwin when comparing typeinfo across DLLs
2018-10-21 20:29:10 +03:00
Peter Dimov
4dc12c59bd
Fix test to compare typeinfo rather than its address
2018-10-21 18:44:34 +03:00
Peter Dimov
3c9c9603ad
Add BOOST_SYMBOL_VISIBLE to core_typeid_
2018-10-21 18:09:31 +03:00
Peter Dimov
026be7659c
Add test for BOOST_CORE_TYPEID in a library
2018-10-21 17:47:33 +03:00
Andrey Semashev
ada6b9e447
Merge pull request #42 from igaztanaga/patch-1
...
_set_abort_behavior not supported in old MSVC
2018-10-12 14:12:33 +03:00
Ion Gaztañaga
79e3bf7175
_set_abort_behavior not supported in old MSVC
...
Last patch before deprecating old MSVC compilers
2018-10-12 12:17:45 +02:00
Glen Fernandes
1d9d6f579e
Qualify empty_init_t and use_empty_value_base
2018-10-01 00:46:43 -04:00
Glen Fernandes
5ed58ee20f
Add ADL guard for empty_value and new member typedef
2018-10-01 00:26:08 -04:00
Peter Dimov
9dfa265b49
Add 'unsupported' comment to CMakeLists.txt
2018-09-30 04:24:11 +03:00
Peter Dimov
3aa817e8d0
Reformat copyright banner
2018-09-20 02:58:06 +03:00
Peter Dimov
4ae42efdae
Add minimal CMakeLists.txt
2018-09-20 00:04:10 +03:00
Peter Dimov
32ac6c5b36
Add documentation for quick_exit
2018-09-06 22:52:52 +03:00
Peter Dimov
13c09e805b
Add .gitignore
2018-09-06 22:39:26 +03:00
Peter Dimov
81df44e80b
MinGW-w64 has no quick_exit either
2018-09-06 05:44:56 +03:00
Peter Dimov
944f27853b
Declare _exit as extern 'C'
2018-09-06 05:28:23 +03:00
Peter Dimov
0bc795de4a
Merge branch 'develop' into feature/quick_exit
2018-09-06 00:30:15 +03:00
Glen Fernandes
d2b20486a0
Call test_results() in BOOST_TEST_THROWS()
2018-09-05 16:40:10 -04:00
Peter Dimov
88acbce1e9
Declare and use _exit under MinGW32
2018-09-05 20:56:03 +03:00
Peter Dimov
0c605bf32f
MacOS doesn't have quick_exit; Cygwin doesn't declare it in C++03 mode
2018-09-05 20:45:51 +03:00
Peter Dimov
53772c8c73
Merge branch 'develop' into feature/quick_exit
2018-09-05 20:28:40 +03:00
Peter Dimov
6dd97ee415
Add more Appveyor configurations
2018-09-05 20:25:05 +03:00
Peter Dimov
8d4f1bb4af
Revert to always using std::abort instead of the platform-specific _exit/_Exit
2018-09-05 20:23:13 +03:00
Peter Dimov
d56c31d688
Add noreturn/noexcept; use _exit on msvc-12.0 and earlier (and compatible); use ::quick_exit instead of std::quick_exit
2018-09-05 18:16:15 +03:00
Peter Dimov
5e08874182
Add initial implementation of quick_exit
2018-09-05 17:06:42 +03:00
Glen Fernandes
56bd3784bf
Update e-mail address in comments and libraries.json
2018-09-05 08:21:35 -04:00
Peter Dimov
cf66842419
MinGW doesn't have _exit either
2018-09-05 08:39:35 +03:00
Peter Dimov
861eb5cf4c
Merge branch 'develop' into feature/Exit
2018-09-05 07:24:23 +03:00
Peter Dimov
205b319b57
Use _exit instead of _Exit on MinGW
2018-09-05 07:17:58 +03:00
Glen Fernandes
6f1d88d153
Provide detail::test_errors() as others are using it
2018-09-05 00:16:17 -04:00
Peter Dimov
7f7c4c5b83
Call _set_abort_behavior on all compilers impersonating MSVC
2018-09-05 07:01:29 +03:00
Peter Dimov
dfd5a0b8db
Remove dead #else branch
2018-09-05 06:56:59 +03:00
Peter Dimov
d8c0768788
Use _Exit(3) instead of abort() to avoid core dump
2018-09-05 06:26:40 +03:00
Peter Dimov
d0a9206d6a
Call _set_abort_behavior on clang-win too
2018-09-05 06:04:53 +03:00