configure.ac                      |    6 ++++--
 download.lst                      |    4 ++--
 external/pdfium/Library_pdfium.mk |   15 ++++++++++-----
 external/pdfium/build.patch.1     |   12 ++++++++++++
 vcl/opengl/x11/X11DeviceInfo.cxx  |    1 +
 5 files changed, 29 insertions(+), 9 deletions(-)

New commits:
commit de932e299e658087c3bbafbf613741bc730f9bae
Author:     Michael Stahl <[email protected]>
AuthorDate: Thu Nov 13 19:36:05 2025 +0100
Commit:     Michael Stahl <[email protected]>
CommitDate: Fri Nov 14 14:12:15 2025 +0100

    vcl: another stdint.h for GCC 15
    
    Change-Id: Idbe16cb0b2bf379c6ca1f83423d2cf0d284199cf
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193989
    Reviewed-by: Michael Stahl <[email protected]>
    Tested-by: allotropia jenkins <[email protected]>

diff --git a/vcl/opengl/x11/X11DeviceInfo.cxx b/vcl/opengl/x11/X11DeviceInfo.cxx
index 7f671952f0fe..3a06bc951f4b 100644
--- a/vcl/opengl/x11/X11DeviceInfo.cxx
+++ b/vcl/opengl/x11/X11DeviceInfo.cxx
@@ -16,6 +16,7 @@
 #include <sal/log.hxx>
 
 #include <unistd.h>
+#include <stdint.h>
 #include <sys/types.h>
 #include <sys/wait.h>
 #include <errno.h>
commit 4cceb65d2021787e6485f814e9eb51cda6ec75a8
Author:     Miklos Vajna <[email protected]>
AuthorDate: Thu Feb 13 13:45:38 2025 +0100
Commit:     Michael Stahl <[email protected]>
CommitDate: Fri Nov 14 14:12:11 2025 +0100

    Update pdfium to 7012
    
    Windows has to switch to clang-cl, see
    <https://groups.google.com/g/pdfium/c/d7KZi_wePHs/m/7eZyhYhVDAAJ> "Does
    anyone still use MSVC?", similar to what skia does already.
    
    This also allows reverting the CppunitTest_vcl_pdfexport and
    CppunitTest_vcl_pdfexport2 test tweaks from commit
    59c5a7d5c7502770896491a59c73de3c627afcc5 (Update pdfium to 6764,
    2024-10-14).
    
    (cherry picked from commit 6007fbef5c2e4a0b80a4c0031ff36117aa41e63f)
    
    Change-Id: I14052c74c551c4412a13a77eac6284455365d888
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182915
    Tested-by: Jenkins CollaboraOffice <[email protected]>
    Reviewed-by: Miklos Vajna <[email protected]>
    (cherry picked from commit 1118df298a3541e9b86aee2cbfb520cc85f4d583)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193769
    (cherry picked from commit 96aed26163a408368a34d26f928698886aa787a8)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/193903
    Tested-by: allotropia jenkins <[email protected]>
    Reviewed-by: Michael Stahl <[email protected]>

diff --git a/download.lst b/download.lst
index 4b780c5cbb87..b1dc06c99cc4 100644
--- a/download.lst
+++ b/download.lst
@@ -455,8 +455,8 @@ PAGEMAKER_TARBALL := libpagemaker-0.0.4.tar.xz
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
-PDFIUM_SHA256SUM := 
03aabafd8bed319f87aa96871264dc599879e482a0923450070dac987c8a671e
-PDFIUM_TARBALL := pdfium-6887.tar.bz2
+PDFIUM_SHA256SUM := 
e647ca4fcc2c91d9dca717452e1b1be1ab6155ac4977dca716041652c7b10bdd
+PDFIUM_TARBALL := pdfium-7012.tar.bz2
 # three static lines
 # so that git cherry-pick
 # will not run into conflicts
diff --git a/external/pdfium/Library_pdfium.mk 
b/external/pdfium/Library_pdfium.mk
index 190777085093..f982a397b07a 100644
--- a/external/pdfium/Library_pdfium.mk
+++ b/external/pdfium/Library_pdfium.mk
@@ -13,14 +13,19 @@ $(eval $(call gb_Library_use_unpacked,pdfium,pdfium))
 
 $(eval $(call gb_Library_set_warnings_disabled,pdfium))
 
