https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117664
Bug ID: 117664 Summary: [15 regression] incompatible pointer type [-Wincompatible-pointer-types] Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c Assignee: unassigned at gcc dot gnu.org Reporter: juergen.reuter at desy dot de Target Milestone: --- Created attachment 59629 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=59629&action=edit Rperoducer, hopefully self-contained Hello, very likely this is not a bug report, but some legacy code being sloppy, so I would appreciate if you could check and maybe point me to a workaround for the sloppiness. In any case, between Nov. 10 and Nov. 17 there was a commit to the gcc master that made our included legacy code fail to compile with error messages like: $ gcc -I. -g -O2 -c stdhep_mcfio.c stdhep_mcfio.c: In function ‘StdHepXdrRead’: stdhep_mcfio.c:153:51: error: passing argument 3 of ‘mcfioC_Block’ from incompatible pointer type [-Wincompatible-pointer-types] 153 | if (mcfioC_Block(istream,MCFIO_STDHEP,xdr_stdhep_) != -1) { | ^~~~~~~~~~~ | | | int (*)(void) In file included from stdhep_mcfio.c:42: mcfio_Block.h:10:9: note: expected ‘bool_t (*)(XDR *, int *, int *, char **)’ {aka ‘int (*)(struct __rpc_xdr *, int *, int *, char **)’} but argument is of type ‘int (*)(void)’ 10 | bool_t xdr_filtercode(XDR *xdrs, int *blockid, int *ntot, char **version)); | ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ stdhep_mcfio.c:162:52: error: passing argument 3 of ‘mcfioC_Block’ from incompatible pointer type [-Wincompatible-pointer-types] 162 | if (mcfioC_Block(istream,MCFIO_STDHEPM,xdr_stdhep_multi_) != -1) { | ^~~~~~~~~~~~~~~~~ | | | int (*)(void) mcfio_Block.h:10:9: note: expected ‘bool_t (*)(XDR *, int *, int *, char **)’ {aka ‘int (*)(struct __rpc_xdr *, int *, int *, char **)’} but argument is of type ‘int (*)(void)’ 10 | bool_t xdr_filtercode(XDR *xdrs, int *blockid, int *ntot, char **version)); [...] The reproducer is attached, I hope that it is self-contained. Best, Juergen