https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104134

--- Comment #10 from Steve Kargl <sgk at troutmask dot apl.washington.edu> ---
On Thu, Jan 20, 2022 at 12:25:35AM +0000, msebor at gcc dot gnu.org wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104134
> 
> --- Comment #9 from Martin Sebor <msebor at gcc dot gnu.org> ---
> The code uses the M_ macro:
> 
>   pp_printf (pp, M_("<unnamed %s>"), variety);
> 
> on my machine it expands into:
> 
>   pp_printf (pp, ((cxx_pp)->translate_identifiers ? gettext ("<unnamed %s>") :
> ("<unnamed %s>")), variety);
> 
> and GCC doesn't warn most likely because the front end doesn't see through the
> complex expressio.  If I remove the M_ it does warn.  So in the FreeBSD build
> the M_() macro probably expands to its argument (the string) which GCC then
> warns on.
> 

Yes, that seems to be what is happening.  I posted the error.ii
file.  I don't see that gettext in the relevant line of code.

Note, I justed started a bootstrap with FreeBSD system compiler
clang/clang++.  I'll report back later if it dies or succeeds.

Reply via email to