-$(eval $(call 
gb_Library_set_precompiled_header,pdfium,external/pdfium/inc/pch/precompiled_pdfium))
-
-# force C++20 with MSVC
-ifneq ($(filter -std:c++17,$(CXXFLAGS_CXX11)),)
+ifeq ($(COM),MSC)
+$(eval $(call gb_Library_use_clang,pdfium))
+endif
+#This currently results in all sorts of compile complaints
+#$(eval $(call 
gb_Library_set_precompiled_header,pdfium,external/pdfium/inc/pch/precompiled_pdfium))
+# The clang-cl provided with at least VS 2019 16.11.28 is known-broken with 
-std:c++20:
+ifneq ($(filter -std:c++20,$(CXXFLAGS_CXX11)),)
+ifeq ($(LO_CLANG_VERSION),120000)
 $(eval $(call gb_Library_add_cxxflags,pdfium, \
-    -std:c++20 \
+    -std:c++17 \
 ))
 endif
+endif
 
 $(eval $(call gb_Library_set_include,pdfium,\
     -I$(call gb_UnpackedTarball_get_dir,pdfium) \
diff --git a/external/pdfium/build.patch.1 b/external/pdfium/build.patch.1
index 99115f64ea9f..48189fc1f278 100644
--- a/external/pdfium/build.patch.1
+++ b/external/pdfium/build.patch.1
@@ -147,3 +147,15 @@ index 8026a75d5..34c20d62f 100644
    static_assert(kModeKeyForMode.size() == FPDF_ANNOT_APPEARANCEMODE_COUNT,
                  "length of kModeKeyForMode should be equal to "
                  "FPDF_ANNOT_APPEARANCEMODE_COUNT");
+--- a/core/fxcrt/fx_memory_wrappers.h  2025-02-13 13:38:35.761778900 +0100
++++ b/core/fxcrt/fx_memory_wrappers.h  2025-02-13 13:38:48.136654800 +0100
+@@ -33,9 +33,6 @@
+ template <class T, void* Alloc(size_t, size_t), void Free(void*)>
+ struct FxPartitionAllocAllocator {
+  public:
+-  static_assert(std::is_arithmetic<T>::value || std::is_enum<T>::value ||
+-                    IsFXDataPartitionException<T>::value,
+-                "Only numeric types allowed in this partition");
+ 
+   using value_type = T;
+   using pointer = T*;
commit 8a34c4478de3d5b43dea261b75e833b04b194eaf
Author:     Luboš Luňák <[email protected]>
AuthorDate: Mon Apr 20 16:28:23 2020 +0200
Commit:     Michael Stahl <[email protected]>
CommitDate: Fri Nov 14 14:12:05 2025 +0100

    fix --enable-64-bit Windows build with Clang for Skia
    
    Change-Id: Ia55e0b6ab6b970cbafe2c8283b255eae0ad66567
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92577
    Reviewed-by: Mike Kaganski <[email protected]>
    Reviewed-by: Luboš Luňák <[email protected]>
    Tested-by: Jenkins
    (cherry picked from commit 4e61f3844982965dad4e206a8bf4dfec4174c805)
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/194015
    Reviewed-by: Michael Stahl <[email protected]>
    Tested-by: allotropia jenkins <[email protected]>

diff --git a/configure.ac b/configure.ac
index e149b8efd232..689e8c8928b2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10944,9 +10944,11 @@ if test "$ENABLE_PDFIUM" = TRUE -a "$COM_IS_CLANG" != 
TRUE; then
             AC_MSG_CHECKING([for clang-cl])
             if test -x "$VC_PRODUCT_DIR/Tools/Llvm/bin/clang-cl.exe"; then
                 CLANG_C=`win_short_path_for_make 
"$VC_PRODUCT_DIR/Tools/Llvm/bin/clang-cl.exe"`
+                dnl match our MSVC default, also explicitly set -m32/-m64
                 if test "$BITNESS_OVERRIDE" = ""; then
-                    dnl match our MSVC default
-                    CLANG_C="$CLANG_C -arch:SSE"
+                    CLANG_C="$CLANG_C -m32 -arch:SSE"
+                else
+                    CLANG_C="$CLANG_C -m64"
                 fi
                 CLANG_CXX="$CLANG_C"
                 AC_MSG_RESULT([$CLANG_C])

Reply via email to