Le 12/10/2021 à 20:37, Alexandre Julliard a écrit :
Eric Pouech <eric.pouech@orange.fr> writes:

Le 12/10/2021 à 18:17, Alexandre Julliard a écrit :
Eric Pouech <eric.pouech@orange.fr> writes:

i'm currently fixing a couple of bugs introduced when linking winedbg with msvcrt (cough cough)

a couple of items strike me (for cross compiling only):

- why is cross compilation done with -Wno-format flag? what's the rationale behind it (it hides a couple of errors ;-)
It's disabled on 64-bit because most places are still using the Unix
formats. This will have to be fixed eventually, and -Wno-format will
then be applied to non-Mingw builds instead.
you mean replacing all the the %l[udx] (lower case l) by %I[udx]
(upper case i) ?
Yes, but there are other issues, like the fact that we use long instead
of int on 32-bit. It will take some thought to find a way to do the
transition without having to fix a million warnings at once.

for the record, out of the 1300 Mafile.in in the wine tree, only ~180(*) generate warnings when removing the -Wno-format


this really calls for removing the -Wno-format and add the -Wno-format on a per directory basis

would such a thing be acceptable?


i tried currently with hijacking EXTRAINCL (by appending the -Wno-format in Makefile.in) and tweaking makedep to support it

in the tweaking, I made the flag inheritable across the PARENT relationship (hence the (*) count above is an underestimation as all subdirs with PARENT are not included in the count)

but that's not 100% satisfactory, isn't it?


I was rather tempted to add the attributes format in .h files only when WINE_NO_ATTRIBUTE_FORMAT isn't defined, and append for subdirs that don't support it that define to the EXTRADEF


comments welcomed

A+