On Sun, 16 Feb 2025 11:41:00 +0100, Theo Buehler wrote:
> Doesn't build with clang 19. Diff below fixes it.
> 
> gentoo has the same workaround:
> https://gitweb.gentoo.org/repo/gentoo.git/tree/dev-libs/xalan-c/files/xalan-c-1.12-gcc-15.patch

This would need a major library bump in theory, but I think we can get
away without because nothing is using it yet.

OK.

> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/textproc/xalan-c/Makefile,v
> diff -u -p -r1.6 Makefile
> --- Makefile  14 Feb 2025 18:27:16 -0000      1.6
> +++ Makefile  16 Feb 2025 10:40:17 -0000
> @@ -3,7 +3,7 @@ COMMENT =             XML/XSLT library
>  V =                  1.12
>  DISTNAME =           xalan_c-$V
>  PKGNAME =            xalan-c-$V
> -REVISION =           1
> +REVISION =           2
>  
>  SHARED_LIBS +=  xalan-c                   0.0 # 0.0
>  SHARED_LIBS +=  xalanMsg                  0.0 # 0.0
> Index: patches/patch-src_xalanc_XMLSupport_XalanOtherEncodingWriter_hpp
> ===================================================================
> RCS file: patches/patch-src_xalanc_XMLSupport_XalanOtherEncodingWriter_hpp
> diff -N patches/patch-src_xalanc_XMLSupport_XalanOtherEncodingWriter_hpp
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-src_xalanc_XMLSupport_XalanOtherEncodingWriter_hpp  16 Feb 
> 2025 10:32:43 -0000
> @@ -0,0 +1,59 @@
> +Fix build with clang 19 by removing never instantiated function
> +that doesn't compile:
> +
> +/tmp/pobj/xalan-c-1.12/xalan_c-1.12/src/xalanc/XMLSupport/XalanOtherEncodingWriter.hpp:323:31:
>  error: no member named 'm_isPresentable' in 
> 'XalanOtherEncodingWriter<Predicate, ConstantsType>'
> +  323 |                     if (this->m_isPresentable(value))
> +      |                         ~~~~  ^
> +/tmp/pobj/xalan-c-1.12/xalan_c-1.12/src/xalanc/XMLSupport/XalanOtherEncodingWriter.hpp:329:31:
>  error: no member named 'writeNumberedEntityReference' in 
> 'XalanOtherEncodingWriter<Predicate, ConstantsType>'
> +  329 |                         this->writeNumberedEntityReference(value);
> +      |                         ~~~~  ^
> +1 warning and 2 errors generated.
> +
> +Index: src/xalanc/XMLSupport/XalanOtherEncodingWriter.hpp
> +--- src/xalanc/XMLSupport/XalanOtherEncodingWriter.hpp.orig
> ++++ src/xalanc/XMLSupport/XalanOtherEncodingWriter.hpp
> +@@ -302,44 +302,6 @@ class XalanOtherEncodingWriter : public XalanFormatter
> +     }
> + 
> +     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)
> +     {
> +         write(theChars, XalanDOMString::length(theChars));

Reply via email to