summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/xalan-c')
-rw-r--r--dev-libs/xalan-c/files/xalan-c-1.12-gcc-15.patch51
-rw-r--r--dev-libs/xalan-c/xalan-c-1.12-r2.ebuild1
2 files changed, 52 insertions, 0 deletions
diff --git a/dev-libs/xalan-c/files/xalan-c-1.12-gcc-15.patch b/dev-libs/xalan-c/files/xalan-c-1.12-gcc-15.patch
new file mode 100644
index 000000000000..2b2f2b42c46f
--- /dev/null
+++ b/dev-libs/xalan-c/files/xalan-c-1.12-gcc-15.patch
@@ -0,0 +1,51 @@
+https://bugs.gentoo.org/936501
+
+This function does not compile with gcc-15, but it was never instantiated, so just remove it.
+
+--- a/src/xalanc/XMLSupport/XalanOtherEncodingWriter.hpp
++++ b/src/xalanc/XMLSupport/XalanOtherEncodingWriter.hpp
+@@ -301,44 +301,6 @@ public:
+ return write(chars, start, length, m_charRefFunctor);
+ }
+
+- void
+- writeSafe(
+- const XalanDOMChar* theChars,
+- size_type theLength)
+- {
+- for(size_type i = 0; i < theLength; ++i)
+- {
+- const XalanDOMChar ch = theChars[i];
+-
+- if (isUTF16HighSurrogate(ch) == true)
+- {
+- if (i + 1 >= theLength)
+- {
+- throwInvalidUTF16SurrogateException(ch, 0, getMemoryManager());
+- }
+- else
+- {
+- XalanUnicodeChar value = decodeUTF16SurrogatePair(ch, theChars[i+1], getMemoryManager());
+-
+- if (this->m_isPresentable(value))
+- {
+- write(value);
+- }
+- else
+- {
+- this->writeNumberedEntityReference(value);
+- }
+-
+- ++i;
+- }
+- }
+- else
+- {
+- write(static_cast<XalanUnicodeChar>(ch));
+- }
+- }
+- }
+-
+ void
+ write(const XalanDOMChar* theChars)
+ {
diff --git a/dev-libs/xalan-c/xalan-c-1.12-r2.ebuild b/dev-libs/xalan-c/xalan-c-1.12-r2.ebuild
index beb96a63de6f..ce92a2b0e6c6 100644
--- a/dev-libs/xalan-c/xalan-c-1.12-r2.ebuild
+++ b/dev-libs/xalan-c/xalan-c-1.12-r2.ebuild
@@ -45,6 +45,7 @@ PATCHES=(
"${FILESDIR}"/${P}-fix-lto.patch
"${FILESDIR}"/${P}-fix-threads.patch
"${FILESDIR}"/${P}-icu-75.patch
+ "${FILESDIR}"/${P}-gcc-15.patch
)
src_configure() {