external/pdfium/gcc-c++20-comparison.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
New commits: commit 68f4da7fff44c1bbb7922be536f496b38e457252 Author: Stephan Bergmann <sberg...@redhat.com> AuthorDate: Mon Oct 10 12:54:09 2022 +0200 Commit: Stephan Bergmann <sberg...@redhat.com> CommitDate: Mon Oct 10 15:00:02 2022 +0200 Adapt external/pdfium/gcc-c++20-comparison.patch to P2468R2 (<https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2022/p2468r2.html> "The Equality Operator You Are Looking For"), as now implemented by Clang 16 trunk since <https://github.com/llvm/llvm-project/commit/38b9d313e6945804fffc654f849cfa05ba2c713d> "[C++20][Clang] P2468R2 The Equality Operator You Are Looking For", and which started to make my --with-latest-c++ build fail with > workdir/UnpackedTarball/pdfium/fpdfsdk/cpdfsdk_interactiveform.cpp:189:22: error: invalid operands to binary expression ('const CPDF_Dictionary *' and 'RetainPtr<const CPDF_Object>') > if (pAnnotDict == pDict) > ~~~~~~~~~~ ^ ~~~~~ > workdir/UnpackedTarball/pdfium/core/fxcrt/bytestring.h:227:13: note: candidate function not viable: no known conversion from 'const CPDF_Dictionary *' to 'const char *' for 1st argument > inline bool operator==(const char* lhs, const ByteString& rhs) { > ^ > workdir/UnpackedTarball/pdfium/core/fxcrt/bytestring.h:227:13: note: candidate function (with reversed parameter order) not viable: no known conversion from 'const CPDF_Dictionary *' to 'const ByteString' for 1st argument > workdir/UnpackedTarball/pdfium/core/fxcrt/bytestring.h:230:13: note: candidate function not viable: no known conversion from 'const CPDF_Dictionary *' to 'ByteStringView' (aka 'StringViewTemplate<char>') for 1st argument > inline bool operator==(ByteStringView lhs, const ByteString& rhs) { > ^ > workdir/UnpackedTarball/pdfium/core/fxcrt/bytestring.h:230:13: note: candidate function (with reversed parameter order) not viable: no known conversion from 'const CPDF_Dictionary *' to 'const ByteString' for 1st argument > workdir/UnpackedTarball/pdfium/core/fxcrt/widestring.h:285:13: note: candidate function not viable: no known conversion from 'const CPDF_Dictionary *' to 'const wchar_t *' for 1st argument > inline bool operator==(const wchar_t* lhs, const WideString& rhs) { > ^ > workdir/UnpackedTarball/pdfium/core/fxcrt/widestring.h:285:13: note: candidate function (with reversed parameter order) not viable: no known conversion from 'const CPDF_Dictionary *' to 'const WideString' for 1st argument > workdir/UnpackedTarball/pdfium/core/fxcrt/widestring.h:288:13: note: candidate function not viable: no known conversion from 'const CPDF_Dictionary *' to 'WideStringView' (aka 'StringViewTemplate<wchar_t>') for 1st argument > inline bool operator==(WideStringView lhs, const WideString& rhs) { > ^ > workdir/UnpackedTarball/pdfium/core/fxcrt/widestring.h:288:13: note: candidate function (with reversed parameter order) not viable: no known conversion from 'const CPDF_Dictionary *' to 'const WideString' for 1st argument > workdir/UnpackedTarball/pdfium/core/fxge/cfx_color.h:61:13: note: candidate function not viable: no known conversion from 'const CPDF_Dictionary *' to 'const CFX_Color' for 1st argument > inline bool operator==(const CFX_Color& c1, const CFX_Color& c2) { > ^ > workdir/UnpackedTarball/pdfium/core/fxcrt/string_view_template.h:277:13: note: candidate template ignored: could not match 'StringViewTemplate' against 'RetainPtr' > inline bool operator==(const T* lhs, const StringViewTemplate<T>& rhs) { > ^ > workdir/UnpackedTarball/pdfium/core/fxcrt/string_view_template.h:277:13: note: candidate template ignored: could not match 'const T *' against 'RetainPtr<const CPDF_Object>' > workdir/UnpackedTarball/pdfium/core/fxcrt/observed_ptr.h:98:13: note: candidate template ignored: could not match 'ObservedPtr' against 'RetainPtr' > inline bool operator==(const U* lhs, const ObservedPtr<T>& rhs) { > ^ > workdir/UnpackedTarball/pdfium/core/fxcrt/observed_ptr.h:98:13: note: candidate template ignored: could not match 'const U *' against 'RetainPtr<const CPDF_Object>' Change-Id: Ibef9e5515dc466431741220adebec9c6e20850e1 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/141154 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sberg...@redhat.com> diff --git a/external/pdfium/gcc-c++20-comparison.patch b/external/pdfium/gcc-c++20-comparison.patch index 0895ea8b5f9d..bc7f2ed9538b 100644 --- a/external/pdfium/gcc-c++20-comparison.patch +++ b/external/pdfium/gcc-c++20-comparison.patch @@ -4,7 +4,7 @@ mutable intptr_t m_nRefCount = 0; }; -+#if __cplusplus < 202002L ++#if __cplusplus < 202002L || (defined __clang__ && __clang_major__ >= 16) template <typename T, typename U> inline bool operator==(const U* lhs, const RetainPtr<T>& rhs) { return rhs == lhs;