download.lst                            |    4 ++--
 external/expat/UnpackedTarball_expat.mk |    1 -
 external/expat/expat-winapi.patch       |   14 ++++++++++++++
 external/expat/ubsan.patch.0            |   11 -----------
 include/sal/log.hxx                     |    5 ++++-
 5 files changed, 20 insertions(+), 15 deletions(-)

New commits:
commit ff5c9e9557f40248db838520b849e95e0bc3308c
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Tue May 25 10:44:13 2021 +0100
Commit:     Thorsten Behrens <thorsten.behr...@allotropia.de>
CommitDate: Mon Jul 26 12:39:16 2021 +0200

    upgrade to Expat 2.4.1
    
    drop ubsan patch in favour of fix applied as
    https://github.com/libexpat/libexpat/pull/398
    
    Change-Id: I59eb9e24206b9a4cf323b7f7d48d8df0792a1c46
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116102
    Tested-by: Jenkins
    Reviewed-by: Michael Stahl <michael.st...@allotropia.de>
    (cherry picked from commit 740d12d8a8294d4bfd28e6c3e4cf1e0ed560b198)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119422
    Tested-by: Thorsten Behrens <thorsten.behr...@allotropia.de>
    Reviewed-by: Thorsten Behrens <thorsten.behr...@allotropia.de>

diff --git a/download.lst b/download.lst
index 520482de6475..bc484b5f6238 100644
--- a/download.lst
+++ b/download.lst
@@ -42,8 +42,8 @@ export EPUBGEN_TARBALL := libepubgen-0.1.1.tar.xz
 export ETONYEK_SHA256SUM := 
e61677e8799ce6e55b25afc11aa5339113f6a49cff031f336e32fa58635b1a4a
 export ETONYEK_VERSION_MICRO := 9
 export ETONYEK_TARBALL := libetonyek-0.1.$(ETONYEK_VERSION_MICRO).tar.xz
-export EXPAT_SHA256SUM := 
9a130948b05a82da34e4171d5f5ae5d321d9630277af02c8fa51e431f6475102
-export EXPAT_TARBALL := expat-2.2.8.tar.bz2
+export EXPAT_SHA256SUM := 
2f9b6a580b94577b150a7d5617ad4643a4301a6616ff459307df3e225bcfbf40
+export EXPAT_TARBALL := expat-2.4.1.tar.bz2
 export FIREBIRD_SHA256SUM := 
6994be3555e23226630c587444be19d309b25b0fcf1f87df3b4e3f88943e5860
 export FIREBIRD_TARBALL := Firebird-3.0.0.32483-0.tar.bz2
 export FONTCONFIG_SHA256SUM := 
cf0c30807d08f6a28ab46c61b8dbd55c97d2f292cf88f3a07d3384687f31f017
diff --git a/external/expat/UnpackedTarball_expat.mk 
b/external/expat/UnpackedTarball_expat.mk
index 96f4e3ec8732..5d4f41f6d147 100644
--- a/external/expat/UnpackedTarball_expat.mk
+++ b/external/expat/UnpackedTarball_expat.mk
@@ -15,7 +15,6 @@ $(eval $(call 
gb_UnpackedTarball_update_autoconf_configs,expat,conftools))
 
 $(eval $(call gb_UnpackedTarball_add_patches,expat,\
        external/expat/expat-winapi.patch \
-       external/expat/ubsan.patch.0 \
 ))
 
 # This is a bit hackish.
diff --git a/external/expat/expat-winapi.patch 
b/external/expat/expat-winapi.patch
index b33c12b83b4c..bd4da1472fc8 100644
--- a/external/expat/expat-winapi.patch
+++ b/external/expat/expat-winapi.patch
@@ -11,3 +11,17 @@
  #  endif
  #endif /* not defined XML_STATIC */
  
+--- misc/expat-2.1.0/lib/xmlparse.c    2021-05-23 16:56:25.000000000 +0100
++++ misc/build/expat-2.1.0/lib/xmlparse.c      2021-05-25 12:42:11.997173600 
+0100
+@@ -92,6 +92,11 @@
+ 
+ #include <expat_config.h>
+ 
++#ifdef _WIN32
++#  undef HAVE_GETRANDOM
++#  undef HAVE_SYSCALL_GETRANDOM
++#endif
++
+ #include "ascii.h"
+ #include "expat.h"
+ #include "siphash.h"
diff --git a/external/expat/ubsan.patch.0 b/external/expat/ubsan.patch.0
deleted file mode 100644
index 8317f922df88..000000000000
--- a/external/expat/ubsan.patch.0
+++ /dev/null
@@ -1,11 +0,0 @@
---- lib/xmlparse.c
-+++ lib/xmlparse.c
-@@ -6485,7 +6485,7 @@
- static void FASTCALL
- hashTableIterInit(HASH_TABLE_ITER *iter, const HASH_TABLE *table) {
-   iter->p = table->v;
--  iter->end = iter->p + table->size;
-+  iter->end = table->size == 0 ? iter->p : iter->p + table->size;
- }
- 
- static NAMED *FASTCALL
commit 6a564eaa163cea2bc4d9f0d0404f0efaa3990651
Author:     Stephan Bergmann <sberg...@redhat.com>
AuthorDate: Wed May 5 08:20:18 2021 +0200
Commit:     Thorsten Behrens <thorsten.behr...@allotropia.de>
CommitDate: Mon Jul 26 12:39:00 2021 +0200

    Adapt to "libstdc++: Implement LWG 1203 for rvalue iostreams"
    
    
