Files
loongoffice/external/boost/Wundef.patch.0
Stephan Bergmann f65d7265c6 Upgrade external/boost to latest Boost 1.84.0
<https://dev-www.libreoffice.org/src/boost_1_84_0.tar.xz> has been generated (on
Fedora 39) with

> $ wget https://boostorg.jfrog.io/artifactory/main/release/1.84.0/source/boost_1_84_0.tar.bz2
> $ printf 'cc4b893acf645c9d4b698e9a0f08ca8846aa5d6c68275c14c3e7949c24109454 boost_1_84_0.tar.bz2' | sha256sum -c # cf. <https://www.boost.org/users/history/version_1_84_0.html>
> boost_1_84_0.tar.bz2: OK
> $ external/boost/repack_tarball.sh boost_1_84_0.tar.bz2
> Unpacking boost_1_84_0.tar.bz2 ...
> Removing unnecessary files ...
> Creating boost_1_84_0.tar.xz ...
> Cleaning up ...
> fd4a2ee785ea0e4efc5221a4284e0cf51096e8409871fb70fdaced002eeffc0b  boost_1_84_0.tar.xz
> Done.

* external/boost/0001-Avoid-boost-phoenix-placeholders-uarg1.10-ODR-violat.patch.2
  was obsoleted by
  <665047aac2>
  "avoid ODR by making this const".

* The modified external/boost/windows-no-utf8-locales.patch.0, whose original
  version no longer applied as-is, should hopefully still mitigate the issue
  described in 072a25e1ef4815bbef4f18f59f025862a0d8e876 "tdf#157135 workaround:
  restore and update windows-no-utf8-locales.patch.0".

* external/boost/Wundef.patch.0 is needed to silence

> In file included from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/throw_exception.hpp:24,
>                  from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/unordered/detail/serialize_tracked_address.hpp:16,
>                  from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/unordered/detail/fca.hpp:117,
>                  from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/unordered/detail/implementation.hpp:17,
>                  from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/unordered/detail/map.hpp:7,
>                  from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/unordered/unordered_map.hpp:17,
>                  from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/unordered_map.hpp:17,
>                  from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/external/boost/include/boost/unordered_map.hpp:30,
>                  from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/configmgr/source/modifications.hxx:28,
>                  from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/configmgr/source/data.hxx:34,
>                  from /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/configmgr/source/groupnode.cxx:26:
> /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/unordered/detail/type_traits.hpp:51:22: error: "BOOST_LIBSTDCXX_VERSION_WORKAROUND_GUARD" is not defined, evaluates to 0 [-Werror=undef]
>    51 | #if BOOST_WORKAROUND(BOOST_LIBSTDCXX_VERSION, < 50000)
>       |                      ^~~~~~~~~~~~~~~~~~~~~~~
> /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/config/workaround.hpp:272:10: note: in definition of macro ‘BOOST_WORKAROUND’
>   272 |        ((symbol ## _WORKAROUND_GUARD + 0 == 0) &&     \
>       |          ^~~~~~
> /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/unordered/detail/type_traits.hpp:64:22: error: "BOOST_LIBSTDCXX_VERSION_WORKAROUND_GUARD" is not defined, evaluates to 0 [-Werror=undef]
>    64 | #if BOOST_WORKAROUND(BOOST_LIBSTDCXX_VERSION, < 50000)
>       |                      ^~~~~~~~~~~~~~~~~~~~~~~
> /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/config/workaround.hpp:272:10: note: in definition of macro ‘BOOST_WORKAROUND’
>   272 |        ((symbol ## _WORKAROUND_GUARD + 0 == 0) &&     \
>       |          ^~~~~~
> /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/unordered/detail/type_traits.hpp:77:22: error: "BOOST_LIBSTDCXX_VERSION_WORKAROUND_GUARD" is not defined, evaluates to 0 [-Werror=undef]
>    77 | #if BOOST_WORKAROUND(BOOST_LIBSTDCXX_VERSION, < 50000)
>       |                      ^~~~~~~~~~~~~~~~~~~~~~~
> /home/tdf/lode/jenkins/workspace/lo_gerrit/Config/linux_gcc_release_64/workdir/UnpackedTarball/boost/boost/config/workaround.hpp:272:10: note: in definition of macro ‘BOOST_WORKAROUND’
>   272 |        ((symbol ## _WORKAROUND_GUARD + 0 == 0) &&     \
>       |          ^~~~~~

  etc. (<https://ci.libreoffice.org/job/gerrit_linux_gcc_release/155922/>) as
  seen with some versions of GCC which apparently fail to honor in that
  situation the

> #pragma GCC diagnostic ignored "-Wundef"

  in the external/boost/include wrappers.  (Using

> #pragma GCC system_header

  in those external/boost/include wrappers had been dismissed with
  29661a886e4157e0cb6141b49fb5602fa621cc9a "boost: stop using #pragma GCC
  system_header".)

Change-Id: Idf1d5a17bc198b8ea7a54751e8e2fa6ca2169167
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/161138
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <stephan.bergmann@allotropia.de>
2024-04-07 18:11:24 +02:00

56 lines
1.7 KiB
Plaintext

--- boost/config/workaround.hpp
+++ boost/config/workaround.hpp
@@ -264,6 +264,10 @@
#else
#define BOOST_CLANG_VERSION_WORKAROUND_GUARD 0
#endif
+
+#if !defined BOOST_LIBSTDCXX_VERSION_WORKAROUND_GUARD
+#define BOOST_LIBSTDCXX_VERSION_WORKAROUND_GUARD 0
+#endif
// Always define to zero, if it's used it'll be defined my MPL:
#define BOOST_MPL_CFG_GCC_WORKAROUND_GUARD 0
--- boost/locale/detail/facet_id.hpp
+++ boost/locale/detail/facet_id.hpp
@@ -12,7 +12,7 @@
/// \cond INTERNAL
namespace boost { namespace locale { namespace detail {
-#if BOOST_CLANG_VERSION >= 40900
+#if defined BOOST_CLANG_VERSION && BOOST_CLANG_VERSION >= 40900
# pragma clang diagnostic push
# pragma clang diagnostic ignored "-Wundefined-var-template"
#endif
@@ -25,7 +25,7 @@
struct BOOST_LOCALE_DECL facet_id {
static std::locale::id id;
};
-#if BOOST_CLANG_VERSION >= 40900
+#if defined BOOST_CLANG_VERSION && BOOST_CLANG_VERSION >= 40900
# pragma clang diagnostic pop
#endif
}}} // namespace boost::locale::detail
--- boost/math/tools/config.hpp
+++ boost/math/tools/config.hpp
@@ -147,7 +147,7 @@
#endif
// C++23
-#if __cplusplus > 202002L || _MSVC_LANG > 202002L
+#if __cplusplus > 202002L || (defined _MSVC_LANG && _MSVC_LANG > 202002L)
# if __GNUC__ >= 13
// libstdc++3 only defines to/from_chars for std::float128_t when one of these defines are set
// otherwise we're right out of luck...
--- boost/math/tools/promotion.hpp
+++ boost/math/tools/promotion.hpp
@@ -27,7 +27,7 @@
#include <type_traits>
#if defined __has_include
-# if __cplusplus > 202002L || _MSVC_LANG > 202002L
+# if __cplusplus > 202002L || (defined _MSVC_LANG && _MSVC_LANG > 202002L)
# if __has_include (<stdfloat>)
# include <stdfloat>
# endif