https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90175
--- Comment #2 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- On Wed, 28 Aug 2019, jozefl.gcc at gmail dot com wrote: > As far as I understand, strings which get passed to warning() or error() or > other functions with arguments ending in gmsgid don't need to be wrapped with > G_() or N_(). From gcc/ABOUT-GCC-NLS again: That's if the string constant appears directly as an argument to the function. You need G_ (extract string possibly using GCC-specific pretty-printer formats for translation) or N_ (extract string not using such formats for translation) in any other case, including if the function argument is a conditional expression between string constants, or the string is stored in a variable.