<https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=aa475c4ac80733f85ba47b109fc1900f05e810e2>
    towards GCC 12, so that now "the return type is the original rvalue stream 
type
    not its base class."  (And which would thus have caused issues like
    
    > sfx2/source/control/bindings.cxx:1323:19: error: dynamic_cast from rvalue 
to reference type '::std::ostringstream &' (aka 'basic_ostringstream<char> &')
    >                 ? SAL_STREAM("File: " << pFile << " Line: " << nLine) : 
""));
    >                 
~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    > include/sal/log.hxx:198:6: note: expanded from macro 'SAL_STREAM'
    >     (dynamic_cast< ::std::ostringstream & >(::std::ostringstream() << 
stream).str())
    >      ^
    > include/sal/log.hxx:341:20: note: expanded from macro 'SAL_INFO'
    >         SAL_WHERE, stream)
    >         ~~~~~~~~~~~^~~~~~~
    > include/sal/log.hxx:155:68: note: expanded from macro 
'SAL_DETAIL_LOG_STREAM'
    >                 SAL_DETAIL_LOG_STREAM_PRIVATE_(level, area, where, 
stream); \
    >                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
    > include/sal/log.hxx:133:45: note: expanded from macro 
'SAL_DETAIL_LOG_STREAM_PRIVATE_'
    >             ::sal::detail::StreamStart() << stream) == 1) \
    >                                             ^~~~~~
    
    now.  While the issue with old libstdc++ that originally prompted the
    dynamic_cast was
    
    > sfx2/source/control/bindings.cxx:1323:19: error: no member named 'str' in 
'std::basic_ostream<char>'
    >                 ? SAL_STREAM("File: " << pFile << " Line: " << nLine) : 
""));
    >                 
~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    > include/sal/log.hxx:194:40: note: expanded from macro 'SAL_STREAM'
    >     (::std::ostringstream() << stream).str()
    >                                        ^
    > include/sal/log.hxx:336:20: note: expanded from macro 'SAL_INFO'
    >         SAL_WHERE, stream)
    >         ~~~~~~~~~~~^~~~~~~
    > include/sal/log.hxx:155:68: note: expanded from macro 
'SAL_DETAIL_LOG_STREAM'
    >                 SAL_DETAIL_LOG_STREAM_PRIVATE_(level, area, where, 
stream); \
    >                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~
    > include/sal/log.hxx:133:45: note: expanded from macro 
'SAL_DETAIL_LOG_STREAM_PRIVATE_'
    >             ::sal::detail::StreamStart() << stream) == 1) \
    >                                             ^~~~~~
    
    .)
    
    The libstdc++ macro _GLIBCXX_RELEASE is reportedly available since GCC 7.1.
    
    Change-Id: I1ee6eabb66355c1f28b9d305cbd85bac50d6b0e1
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115121
    Tested-by: Jenkins
    Reviewed-by: Stephan Bergmann <sberg...@redhat.com>
    
    (cherry picked from commit 1f3dddd6f21d91c429190ae314dadeec409f35f4, plus
    follow-up 95e26d3dce4f5a3b2d010d5ca47b4e450905a100 "tdf#142326: Adapt to
    'libstdc++: Implement LWG 1203 for rvalue iostreams'")
    Change-Id: I7c8fef25e15fcfa9b83924467dc86dc2957fbd7d
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116447
    Tested-by: Jenkins
    Reviewed-by: Caolán McNamara <caol...@redhat.com>
    (cherry picked from commit 428206c3c1c54d01435cf4e4a07174cfbd567335)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119421
    Tested-by: Thorsten Behrens <thorsten.behr...@allotropia.de>
    Reviewed-by: Thorsten Behrens <thorsten.behr...@allotropia.de>

diff --git a/include/sal/log.hxx b/include/sal/log.hxx
index 00d533ab5495..f85c7d882134 100644
--- a/include/sal/log.hxx
+++ b/include/sal/log.hxx
@@ -161,7 +161,10 @@ inline char const * unwrapStream(SAL_UNUSED_PARAMETER 
StreamIgnore const &) {
 
     @since LibreOffice 3.5
 */
-#if defined _LIBCPP_VERSION || (defined _MSC_VER && _MSC_VER >= 1915)
+#if defined _LIBCPP_VERSION \
+    || (defined _GLIBCXX_RELEASE \
+        && (_GLIBCXX_RELEASE >= 12 || (_GLIBCXX_RELEASE == 11 && __GLIBCXX__ > 
20210428))) \
+    || (defined _MSC_VER && _MSC_VER >= 1915)
 #define SAL_STREAM(stream) \
     (::std::ostringstream() << stream).str()
 #else
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to