Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 May 2023 19:24:06 +0000
From:      bugzilla-noreply@freebsd.org
To:        ports-bugs@FreeBSD.org
Subject:   [Bug 271355] textproc/p5-XML-LibXML: fix build with clang 16
Message-ID:  <bug-271355-7788@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D271355

            Bug ID: 271355
           Summary: textproc/p5-XML-LibXML: fix build with clang 16
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Some People
          Priority: ---
         Component: Individual Port(s)
          Assignee: perl@FreeBSD.org
          Reporter: dim@FreeBSD.org
          Assignee: perl@FreeBSD.org
             Flags: maintainer-feedback?(perl@FreeBSD.org)

Clang 16 has a new error about incompatible function types, which shows
up when building textproc/p5-XML-LibXML:

  perl-libxml-mm.c:142:18: error: incompatible function pointer types passi=
ng
'void (void *, void *, xmlChar *)' (aka 'void (void *, void *, unsigned char
*)') to parameter of type 'xmlHashScanner' (aka 'void (*)(void *, void *, c=
onst
unsigned char *)') [-Wincompatible-function-pointer-types]
                  xmlHashScan(r, PmmRegistryDumpHashScanner, NULL);
                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~
  /usr/local/include/libxml2/libxml/hash.h:213:22: note: passing argument to
parameter 'f' here
                                           xmlHashScanner f,
                                                          ^
  perl-libxml-mm.c:234:44: error: incompatible function pointer types passi=
ng
'void (void *, xmlChar *)' (aka 'void (void *, unsigned char *)') to parame=
ter
of type 'xmlHashDeallocator' (aka 'void (*)(void *, const unsigned char *)')
[-Wincompatible-function-pointer-types]
          if( xmlHashRemoveEntry(PmmREGISTRY, name, PmmRegistryHashDealloca=
tor)
)
                                                    ^~~~~~~~~~~~~~~~~~~~~~~=
~~~
  /usr/local/include/libxml2/libxml/hash.h:160:47: note: passing argument to
parameter 'f' here
                             xmlHashDeallocator f);
                                                ^
  perl-libxml-mm.c:301:38: error: incompatible function pointer types passi=
ng
'void *(void *, xmlChar *)' (aka 'void *(void *, unsigned char *)') to
parameter of type 'xmlHashCopier' (aka 'void *(*)(void *, const unsigned ch=
ar
*)') [-Wincompatible-function-pointer-types]
          reg_copy =3D xmlHashCopy(PmmREGISTRY, PmmRegistryHashCopier);
                                              ^~~~~~~~~~~~~~~~~~~~~
  /usr/local/include/libxml2/libxml/hash.h:208:21: note: passing argument to
parameter 'f' here
                                           xmlHashCopier f);
                                                         ^

In all three cases, the libxml2 callback functions require const xmlChar
pointers, so fix the parameters in their definitions.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-271355-7788>