On Thu, Jan 15, 2015 at 09:38:19PM +0000, Joseph Myers wrote: > On Thu, 15 Jan 2015, Jakub Jelinek wrote: > > > --- libcpp/expr.c.jj 2015-01-14 11:01:34.000000000 +0100 > > +++ libcpp/expr.c 2015-01-14 14:35:52.851002344 +0100 > > @@ -672,16 +672,17 @@ cpp_classify_number (cpp_reader *pfile, > > if ((result & CPP_N_WIDTH) == CPP_N_LARGE > > && CPP_OPTION (pfile, cpp_warn_long_long)) > > { > > - const char *message = CPP_OPTION (pfile, cplusplus) > > - ? N_("use of C++11 long long integer constant") > > - : N_("use of C99 long long integer constant"); > > - > > if (CPP_OPTION (pfile, c99)) > > cpp_warning_with_line (pfile, CPP_W_LONG_LONG, > > virtual_location, > > - 0, message); > > + 0, CPP_OPTION (pfile, cplusplus) > > + ? "use of C++11 long long integer > > constant" > > + : "use of C99 long long integer > > constant"); > > else > > cpp_pedwarning_with_line (pfile, CPP_W_LONG_LONG, > > - virtual_location, 0, message); > > + virtual_location, 0, > > + CPP_OPTION (pfile, cplusplus) > > + ? "use of C++11 long long integer > > constant" > > + : "use of C99 long long integer > > constant"); > > I think this sort of thing needs N_() on both messages so that they both > get extracted for translation.
Apparently it extracts just the first string and not the second, weird, I thought we handle it well. Anyway, in that case guess we also need to change unrelated: --- libcpp/expr.c.jj 2015-01-05 13:07:21.000000000 +0100 +++ libcpp/expr.c 2015-01-16 12:54:56.517522643 +0100 @@ -696,9 +696,9 @@ cpp_classify_number (cpp_reader *pfile, && CPP_PEDANTIC (pfile)) cpp_error_with_line (pfile, CPP_DL_PEDWARN, virtual_location, 0, CPP_OPTION (pfile, cplusplus) - ? "binary constants are a C++14 feature " - "or GCC extension" - : "binary constants are a GCC extension"); + ? N_("binary constants are a C++14 feature " + "or GCC extension") + : N_("binary constants are a GCC extension")); if (radix == 10) result |= CPP_N_DECIMAL; I'll defer this patch until PR64629 is resolved one way or another. Jakub