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

next in thread | previous in thread | raw e-mail | index | archive | help
Bugzilla Automation <bugzilla@FreeBSD.org> has asked freebsd-perl (Nobody)
<perl@FreeBSD.org> for maintainer-feedback:
Bug 271355: textproc/p5-XML-LibXML: fix build with clang 16
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D271355



--- Description ---
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, PmmRegistryHashDeallocator)
)
						    ^~~~~~~~~~~~~~~~~~~~~~~~~~
  /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.



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