jzmaddock
06efc5bbb5
Apply workaround for Intel-16
...
Without this I see:
```
/boost/core/noncopyable.hpp(42): error: defaulted default constructor cannot be constexpr because the corresponding implicitly declared default constructor would not be constexpr
BOOST_CONSTEXPR noncopyable() = default;
```
See: https://travis-ci.org/boostorg/type_traits/jobs/4722892817
Not sure if later Intel versions also require this... still working on that.
2018-12-30 18:29:54 +00: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
Peter Dimov
a5c891441c
Disable boost::swap for const objects. Fixes #43 .
2018-10-24 12:23:56 +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
3c9c9603ad
Add BOOST_SYMBOL_VISIBLE to core_typeid_
2018-10-21 18:09:31 +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
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
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
Glen Fernandes
76c3538315
Suppress MSVC error dialogs and add test for report_errors()
2018-09-04 21:16:36 -04:00
Glen Fernandes
30c006ac82
Call test_results() in BOOST_TEST()
2018-09-04 20:22:56 -04:00
Glen Fernandes
c71eb0e479
Abort instead of assert if report_errors() not called
2018-09-04 17:00:50 -04:00
Glen Fernandes
3f7d36445d
Reduce statics in Lightweight_test
2018-09-04 16:53:25 -04:00
Glen Fernandes
2d99acd7ec
Name the empty_value template parameters
2018-08-27 22:48:06 -04:00
Glen Fernandes
edcd9e2cf5
Add documentation for empty_value
2018-08-26 20:16:26 -04:00
Glen Fernandes
2eaba7d6d1
Make empty_value<T> trivial if T is trivial
2018-08-26 02:10:02 -04:00
Peter Dimov
a05906fd44
Add comment describing noncopyable_::base_token
2018-08-25 15:15:53 +03:00
Peter Dimov
f3782a946f
Derive noncopyable from a base_token class to allow it to be detected by Type Traits without an #include
2018-08-25 01:47:47 +03:00
Glen Fernandes
f504872d89
Implement empty_value
2018-08-24 16:24:34 -04:00
Glen Fernandes
e1f070b7b4
Remove anti_op and change the error output
...
The new output is no less useful, and not potentially misleading (for example in the case of BOOST_TEST_LT(1, nan) failing, it was not right to say that 1 >= nan).
2018-08-09 08:04:09 -04:00
Hans Dembinski
740f2142c5
new test backend based on predicates ( #39 )
...
* Work in progress, some tests fail
* adding tests
* missing header
* moved close_to to detail, added constness, replaced predicates from <functional> with custom ones, new code does not rely on partial template specialization
* renamed predicates and removed close_to predicate
* removing now superfluous headers
* unpatching the fix to put in a separate PR
* move predicate to first argument
* call op and anti_op as normal methods
2018-08-08 15:37:51 +03:00
Peter Dimov
5c10ee4517
explicit_operator_bool: fix g++ 4.6 workaround
2018-08-08 00:27:59 +03:00
Peter Dimov
b7ad896707
explicit_operator_bool: under g++ 4.6 the operator can't be constexpr
2018-08-07 22:59:25 +03:00
Peter Dimov
e1d50a1de2
Fix typo in lightweight_test.hpp
2018-08-07 17:40:47 +03:00
Glen Fernandes
19ec659a91
Simplify exchange implementation for pre-C++11
2018-07-09 08:48:50 -04:00
Glen Fernandes
75ae238d0c
Use #else instead of #elif BOOST_WORKAROUND
2018-07-08 12:04:09 -04:00
Glen Fernandes
630ab2aae4
Workaround MSVC10 and MSVC11 for exchange
2018-07-08 11:18:17 -04:00
Glen Fernandes
2cd4753a02
Implement boost::exchange
2018-07-08 09:25:07 -04:00
Glen Fernandes
9445d08ea7
Rename detail identifiers in addressof
2018-01-27 12:44:50 -05:00
Glen Fernandes
dbb3305050
Only checking BOOST_NO_CXX14_RETURN_TYPE_DEDUCTION is sufficient
2018-01-27 09:42:02 -05:00