https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87593
--- Comment #1 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- Supporting format_arg for multiple arguments of a function isn't a mistake or counter-intuitive at all. A correct declaration of the ngettext function requires more than one format_arg attribute, and the format checking code will correctly check both formats passed in that case. (I'm not sure why you'd use two separate declarations to provide the two attributes, however - it's more plausible you could have the same ngettext-like function declared twice, with the same two attributes on both declarations.)