diff --git a/.drone.star b/.drone.star index a5585370..e1a8b581 100644 --- a/.drone.star +++ b/.drone.star @@ -27,8 +27,8 @@ def main(ctx): linux_cxx("UBSan Clang", "clang++-14", packages="clang-14 libstdc++-10-dev", buildtype="boost", buildscript="drone", image="cppalliance/droneubuntu2204:1", environment={'COMMENT': 'ubsan', 'B2_VARIANT': 'debug', 'B2_TOOLSET': 'clang-14', 'B2_CXXSTD': '11,14,17', 'B2_UBSAN': '1', 'B2_DEFINES': 'define=BOOST_NO_STRESS_TEST=1'}, globalenv=globalenv), linux_cxx("TSan", "g++-12", packages="g++-12", buildscript="drone", buildtype="boost", image="cppalliance/droneubuntu2204:1", environment={'COMMENT': 'tsan', 'B2_VARIANT': 'debug', 'B2_TOOLSET': 'gcc-12', 'B2_CXXSTD': '11,14,17', 'B2_TSAN': '1', 'B2_DEFINES': 'BOOST_NO_STRESS_TEST=1'}, globalenv=globalenv), linux_cxx("gcc 4.8 C++03 (no op)", "g++-4.8", packages="g++-4.8", image=linuxglobalimage, buildtype="boost", buildscript="drone", environment={"B2_TOOLSET": "gcc-4.8", "B2_CXXSTD": "03", 'B2_SEPARATE_BOOTSTRAP': '1'}, globalenv=globalenv), - linux_cxx("gcc 4.8", "g++-4.8", packages="g++-4.8", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'B2_TOOLSET': 'gcc-4.8', 'B2_CXXSTD': '11', 'B2_SEPARATE_BOOTSTRAP': '1', 'DRONE_JOB_UUID': '0ade7c2cf9'}, globalenv=globalenv), - linux_cxx("gcc 4.9", "g++-4.9", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'B2_TOOLSET': 'gcc-4.9', 'B2_CXXSTD': '11', 'B2_SEPARATE_BOOTSTRAP': '1', 'DRONE_JOB_UUID': 'b1d5781111'}, globalenv=globalenv), + linux_cxx("gcc 4.8", "g++-4.8", packages="g++-4.8", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'B2_TOOLSET': 'gcc-4.8', 'B2_CXXSTD': '11', 'B2_SEPARATE_BOOTSTRAP': '1', 'DRONE_JOB_UUID': '0ade7c2cf9', 'B2_FLAGS': 'warnings=extra warnings-as-errors=on define=BOOST_ALLOW_DEPRECATED'}, globalenv=globalenv), + linux_cxx("gcc 4.9", "g++-4.9", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'B2_TOOLSET': 'gcc-4.9', 'B2_CXXSTD': '11', 'B2_SEPARATE_BOOTSTRAP': '1', 'DRONE_JOB_UUID': 'b1d5781111', 'B2_FLAGS': 'warnings=extra warnings-as-errors=on define=BOOST_ALLOW_DEPRECATED'}, globalenv=globalenv), linux_cxx("gcc 5", "g++-5", packages="g++-5", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'B2_TOOLSET': 'gcc-5', 'B2_CXXSTD': '11', 'DRONE_JOB_UUID': '17ba079149'}, globalenv=globalenv), linux_cxx("gcc 6", "g++-6", packages="g++-6", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'B2_TOOLSET': 'gcc-6', 'B2_CXXSTD': '11,14', 'DRONE_JOB_UUID': '7b52009b64'}, globalenv=globalenv), linux_cxx("gcc 7", "g++-7", packages="g++-7", buildtype="boost", buildscript="drone", image=linuxglobalimage, environment={'B2_TOOLSET': 'gcc-7', 'B2_CXXSTD': '14,17', 'DRONE_JOB_UUID': 'bd307a3ec3'}, globalenv=globalenv), diff --git a/README.md b/README.md index ffed0b25..4a079f2f 100644 --- a/README.md +++ b/README.md @@ -108,6 +108,9 @@ Boost.JSON has been tested with the following compilers: * gcc: 4.8, 4.9, 5, 6, 7, 8, 9, 10, 11, 12 * msvc: 14.0, 14.1, 14.2, 14.3 +**Note: support for GCC 4.8 and 4.9 is deprecated and will stop in +Boost 1.88.0.** + ### Supported JSON Text The library expects input text to be encoded using UTF-8, which is a diff --git a/doc/qbk/overview.qbk b/doc/qbk/overview.qbk index d4f564b8..e3759dfb 100644 --- a/doc/qbk/overview.qbk +++ b/doc/qbk/overview.qbk @@ -134,6 +134,9 @@ Boost.JSON has been tested with the following compilers: * gcc: 4.8, 4.9, 5, 6, 7, 8, 9, 10, 11, 12 * msvc: 14.0, 14.1, 14.2, 14.3 +[important Support for GCC 4.8 and 4.9 is deprecated and will stop in +Boost 1.88.0.] + [heading Supported JSON Text] The library expects input text to be encoded using UTF-8, which is a diff --git a/include/boost/json/detail/config.hpp b/include/boost/json/detail/config.hpp index f25c6a96..2185fb84 100644 --- a/include/boost/json/detail/config.hpp +++ b/include/boost/json/detail/config.hpp @@ -11,6 +11,7 @@ #define BOOST_JSON_DETAIL_CONFIG_HPP #include +#include #include #include #include @@ -216,4 +217,8 @@ constexpr T static_const::value; } // namespace json } // namespace boost +#if defined(BOOST_GCC) && BOOST_GCC < 50000 && !defined(BOOST_ALLOW_DEPRECATED) +# pragma GCC warning "Support for GCC versions below 5.0 is deprecated and will stop in Boost 1.88.0. To suppress this message define macro BOOST_ALLOW_DEPRECATED." +#endif + #endif