https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90036
--- Comment #6 from Segher Boessenkool <segher at gcc dot gnu.org> --- (In reply to Martin Sebor from comment #5) > A conversion specification is what follows the % character (i.e., just the > 's' in in something like "%3s", with the 's' being called a conversion > specifier). 7.21.6.1/4. 's' is the "conversion specifier character", but the whole thing is the "conversion specification", including the percent sign. /3 says a directive is a conversion specification or an ordinary character, so imho it isn't great to refer to directives in the warning (also it's the first time I heard it called that; I hazard I'm not the only one. > The use of plain here null comes -Wnonnull: null argument where non-null > required. I don't see that as a problem but I also wouldn't have an issue > with changing both to "null pointer" (like -Wformat prints) just as long as > it's done consistently. Right. There are two goals to warnings: 1) They should be *correct*; 2) they should be helpful. Sometimes these two bite each other. Rephrasing can help sometimes.