On Tue, Oct 04, 2022 at 08:11:05PM +0200, Holger Hoffstätte wrote: > > Gentoo is currently trying to rebuild the world with clang-16, uncovering exciting > new errors in many packages since several warnings have been turned into errors, > among them missing prototypes, as documented at: > https://discourse.llvm.org/t/clang-16-notice-of-potentially-breaking-changes/65562 > > xfsprogs came up, with details at https://bugs.gentoo.org/875050. > > The problem was easy to find: a missing include for the u_init/u_cleanup > prototypes. The error: > > Building scrub > [CC] unicrash.o > unicrash.c:746:2: error: call to undeclared function 'u_init'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration] > u_init(&uerr); > ^ > unicrash.c:746:2: note: did you mean 'u_digit'? > /usr/include/unicode/uchar.h:4073:1: note: 'u_digit' declared here > u_digit(UChar32 ch, int8_t radix); > ^ > unicrash.c:754:2: error: call to undeclared function 'u_cleanup'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration] > u_cleanup(); > ^ > 2 errors generated. > > The complaint is valid and the fix is easy enough: just add the missing include. > > Signed-off-by: Holger Hoffstätte <holger@xxxxxxxxxxxxxxxxxxxxxx> Aha, that explains why I kept hearing reports about this but could never get gcc to spit out this error. Thanks for fixing this. Reviewed-by: Darrick J. Wong <djwong@xxxxxxxxxx> --D > > -- xfsprogs-5.18.0/scrub/unicrash.c 2021-12-13 21:02:19.000000000 +0100 > +++ xfsprogs-5.18.0-nowarn/scrub/unicrash.c 2022-10-04 19:46:28.869402900 +0200 > @@ -10,6 +10,7 @@ > #include <sys/types.h> > #include <sys/statvfs.h> > #include <strings.h> > +#include <unicode/uclean.h> > #include <unicode/ustring.h> > #include <unicode/unorm2.h> > #include <unicode/uspoof.h> >