diff --git a/appveyor.yml b/appveyor.yml index 582d4404..477b6c7e 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -33,10 +33,10 @@ build_script: - cmake --build . --config Release - cd .. - cd .. -- appveyor DownloadFile http://zlib.net/zlib-1.2.8.tar.gz -FileName zlib-1.2.8.tar.gz -- 7z x zlib-1.2.8.tar.gz > NUL -- 7z x zlib-1.2.8.tar > NUL -- cd zlib-1.2.8 +- appveyor DownloadFile http://zlib.net/zlib-1.2.9.tar.gz -FileName zlib-1.2.9.tar.gz +- 7z x zlib-1.2.9.tar.gz > NUL +- 7z x zlib-1.2.9.tar > NUL +- cd zlib-1.2.9 - md build - cd build - cmake -G %msvc% .. @@ -46,9 +46,9 @@ build_script: - cd .. - md build - cd build -- cmake -G %msvc% %cpp11% %boost% -DMSGPACK_BOOST_DIR=C:\Libraries\\boost_1_60_0 -DGTEST_LIBRARY=%APPVEYOR_BUILD_FOLDER%\googletest-release-1.7.0\build\Release\gtest.lib -DGTEST_MAIN_LIBRARY=%APPVEYOR_BUILD_FOLDER%\googletest-release-1.7.0\build\Release\gtest_main.lib -DGTEST_INCLUDE_DIR=%APPVEYOR_BUILD_FOLDER%\googletest-release-1.7.0\include -DZLIB_LIBRARY=%APPVEYOR_BUILD_FOLDER%\zlib-1.2.8\build\Release\zlib.lib -DZLIB_INCLUDE_DIR=%APPVEYOR_BUILD_FOLDER%\zlib-1.2.8 -DCMAKE_CXX_FLAGS='"/D_VARIADIC_MAX=10 /EHsc"' .. +- cmake -G %msvc% %cpp11% %boost% -DMSGPACK_BOOST_DIR=C:\Libraries\\boost_1_60_0 -DGTEST_LIBRARY=%APPVEYOR_BUILD_FOLDER%\googletest-release-1.7.0\build\Release\gtest.lib -DGTEST_MAIN_LIBRARY=%APPVEYOR_BUILD_FOLDER%\googletest-release-1.7.0\build\Release\gtest_main.lib -DGTEST_INCLUDE_DIR=%APPVEYOR_BUILD_FOLDER%\googletest-release-1.7.0\include -DZLIB_LIBRARY=%APPVEYOR_BUILD_FOLDER%\zlib-1.2.9\build\Release\zlib.lib -DZLIB_INCLUDE_DIR=%APPVEYOR_BUILD_FOLDER%\zlib-1.2.9 -DCMAKE_CXX_FLAGS='"/D_VARIADIC_MAX=10 /EHsc"' .. - cmake --build . --config Release test_script: -- set PATH=%PATH%;%APPVEYOR_BUILD_FOLDER%\googletest-release-1.7.0\build\Release;%APPVEYOR_BUILD_FOLDER%\zlib-1.2.8\build\Release;%APPVEYOR_BUILD_FOLDER%\build\release +- set PATH=%PATH%;%APPVEYOR_BUILD_FOLDER%\googletest-release-1.7.0\build\Release;%APPVEYOR_BUILD_FOLDER%\zlib-1.2.9\build\Release;%APPVEYOR_BUILD_FOLDER%\build\release - ctest -V diff --git a/include/msgpack/v1/cpp_config.hpp b/include/msgpack/v1/cpp_config.hpp index e60947ef..a7f529d2 100644 --- a/include/msgpack/v1/cpp_config.hpp +++ b/include/msgpack/v1/cpp_config.hpp @@ -126,4 +126,10 @@ template struct is_pointer : detail::is_pointer_helper= 201402L +#define MSGPACK_DEPRECATED(msg) [[deprecated(msg)]] +#else // __cplusplus >= 201402L +#define MSGPACK_DEPRECATED(msg) +#endif // __cplusplus >= 201402L + #endif // MSGPACK_V1_CPP_CONFIG_HPP diff --git a/include/msgpack/v1/object.hpp b/include/msgpack/v1/object.hpp index 353c6dae..1dd14d19 100644 --- a/include/msgpack/v1/object.hpp +++ b/include/msgpack/v1/object.hpp @@ -60,7 +60,6 @@ public: ) : m_obj(obj), m_zone(msgpack::move(z)) { } - // obsolete void set(msgpack::object const& obj) { m_obj = obj; } @@ -400,7 +399,6 @@ class define : public Type { public: typedef Type msgpack_type; typedef define define_type; - define() {} define(const msgpack_type& v) : msgpack_type(v) {} diff --git a/include/msgpack/v1/object_decl.hpp b/include/msgpack/v1/object_decl.hpp index c2c7d339..42917bc3 100644 --- a/include/msgpack/v1/object_decl.hpp +++ b/include/msgpack/v1/object_decl.hpp @@ -85,14 +85,17 @@ void operator<< (msgpack::object& o, const msgpack_object& v); // obsolete template +MSGPACK_DEPRECATED("please use member function version of object::convert(T&)") void convert(T& v, msgpack::object const& o); // obsolete template +MSGPACK_DEPRECATED("please use member function version of packer::pack(const T&)") void pack(msgpack::packer& o, const T& v); // obsolete template +MSGPACK_DEPRECATED("please use member function version of packer::pack(const T&)") void pack_copy(msgpack::packer& o, T v); template diff --git a/include/msgpack/v1/object_fwd.hpp b/include/msgpack/v1/object_fwd.hpp index 66fe50ee..9c98a8f2 100644 --- a/include/msgpack/v1/object_fwd.hpp +++ b/include/msgpack/v1/object_fwd.hpp @@ -78,6 +78,7 @@ struct object { uint64_t u64; int64_t i64; #if defined(MSGPACK_USE_LEGACY_NAME_AS_FLOAT) + MSGPACK_DEPRECATED("please use f64 instead") double dec; // obsolete #endif // MSGPACK_USE_LEGACY_NAME_AS_FLOAT double f64; @@ -157,6 +158,7 @@ struct object { * @return The pointer of `v`. */ template + MSGPACK_DEPRECATED("please use reference version instead") typename msgpack::enable_if< msgpack::is_pointer::value, T @@ -214,6 +216,7 @@ struct object { * @param z The pointer to the zone that is used by the object. */ template + MSGPACK_DEPRECATED("please use zone reference version instead of the pointer version") object(const T& v, msgpack::zone* z); template diff --git a/include/msgpack/v1/object_fwd_decl.hpp b/include/msgpack/v1/object_fwd_decl.hpp index b7a4423b..5bf30337 100644 --- a/include/msgpack/v1/object_fwd_decl.hpp +++ b/include/msgpack/v1/object_fwd_decl.hpp @@ -34,7 +34,7 @@ namespace type { FLOAT64 = MSGPACK_OBJECT_FLOAT64, FLOAT = MSGPACK_OBJECT_FLOAT, #if defined(MSGPACK_USE_LEGACY_NAME_AS_FLOAT) - DOUBLE = MSGPACK_OBJECT_DOUBLE, // obsolete + DOUBLE = MSGPACK_DEPRECATED("please use FLOAT64 instead") MSGPACK_OBJECT_DOUBLE, // obsolete #endif // MSGPACK_USE_LEGACY_NAME_AS_FLOAT STR = MSGPACK_OBJECT_STR, BIN = MSGPACK_OBJECT_BIN, diff --git a/include/msgpack/v1/unpack.hpp b/include/msgpack/v1/unpack.hpp index 97448c48..07d1dc99 100644 --- a/include/msgpack/v1/unpack.hpp +++ b/include/msgpack/v1/unpack.hpp @@ -1011,6 +1011,7 @@ public: * This function is obsolete. Use the reference inteface version of next() function instead of * the pointer interface version. */ + MSGPACK_DEPRECATED("please use reference version instead") bool next(msgpack::object_handle* result); /// Unpack one msgpack::object. @@ -1651,6 +1652,7 @@ inline msgpack::object unpack( // obsolete // pointer version +MSGPACK_DEPRECATED("please use reference version instead") inline void unpack( msgpack::object_handle* result, const char* data, std::size_t len, std::size_t* off, bool* referenced, diff --git a/test/convert.cpp b/test/convert.cpp index 784fe8f2..38d8026f 100644 --- a/test/convert.cpp +++ b/test/convert.cpp @@ -92,7 +92,15 @@ TEST(convert, return_value_ptr) msgpack::object obj(1, z); int i; + // obsolete +#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" +#endif // (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) EXPECT_EQ(obj.convert(&i), &i); +#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) +#pragma GCC diagnostic pop +#endif // (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) EXPECT_EQ(1, i); } diff --git a/test/limit.cpp b/test/limit.cpp index 93511ea3..bc485210 100644 --- a/test/limit.cpp +++ b/test/limit.cpp @@ -518,8 +518,15 @@ TEST(limit, unpack_array_over_off_ref_pointer) bool ref; std::size_t off = 0; msgpack::object_handle unp; +#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" +#endif // (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) msgpack::unpack(&unp, ss.str().c_str(), ss.str().size(), &off, &ref, MSGPACK_NULLPTR, MSGPACK_NULLPTR, msgpack::unpack_limit(2, 0, 0, 0, 0)); +#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) +#pragma GCC diagnostic pop +#endif // (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) EXPECT_TRUE(false); } catch(msgpack::array_size_overflow const&) { diff --git a/test/pack_unpack.cpp b/test/pack_unpack.cpp index 403609ea..68619ca8 100644 --- a/test/pack_unpack.cpp +++ b/test/pack_unpack.cpp @@ -156,7 +156,14 @@ TEST(unpack, int_pointer_off_no_ref) std::size_t off = 0; // obsolete +#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" +#endif // (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) msgpack::unpack(&oh, sbuf.data(), sbuf.size(), &off); +#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) +#pragma GCC diagnostic pop +#endif // (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) EXPECT_EQ(1, oh.get().as()); EXPECT_EQ(off, sbuf.size()); } @@ -170,7 +177,14 @@ TEST(unpack, int_pointer_off_no_ref_explicit) std::size_t off = 0; // obsolete +#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" +#endif // (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) msgpack::unpack(&oh, sbuf.data(), sbuf.size(), &off, MSGPACK_NULLPTR); +#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) +#pragma GCC diagnostic pop +#endif // (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) EXPECT_EQ(1, oh.get().as()); EXPECT_EQ(off, sbuf.size()); } @@ -183,7 +197,14 @@ TEST(unpack, int_pointer_no_off_ref) bool referenced; // obsolete +#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" +#endif // (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) msgpack::unpack(&oh, sbuf.data(), sbuf.size(), MSGPACK_NULLPTR, &referenced); +#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) +#pragma GCC diagnostic pop +#endif // (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) EXPECT_EQ(1, oh.get().as()); EXPECT_FALSE(referenced); } @@ -197,7 +218,14 @@ TEST(unpack, int_pointer_off_ref) std::size_t off = 0; // obsolete +#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" +#endif // (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) msgpack::unpack(&oh, sbuf.data(), sbuf.size(), &off, &referenced); +#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) +#pragma GCC diagnostic pop +#endif // (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) EXPECT_EQ(1, oh.get().as()); EXPECT_EQ(off, sbuf.size()); EXPECT_FALSE(referenced); @@ -211,7 +239,14 @@ TEST(unpack, int_default_null_pointer) msgpack::object_handle oh; // obsolete +#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" +#endif // (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) msgpack::unpack(&oh, sbuf.data(), sbuf.size()); +#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) +#pragma GCC diagnostic pop +#endif // (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) EXPECT_EQ(1, oh.get().as()); } diff --git a/test/streaming.cpp b/test/streaming.cpp index b18d5665..430ee7e0 100644 --- a/test/streaming.cpp +++ b/test/streaming.cpp @@ -78,7 +78,14 @@ TEST(streaming, basic_pointer) pac.buffer_consumed(len); +#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" +#endif // (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) while(pac.next(&oh)) { +#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) +#pragma GCC diagnostic pop +#endif // (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 2)) msgpack::object obj = oh.get(); switch(count++) { case 0: