Peter Dimov
3de20eb340
Merge pull request #38 from tanzislam/fix-macro-use-with-template-parameters
...
Fix BOOST_STATIC_ASSERT with template arguments
2019-10-25 14:06:07 -07:00
Tanzinul Islam
7f9a618b8c
Fix BOOST_STATIC_ASSERT with template arguments
...
a2025a932
introduced a `BOOST_STATIC_ASSERT`-check with a template argument list. This causes a compilation error in a pre-C++11 compiler without support for variadic arguments (i.e. if `BOOST_NO_CXX11_VARIADIC_MACROS` is set).
For example:
$ echo '#include <boost/endian/buffers.hpp>' > test.cpp
$ g++ -c -std=c++03 -DBOOST_NO_CXX11_VARIADIC_MACROS -I/path/to/boost test.cpp
results in:
```
In file included from /path/to/boost/boost/endian/detail/endian_store.hpp:9,
from /path/to/boost/boost/endian/buffers.hpp:30,
from test.cpp:1:
/path/to/boost/boost/endian/detail/endian_reverse.hpp:111:76: error: macro "BOOST_STATIC_ASSERT" passed 2 arguments, but takes just 1
111 | BOOST_STATIC_ASSERT( is_integral<T>::value && !is_same<T, bool>::value );
| ^
In file included from /path/to/boost/boost/endian/detail/endian_reverse.hpp:13,
from /path/to/boost/boost/endian/detail/endian_store.hpp:9,
from /path/to/boost/boost/endian/buffers.hpp:30,
from test.cpp:1:
/path/to/boost/boost/static_assert.hpp:157: note: macro "BOOST_STATIC_ASSERT" defined here
157 | # define BOOST_STATIC_ASSERT( B ) \
|
```
2019-10-25 15:18:24 +01:00
Peter Dimov
57d14c5cc5
Update revision history
2019-10-23 16:42:00 +03:00
Peter Dimov
c64f7c3372
Add <boost/endian.hpp>
2019-10-22 19:41:49 +03:00
Peter Dimov
fbc198e75d
Add __int128 support to endian_reverse
2019-10-20 21:28:38 +03:00
Peter Dimov
b2faa783ad
Update documentation for data()
2019-10-16 00:20:58 +03:00
Peter Dimov
51f095f019
Add data_test
2019-10-15 21:07:40 +03:00
Peter Dimov
59097ada36
Change data() to return unsigned char*; add non-const versions
2019-10-15 18:58:48 +03:00
Peter Dimov
a12049ae04
Document floating point typedefs
2019-10-15 03:11:55 +03:00
Peter Dimov
af83fc2537
Add float_typedef_test
2019-10-15 02:41:11 +03:00
Peter Dimov
b015a164f8
Add floating point typedefs to arithmetic.hpp; rename double64 to float64 in buffers.hpp
2019-10-15 02:26:58 +03:00
Peter Dimov
f992e9d3e4
Test floating point typedefs in buffer_test
2019-10-15 02:08:57 +03:00
Peter Dimov
ac0383f28d
Test floating point in endian_arithmetic_test
2019-10-15 02:02:11 +03:00
Peter Dimov
e6136ddf27
Add floating point buffer typedefs
2019-10-15 01:54:26 +03:00
Peter Dimov
60a5068070
Fix whitespace
2019-10-12 22:27:04 +03:00
Peter Dimov
52bbc9147b
Update changelog for constexpr endian_reverse
2019-10-12 21:55:11 +03:00
Peter Dimov
41ee26a8d8
Document convenience load/store functions
2019-10-12 20:25:28 +03:00
Peter Dimov
4054afda70
Add convenience store functions
2019-10-12 19:21:19 +03:00
Peter Dimov
22d0d7bcd1
Add convenience load functions
2019-10-12 18:50:59 +03:00
Peter Dimov
0704c271b1
Test clang-win with the VS2017 image
2019-10-12 02:29:39 +03:00
Peter Dimov
cd84a98a88
Add VS2019 to Appveyor
2019-10-12 00:48:41 +03:00
Peter Dimov
33dea996a7
Add constexpr tests for *_to_*, conditional_reverse
2019-10-11 19:57:49 +03:00
Peter Dimov
704cd4d9f7
Skip endian_reverse_cx_test when using non-constexpr intrinsics
2019-10-11 19:48:11 +03:00
Peter Dimov
a4bc0f1a44
Make endian_reverse constexpr when possible
2019-10-11 19:43:02 +03:00
Peter Dimov
3c296ff707
Add test/endian_reverse_cx_test
2019-10-11 19:42:32 +03:00
Peter Dimov
cc28f5d658
Add BOOST_CONSTEXPR to endian_reverse functions
2019-10-11 18:49:06 +03:00
Peter Dimov
80d926e700
Add clang-9 to Travis
2019-10-11 15:36:51 +03:00
Peter Dimov
4ef4d05cdf
Update .travis.yml
2019-08-15 15:12:59 +03:00
Peter Dimov
b816d97235
Add cmake_subdir_test to Travis
2019-05-05 04:48:47 +03:00
Peter Dimov
96ef03b6cb
Update CMakeLists
2019-05-05 04:46:43 +03:00
Peter Dimov
7555b7801d
Update acknowledgments
2019-05-01 20:35:47 +03:00
Peter Dimov
e68d8f939c
static_assert the requirements of endian_load and endian_store
2019-05-01 00:13:22 +03:00
Peter Dimov
79af9fba53
Update documentation
2019-04-30 23:59:28 +03:00
Peter Dimov
79c3add907
Support any expanding loads in endian_load
2019-04-30 23:53:39 +03:00
Peter Dimov
fe18fdbb3b
Include endian/conversion.hpp in the store tests instead of the detail header
2019-04-30 21:29:34 +03:00
Peter Dimov
8df14956d4
Support any truncating store in endian_store
2019-04-30 20:39:17 +03:00
Peter Dimov
b0cc5e64d3
Update documentation
2019-04-30 05:15:18 +03:00
Peter Dimov
d40a3ac3f4
Switch the parameter order of endian_store
2019-04-30 05:13:47 +03:00
Peter Dimov
39eab827cf
Update documentation
2019-04-30 04:54:20 +03:00
Peter Dimov
b7ffb62e09
Documentation fixes
2019-04-29 20:21:23 +03:00
Peter Dimov
f0f8e398d6
conversion.hpp: remove unused detail functions, static-assert that types are EndianReversible
2019-04-29 01:32:07 +03:00
Peter Dimov
b29b3dfc10
Move all deprecated names to endian.hpp; add deprecated_test.cpp to test/Jamfile
2019-04-29 00:36:21 +03:00
Peter Dimov
f2dc045c43
Update documentation
2019-04-28 20:41:55 +03:00
Peter Dimov
ff59429171
Remove obsolete std_pair.hpp
2019-04-28 16:30:51 +03:00
Peter Dimov
8200306bf1
More signed overflow avoidance
2019-04-28 06:37:29 +03:00
Peter Dimov
dad7086b37
Avoid signed integer overflow in endian_arithmetic_test
2019-04-28 04:12:09 +03:00
Peter Dimov
c59eb627ad
Add endian_arithmetic_test
2019-04-28 00:58:51 +03:00
Peter Dimov
630e09942b
Remove endian/detail/cover_operators.hpp
2019-04-28 00:58:29 +03:00
Peter Dimov
cd8fbbdbcb
Remove use of cover_operators in arithmetic.hpp
2019-04-28 00:52:36 +03:00
Peter Dimov
9efbcd7c7b
Simplify endian_arithmetic
2019-04-27 22:46:32 +03:00