diff --git a/boost/endian/detail/disable_warnings.hpp b/boost/endian/detail/disable_warnings.hpp index e2da8c6..d274d57 100644 --- a/boost/endian/detail/disable_warnings.hpp +++ b/boost/endian/detail/disable_warnings.hpp @@ -20,4 +20,5 @@ # pragma warning( disable : 4514 ) // ... unreferenced inline function has been removed # pragma warning( disable : 4710 ) // ... function not inlined # pragma warning( disable : 4986 ) // ... exception specification does not match previous declaration +# pragma warning( disable : 4711 ) // ... selected for automatic inline expansion #endif diff --git a/boost/endian/endian_binary_stream.hpp b/boost/endian/endian_binary_stream.hpp index 4d0b92d..bf14385 100644 --- a/boost/endian/endian_binary_stream.hpp +++ b/boost/endian/endian_binary_stream.hpp @@ -10,7 +10,7 @@ #ifndef BOOST_ENDIAN_BINARY_STREAM_HPP #define BOOST_ENDIAN_BINARY_STREAM_HPP -#include +#include #include #include #include @@ -36,7 +36,7 @@ namespace boost { - namespace integer + namespace endian { template< class T > struct is_endian { static const bool value = false; }; diff --git a/libs/endian/example/endian_example.cpp b/libs/endian/example/endian_example.cpp index b33993d..23da48a 100644 --- a/libs/endian/example/endian_example.cpp +++ b/libs/endian/example/endian_example.cpp @@ -11,10 +11,12 @@ #define _CRT_SECURE_NO_DEPRECATE // quiet VC++ 8.0 foolishness +#include + #include -#include #include #include +#include #include using namespace boost::endian; @@ -39,7 +41,7 @@ namespace int cpp_main(int, char * []) { - assert( sizeof( header ) == 16 ); // requirement for interoperability + BOOST_TEST_EQ( sizeof( header ), 16U ); // requirement for interoperability header h; @@ -54,9 +56,9 @@ int cpp_main(int, char * []) // point that endian integers are often used in fairly low-level code that // does bulk I/O operations, fopen/fwrite is used for I/O in this example. - std::FILE * fi; + std::FILE * fi = std::fopen( filename, "wb" ); // MUST BE BINARY - if ( !(fi = std::fopen( filename, "wb" )) ) // MUST BE BINARY + if ( !fi ) { std::cout << "could not open " << filename << '\n'; return 1; @@ -71,5 +73,6 @@ int cpp_main(int, char * []) std::fclose( fi ); std::cout << "created file " << filename << '\n'; - return 0; + + return ::boost::report_errors(); } diff --git a/libs/endian/example/endian_hello_world.cpp b/libs/endian/example/endian_hello_world.cpp index fc600a8..ff1b408 100644 --- a/libs/endian/example/endian_hello_world.cpp +++ b/libs/endian/example/endian_hello_world.cpp @@ -7,13 +7,15 @@ // See library home page at http://www.boost.org/libs/endian -#include -#include +#include + +#include +#include #include #include using namespace boost; -using namespace boost::integer; +using namespace boost::endian; int main() { diff --git a/libs/endian/test/conversion_test.cpp b/libs/endian/test/conversion_test.cpp index d888098..84f626b 100644 --- a/libs/endian/test/conversion_test.cpp +++ b/libs/endian/test/conversion_test.cpp @@ -7,6 +7,8 @@ //--------------------------------------------------------------------------------------// +#include + #include #include #include @@ -21,17 +23,17 @@ namespace { std::cout << "test_in_place_flip...\n"; - boost::int64_t i64 = 0x0102030405060708; + boost::int64_t i64 = 0x0102030405060708LL; be::flip(i64); - BOOST_TEST_EQ(i64, 0x0807060504030201); + BOOST_TEST_EQ(i64, 0x0807060504030201LL); be::flip(i64); - BOOST_TEST_EQ(i64, 0x0102030405060708); + BOOST_TEST_EQ(i64, 0x0102030405060708LL); - i64 = 0xfefdfcfbfaf9f8f7; + i64 = 0xfefdfcfbfaf9f8f7LL; be::flip(i64); - BOOST_TEST_EQ(i64, static_cast(0xf7f8f9fafbfcfdfe)); + BOOST_TEST_EQ(i64, static_cast(0xf7f8f9fafbfcfdfeULL)); be::flip(i64); - BOOST_TEST_EQ(i64, static_cast(0xfefdfcfbfaf9f8f7)); + BOOST_TEST_EQ(i64, static_cast(0xfefdfcfbfaf9f8f7ULL)); boost::int32_t i32 = 0x01020304; be::flip(i32); @@ -57,11 +59,11 @@ namespace be::flip(i16); BOOST_TEST_EQ(i16, static_cast(static_cast(0xfefd))); - boost::uint64_t ui64 = 0x0102030405060708; + boost::uint64_t ui64 = 0x0102030405060708ULL; be::flip(ui64); - BOOST_TEST_EQ(ui64, static_cast(0x0807060504030201)); + BOOST_TEST_EQ(ui64, 0x0807060504030201ULL); be::flip(ui64); - BOOST_TEST_EQ(ui64, static_cast(0x0102030405060708)); + BOOST_TEST_EQ(ui64, 0x0102030405060708ULL); boost::uint32_t ui32 = 0x01020304; be::flip(ui32); @@ -73,7 +75,7 @@ namespace be::flip(ui16); BOOST_TEST_EQ(ui16, 0x0201); be::flip(ui16); - BOOST_TEST_EQ(ui16, 0x0102); + BOOST_TEST_EQ(ui16, static_cast(0x0102)); std::cout << " test_in_place_flip complete\n"; } @@ -82,18 +84,18 @@ namespace { std::cout << "test_copying_flip...\n"; - boost::int64_t i64 = 0x0102030405060708, j64, k64; + boost::int64_t i64 = 0x0102030405060708LL, j64, k64; be::flip(i64, j64); - BOOST_TEST_EQ(j64, 0x0807060504030201); - BOOST_TEST_EQ(i64, 0x0102030405060708); + BOOST_TEST_EQ(j64, 0x0807060504030201LL); + BOOST_TEST_EQ(i64, 0x0102030405060708LL); be::flip(j64, k64); - BOOST_TEST_EQ(k64, 0x0102030405060708); + BOOST_TEST_EQ(k64, 0x0102030405060708LL); - i64 = 0xfefdfcfbfaf9f8f7; + i64 = 0xfefdfcfbfaf9f8f7LL; be::flip(i64, j64); - BOOST_TEST_EQ(j64, static_cast(0xf7f8f9fafbfcfdfe)); + BOOST_TEST_EQ(j64, static_cast(0xf7f8f9fafbfcfdfeLL)); be::flip(j64, k64); - BOOST_TEST_EQ(k64, static_cast(0xfefdfcfbfaf9f8f7)); + BOOST_TEST_EQ(k64, static_cast(0xfefdfcfbfaf9f8f7LL)); boost::int32_t i32 = 0x01020304, j32, k32; be::flip(i32, j32); @@ -113,17 +115,17 @@ namespace be::flip(j16, k16); BOOST_TEST_EQ(k16, 0x0102); - i16 = static_cast(static_cast(0xfefd)), j16, k16; + i16 = static_cast(static_cast(0xfefd)); be::flip(i16, j16); BOOST_TEST_EQ(j16, static_cast(static_cast(0xfdfe))); be::flip(j16, k16); BOOST_TEST_EQ(k16, static_cast(static_cast(0xfefd))); - boost::uint64_t ui64 = 0x0102030405060708, uj64, uk64; + boost::uint64_t ui64 = 0x0102030405060708ULL, uj64, uk64; be::flip(ui64, uj64); - BOOST_TEST_EQ(uj64, static_cast(0x0807060504030201)); + BOOST_TEST_EQ(uj64, 0x0807060504030201ULL); be::flip(uj64, uk64); - BOOST_TEST_EQ(uk64, static_cast(0x0102030405060708)); + BOOST_TEST_EQ(uk64, 0x0102030405060708ULL); boost::uint32_t ui32 = 0x01020304, uj32, uk32; be::flip(ui32, uj32); @@ -140,13 +142,13 @@ namespace std::cout << " test_copying_flip complete\n"; } - const boost::int64_t ni64 = 0x0102030405060708; + const boost::int64_t ni64 = 0x0102030405060708LL; # ifdef BOOST_BIG_ENDIAN - const boost::int64_t bi64 = 0x0102030405060708; - const boost::int64_t li64 = 0x0807060504030201; + const boost::int64_t bi64 = 0x0102030405060708LL; + const boost::int64_t li64 = 0x0807060504030201LL; # else - const boost::int64_t bi64 = 0x0807060504030201; - const boost::int64_t li64 = 0x0102030405060708; + const boost::int64_t bi64 = 0x0807060504030201LL; + const boost::int64_t li64 = 0x0102030405060708LL; # endif const boost::int32_t ni32 = 0x01020304; @@ -167,13 +169,13 @@ namespace const boost::int16_t li16 = 0x0102; # endif - const boost::uint64_t nui64 = 0x0102030405060708; + const boost::uint64_t nui64 = 0x0102030405060708ULL; # ifdef BOOST_BIG_ENDIAN - const boost::uint64_t bui64 = 0x0102030405060708; - const boost::uint64_t lui64 = 0x0807060504030201; + const boost::uint64_t bui64 = 0x0102030405060708ULL; + const boost::uint64_t lui64 = 0x0807060504030201ULL; # else - const boost::uint64_t bui64 = 0x0807060504030201; - const boost::uint64_t lui64 = 0x0102030405060708; + const boost::uint64_t bui64 = 0x0807060504030201ULL; + const boost::uint64_t lui64 = 0x0102030405060708ULL; # endif const boost::uint32_t nui32 = 0x01020304; @@ -332,11 +334,11 @@ namespace be::flip(i16); BOOST_TEST_EQ(i16, static_cast(static_cast(0xfefd))); - ui64 = 0x0102030405060708; + ui64 = 0x0102030405060708ULL; be::flip(ui64); - BOOST_TEST_EQ(ui64, static_cast(0x0807060504030201)); + BOOST_TEST_EQ(ui64, static_cast(0x0807060504030201ULL)); be::flip(ui64); - BOOST_TEST_EQ(ui64, static_cast(0x0102030405060708)); + BOOST_TEST_EQ(ui64, static_cast(0x0102030405060708ULL)); ui32 = 0x01020304; be::flip(ui32); @@ -364,3 +366,5 @@ int cpp_main(int, char * []) return ::boost::report_errors(); } + +#include diff --git a/libs/endian/test/endian-in-sandbox/common.props b/libs/endian/test/endian-in-sandbox/common.props index 3dfbaad..040249a 100644 --- a/libs/endian/test/endian-in-sandbox/common.props +++ b/libs/endian/test/endian-in-sandbox/common.props @@ -7,7 +7,7 @@ - $(BOOST_SANDBOX)\endian;$(BOOST_TRUNK);%(AdditionalIncludeDirectories) + ..\..\..\..\..;%(AdditionalIncludeDirectories) EnableAllWarnings diff --git a/libs/endian/test/endian-in-sandbox/conversion_test/conversion_test.vcxproj b/libs/endian/test/endian-in-sandbox/conversion_test/conversion_test.vcxproj index 0b60c39..f565cdd 100644 --- a/libs/endian/test/endian-in-sandbox/conversion_test/conversion_test.vcxproj +++ b/libs/endian/test/endian-in-sandbox/conversion_test/conversion_test.vcxproj @@ -58,7 +58,6 @@ MultiThreadedDebugDLL - Level3 EditAndContinue @@ -76,7 +75,6 @@ true - Level3 ProgramDatabase diff --git a/libs/endian/test/endian-in-sandbox/endian-in-sandbox.sln b/libs/endian/test/endian-in-sandbox/endian-in-sandbox.sln index 7abca94..d753e0e 100644 --- a/libs/endian/test/endian-in-sandbox/endian-in-sandbox.sln +++ b/libs/endian/test/endian-in-sandbox/endian-in-sandbox.sln @@ -52,17 +52,11 @@ Global {1AAEBB4E-501E-417E-9531-04469AF5DD8B}.Release|Win32.ActiveCfg = Release|Win32 {1AAEBB4E-501E-417E-9531-04469AF5DD8B}.Release|Win32.Build.0 = Release|Win32 {1382D085-FF3F-4573-8709-E10D3D74D620}.Debug|Win32.ActiveCfg = Debug|Win32 - {1382D085-FF3F-4573-8709-E10D3D74D620}.Debug|Win32.Build.0 = Debug|Win32 {1382D085-FF3F-4573-8709-E10D3D74D620}.Release|Win32.ActiveCfg = Release|Win32 - {1382D085-FF3F-4573-8709-E10D3D74D620}.Release|Win32.Build.0 = Release|Win32 {AD46E04C-C1E1-446E-8D5F-E11B6C438181}.Debug|Win32.ActiveCfg = Debug|Win32 - {AD46E04C-C1E1-446E-8D5F-E11B6C438181}.Debug|Win32.Build.0 = Debug|Win32 {AD46E04C-C1E1-446E-8D5F-E11B6C438181}.Release|Win32.ActiveCfg = Release|Win32 - {AD46E04C-C1E1-446E-8D5F-E11B6C438181}.Release|Win32.Build.0 = Release|Win32 {06736C67-6305-4A9F-8D10-850FD0CE907D}.Debug|Win32.ActiveCfg = Debug|Win32 - {06736C67-6305-4A9F-8D10-850FD0CE907D}.Debug|Win32.Build.0 = Debug|Win32 {06736C67-6305-4A9F-8D10-850FD0CE907D}.Release|Win32.ActiveCfg = Release|Win32 - {06736C67-6305-4A9F-8D10-850FD0CE907D}.Release|Win32.Build.0 = Release|Win32 {9FA33B0B-2B00-49E8-A892-E049D86076A9}.Debug|Win32.ActiveCfg = Debug|Win32 {9FA33B0B-2B00-49E8-A892-E049D86076A9}.Debug|Win32.Build.0 = Debug|Win32 {9FA33B0B-2B00-49E8-A892-E049D86076A9}.Release|Win32.ActiveCfg = Release|Win32 diff --git a/libs/endian/test/endian-in-sandbox/endian_example/endian_example.vcxproj b/libs/endian/test/endian-in-sandbox/endian_example/endian_example.vcxproj index 9255b4a..76c52be 100644 --- a/libs/endian/test/endian-in-sandbox/endian_example/endian_example.vcxproj +++ b/libs/endian/test/endian-in-sandbox/endian_example/endian_example.vcxproj @@ -55,7 +55,6 @@ MultiThreadedDebugDLL - Level3 EditAndContinue @@ -73,7 +72,6 @@ true - Level3 ProgramDatabase diff --git a/libs/endian/test/endian-in-sandbox/endian_hello_world/endian_hello_world.vcxproj b/libs/endian/test/endian-in-sandbox/endian_hello_world/endian_hello_world.vcxproj index 3616313..45e3a72 100644 --- a/libs/endian/test/endian-in-sandbox/endian_hello_world/endian_hello_world.vcxproj +++ b/libs/endian/test/endian-in-sandbox/endian_hello_world/endian_hello_world.vcxproj @@ -55,7 +55,7 @@ MultiThreadedDebugDLL - Level3 + EnableAllWarnings EditAndContinue @@ -73,7 +73,7 @@ true - Level3 + EnableAllWarnings ProgramDatabase diff --git a/libs/endian/test/endian-in-sandbox/endian_in_union_test/endian_in_union_test.vcxproj b/libs/endian/test/endian-in-sandbox/endian_in_union_test/endian_in_union_test.vcxproj index 68808ed..15303c9 100644 --- a/libs/endian/test/endian-in-sandbox/endian_in_union_test/endian_in_union_test.vcxproj +++ b/libs/endian/test/endian-in-sandbox/endian_in_union_test/endian_in_union_test.vcxproj @@ -54,7 +54,6 @@ MultiThreadedDebugDLL - Level3 EditAndContinue @@ -72,7 +71,6 @@ true - Level3 ProgramDatabase diff --git a/libs/endian/test/endian-in-sandbox/endian_operations_test/endian_operations_test.vcxproj b/libs/endian/test/endian-in-sandbox/endian_operations_test/endian_operations_test.vcxproj index 1876f1f..dfc93ca 100644 --- a/libs/endian/test/endian-in-sandbox/endian_operations_test/endian_operations_test.vcxproj +++ b/libs/endian/test/endian-in-sandbox/endian_operations_test/endian_operations_test.vcxproj @@ -54,7 +54,6 @@ MultiThreadedDebugDLL - Level3 EditAndContinue 4552;%(DisableSpecificWarnings) @@ -74,7 +73,6 @@ true - Level3 ProgramDatabase diff --git a/libs/endian/test/endian-in-sandbox/endian_test/endian_test.vcxproj b/libs/endian/test/endian-in-sandbox/endian_test/endian_test.vcxproj index afe2fda..22d1099 100644 --- a/libs/endian/test/endian-in-sandbox/endian_test/endian_test.vcxproj +++ b/libs/endian/test/endian-in-sandbox/endian_test/endian_test.vcxproj @@ -54,7 +54,6 @@ MultiThreadedDebugDLL - Level3 EditAndContinue @@ -73,7 +72,6 @@ true - Level3 ProgramDatabase diff --git a/libs/endian/test/endian-in-sandbox/scoped_enum_emulation_test/scoped_enum_emulation_test.vcxproj b/libs/endian/test/endian-in-sandbox/scoped_enum_emulation_test/scoped_enum_emulation_test.vcxproj index 10fd761..69cfd13 100644 --- a/libs/endian/test/endian-in-sandbox/scoped_enum_emulation_test/scoped_enum_emulation_test.vcxproj +++ b/libs/endian/test/endian-in-sandbox/scoped_enum_emulation_test/scoped_enum_emulation_test.vcxproj @@ -55,7 +55,6 @@ MultiThreadedDebugDLL - Level3 EditAndContinue @@ -73,7 +72,6 @@ true - Level3 ProgramDatabase diff --git a/libs/endian/test/endian_in_union_test.cpp b/libs/endian/test/endian_in_union_test.cpp index 811cef4..bebebed 100644 --- a/libs/endian/test/endian_in_union_test.cpp +++ b/libs/endian/test/endian_in_union_test.cpp @@ -11,6 +11,8 @@ #define BOOST_ENDIAN_FORCE_PODNESS +#include + #include #include #include diff --git a/libs/endian/test/endian_operations_test.cpp b/libs/endian/test/endian_operations_test.cpp index 4603bbc..176a45c 100644 --- a/libs/endian/test/endian_operations_test.cpp +++ b/libs/endian/test/endian_operations_test.cpp @@ -17,6 +17,9 @@ //----------------------------------------------------------------------------// #define BOOST_ENDIAN_LOG +#define BOOST_SHORT_ENDIAN_TEST 1 + +#include #include #include @@ -36,7 +39,8 @@ struct default_construct static void test() { T1 o1; - o1 = 1; // quiet warnings + o1 = 1; // quiet warnings + if (o1) return; // quiet warnings } }; @@ -71,6 +75,7 @@ struct assign o2 = 1; T1 o1; o1 = o2; + if (o1) return; // quiet warnings } }; @@ -104,6 +109,8 @@ struct op_plus o3 = o1 + o2; o1 += o2; + + if (o3) return; // quiet warnings } }; @@ -119,6 +126,8 @@ struct op_star o3 = o1 * o2; o1 *= o2; + + if (o3) return; // quiet warnings } }; diff --git a/libs/endian/test/endian_test.cpp b/libs/endian/test/endian_test.cpp index 1251c98..2dc71b7 100644 --- a/libs/endian/test/endian_test.cpp +++ b/libs/endian/test/endian_test.cpp @@ -16,6 +16,8 @@ //----------------------------------------------------------------------------// +#include + #include #include #include @@ -539,7 +541,7 @@ namespace VERIFY_VALUE_AND_OPS( ubig56_t, uint_least64_t, 0xffffffffffffffLL ); VERIFY_BIG_REPRESENTATION( ubig64_t ); - VERIFY_VALUE_AND_OPS( ubig64_t, uint_least64_t, 0xffffffffffffffffLL ); + VERIFY_VALUE_AND_OPS( ubig64_t, uint_least64_t, 0xffffffffffffffffULL ); VERIFY_LITTLE_REPRESENTATION( little8_t ); VERIFY_VALUE_AND_OPS( little8_t, int_least8_t, 0x7f ); @@ -595,7 +597,7 @@ namespace VERIFY_VALUE_AND_OPS( ulittle56_t, uint_least64_t, 0xffffffffffffffLL ); VERIFY_LITTLE_REPRESENTATION( ulittle64_t ); - VERIFY_VALUE_AND_OPS( ulittle64_t, uint_least64_t, 0xffffffffffffffffLL ); + VERIFY_VALUE_AND_OPS( ulittle64_t, uint_least64_t, 0xffffffffffffffffULL ); VERIFY_NATIVE_REPRESENTATION( native8_t ); VERIFY_VALUE_AND_OPS( native8_t, int_least8_t, 0x7f ); @@ -651,7 +653,7 @@ namespace VERIFY_VALUE_AND_OPS( unative56_t, uint_least64_t, 0xffffffffffffffLL ); VERIFY_NATIVE_REPRESENTATION( unative64_t ); - VERIFY_VALUE_AND_OPS( unative64_t, uint_least64_t, 0xffffffffffffffffLL ); + VERIFY_VALUE_AND_OPS( unative64_t, uint_least64_t, 0xffffffffffffffffULL ); VERIFY_BIG_REPRESENTATION( aligned_big16_t ); VERIFY_VALUE_AND_OPS( aligned_big16_t, int_least16_t, 0x7fff ); @@ -672,7 +674,7 @@ namespace VERIFY_VALUE_AND_OPS( aligned_ubig32_t, uint_least32_t, 0xffffffff ); VERIFY_BIG_REPRESENTATION( aligned_ubig64_t ); - VERIFY_VALUE_AND_OPS( aligned_ubig64_t, uint_least64_t, 0xffffffffffffffffLL ); + VERIFY_VALUE_AND_OPS( aligned_ubig64_t, uint_least64_t, 0xffffffffffffffffULL ); VERIFY_LITTLE_REPRESENTATION( aligned_little16_t ); VERIFY_VALUE_AND_OPS( aligned_little16_t, int_least16_t, 0x7fff ); @@ -693,7 +695,7 @@ namespace VERIFY_VALUE_AND_OPS( aligned_ulittle32_t, uint_least32_t, 0xffffffff ); VERIFY_LITTLE_REPRESENTATION( aligned_ulittle64_t ); - VERIFY_VALUE_AND_OPS( aligned_ulittle64_t, uint_least64_t, 0xffffffffffffffffLL ); + VERIFY_VALUE_AND_OPS( aligned_ulittle64_t, uint_least64_t, 0xffffffffffffffffULL ); } // check_representation_and_range diff --git a/libs/endian/test/scoped_enum_emulation_test.cpp b/libs/endian/test/scoped_enum_emulation_test.cpp index 45d59e3..419302d 100644 --- a/libs/endian/test/scoped_enum_emulation_test.cpp +++ b/libs/endian/test/scoped_enum_emulation_test.cpp @@ -7,6 +7,8 @@ // See documentation at http://www.boost.org/libs/utility/scoped_enum_emulation.html +#include + #include #include @@ -38,5 +40,7 @@ int main() color tracker; tracker.value = color::value_t::blue; + if (tracker.value == color::value_t::blue) return 0; // quiet warnings + return 0; }