412 Commits

Author SHA1 Message Date
Peter Dimov
5a3b4df5de Use __builtin_bit_cast when available 2023-06-01 02:38:57 +03:00
Peter Dimov
7ab05d5de0 More -Wconversion fixes for GCC 10 and below 2023-05-31 19:54:43 +03:00
Peter Dimov
266fbe6449 Fix -Wconversion warnings 2023-05-31 18:53:35 +03:00
Peter Dimov
fd0de5f538 Add -Wconversion to pedantic-errors 2023-05-31 18:28:33 +03:00
Peter Dimov
b7f7eb4f90 Avoid -Wlong-long under C++03 2023-05-30 19:27:42 +03:00
Peter Dimov
b591214103 Add byteswap to bit.hpp 2023-05-30 19:09:09 +03:00
Peter Dimov
b2fe98edf8 Make bit manipulation functions constexpr on MSVC 19.25+. Closes #109. 2023-05-30 02:56:37 +03:00
Peter Dimov
42c8898d24 Add constexpr tests for bit.hpp. Refs #109. 2023-05-29 21:59:37 +03:00
Peter Dimov
97606908b7 Add type_name<> tests for incomplete types. Refs #145. 2023-05-21 05:40:24 +03:00
Peter Dimov
5eb54d1d36 Fix type_name<> for cv-qualified member pointers without variadic templates. Refs #145. 2023-05-21 05:33:21 +03:00
Peter Dimov
c91f8fabff Test whether type_name<> compiles for member pointers even without variadic templates. Refs #145. 2023-05-21 05:16:30 +03:00
Peter Dimov
19f9aa93e1 Merge branch 'feature/drone' into develop 2023-02-21 07:58:29 +02:00
Peter Dimov
2691efd1ca Re-disable serialization_nvp_test under UBSan; link=static doesn't help there 2023-02-21 06:29:10 +02:00
Peter Dimov
b6b1498275 Use link=static instead of visibility=global (which doesn't help) 2023-02-21 06:11:44 +02:00
Glen Fernandes
379899ef15 Move identity from functional to core 2023-02-20 23:02:30 -05:00
Peter Dimov
3ab949d321 Only use visibility=global in UBSan builds 2023-02-21 05:32:28 +02:00
Peter Dimov
dbf0ea98b9 Add visibility=global to serialization tests because of UBSan; disable serialization_nvp_test for GCC/UBSan as well 2023-02-21 05:25:20 +02:00
Peter Dimov
5afc91d52d Change _EQ(max_align, alignof(std::max_align_t)) to _GE unconditionally, because macOS 12.4/M1 also fails (16 > 8) 2023-02-21 05:23:43 +02:00
Peter Dimov
64e59db1f6 Update serialization_construct_data_test 2023-02-21 02:39:49 +02:00
Peter Dimov
ceb4fff8fc Avoid missing braces warning in serialization_construct_data_test 2023-02-21 02:23:52 +02:00
Peter Dimov
0be25e19cc Add load_construct_data_adl, save_construct_data_adl 2023-02-21 02:04:39 +02:00
Peter Dimov
6debbeb377 Disable serialization_nvp_test under Clang/UBSan 2023-02-21 01:34:35 +02:00
Peter Dimov
4b859e3d39 Use friend class, omission of class is C++11 2023-02-20 21:17:55 +02:00
Peter Dimov
38037b45f1 Add boost::core::split_member 2023-02-20 21:00:26 +02:00
Peter Dimov
7664d7ab7e Disable -Wdeprecated-copy in serialization_*_test 2023-02-20 20:39:03 +02:00
Peter Dimov
20d89b69db Add missing initializers to avoid warnings from GCC 4.x 2023-02-20 20:19:59 +02:00
Peter Dimov
89c5a78129 Add boost/core/serialization.hpp, serialization_nvp_test, serialization_split_free_test 2023-02-20 20:06:19 +02:00
Glen Fernandes
249c5bece2 Implement data and size functions 2023-02-17 15:27:36 -05:00
Glen Fernandes
edc0d935c0 Implement make_span 2023-01-28 13:07:33 -05:00
Glen Fernandes
7736b0b8ce span support for initializer_list 2023-01-28 12:20:59 -05:00
Peter Dimov
99515c341e Add boost::core::memory_resource 2023-01-26 18:09:35 +02:00
Peter Dimov
c092532a71 Merge branch 'develop' into feature/max-align 2023-01-26 03:06:45 +02:00
Peter Dimov
a504b356d4 Merge branch 'develop' into feature/alignof 2023-01-26 02:02:00 +02:00
Peter Dimov
bd1835f92f Avoid memory leak in alloc_construct_cxx11_test.cpp, because ASan diagnoses it 2023-01-26 01:10:00 +02:00
Peter Dimov
ce93055f03 Disable failing tests under g++ -m32 2023-01-25 21:37:26 +02:00
Peter Dimov
39cf1e65a3 Add BOOST_CORE_ALIGNOF 2023-01-25 20:10:31 +02:00
Peter Dimov
3edd3aa982 Define and use BOOST_CORE_HAS_FLOAT128 2023-01-25 19:38:20 +02:00
Peter Dimov
579a658129 Update max_align_test.cpp 2023-01-25 18:56:37 +02:00
Peter Dimov
ece7a9ad9c Update max_align_test.cpp 2023-01-25 01:52:18 +02:00
Peter Dimov
8052abb15c Add boost::core::max_align(_t) 2023-01-24 21:06:07 +02:00
Peter Dimov
2b3b97c633 Add boost::core::launder 2023-01-24 17:50:45 +02:00
Andrey Semashev
eda68d4086 Trim trailing spaces in boost::swap tests. 2023-01-07 03:42:31 +03:00
Andrey Semashev
8a8738a981 Propagate noexcept specification in boost::swap.
Mark boost::swap noexcept if the type supports non-throwing swap
implementation.
2023-01-07 03:42:15 +03:00
Peter Dimov
8caca51c4d Do not run lightweight_test_fail16.cpp under CMake, as CTest doesn't like std::abort 2022-12-30 22:03:06 +02:00
Peter Dimov
6299da9273 Add boost::core::lwt_init() 2022-12-30 21:17:58 +02:00
Andrey Semashev
ddc6cc25a9 Actualized includes of ref.hpp. 2022-12-22 18:59:27 +03:00
Andrey Semashev
86bf1d4aec Deprecated boost::core::is_same and the associated header.
Moved is_same implementation to detail (both directory and namespace)
to use in the public headers and avoid introducing new dependencies.
The documentation now recommends users to use Boost.TypeTraits or
C++ standard library instead.

Also, removed unnecessary includes and added missing ones in a few
places.
2022-12-22 17:55:47 +03:00
Andrey Semashev
75c765cc13 Removed suppression of -Wno-deprecated-builtins on clang-15.
Boost.TypeTraits was updated to not use the deprecated builtins, so
suppressing the warning should no longer be necessary.
2022-12-18 01:03:39 +03:00
Andrey Semashev
be8790115c Added portable snprintf/vsnprintf definition.
This definitions is mostly a workaround for older MSVC versions that only
provided non-portable _snprintf etc. that are not fully conforming to
the standard snprintf. This implementation fixes its issues wrt. null
termination and returned values in case of buffer overflows.

On platforms that support the standard snprintf, the definitions in
the header are equivalent to the standard functions.
2022-12-09 03:53:01 +03:00
Peter Dimov
013c7856ce Merge branch 'develop' into feature/bit 2022-09-21 21:41:43 +03:00