public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Jakub Jelinek <jakub@redhat.com>
To: Volker Reichelt <v.reichelt@netcologne.de>,
	       "Joseph S. Myers" <joseph@codesourcery.com>
Cc: gcc-patches@gcc.gnu.org, Marek Polacek <polacek@redhat.com>
Subject: Re: [PATCH] Some more translation related tweaks
Date: Mon, 27 Feb 2017 11:15:00 -0000	[thread overview]
Message-ID: <20170227102744.GZ1849@tucnak> (raw)
In-Reply-To: <tkrat.531701baee17c0a8@netcologne.de>

On Mon, Feb 27, 2017 at 11:04:36AM +0100, Volker Reichelt wrote:
> > This is not -Wformat-security friendly, perhaps better
> > 	  pedwarn (EXPR_LOC_OR_LOC (outer_nelts, input_location), OPT_Wvla,
> > 		   typedef_variant_p (orig_type)
> > 		   ? "non-constant array new length must be specified "
> > 		     "directly, not by typedef"
> > 		   : "non-constant array new length must be specified "
> > 		     "without parentheses around the type-id");
> > ?
> 
> Not quite. Like this the second string doesn't end up in the gcc.pot
> file for translation. I had to wrap the second string in G_(...) to make
> it work. (I'll have a look for other instances of this pattern and
> prepare a separate patch.)

Looks like a xgettext bug or missing feature :(.  Joseph, shall we just
change all those to be G_() around the second string (well, some could be
simplified to be
error_at (loc, "expected %<data%> after %<#pragma acc %s%>", enter ? "enter : "exit");
because the translations should not translate the text in between %< and %>
anyway.

c/c-parser.c-      if (!c_parser_require (parser, CPP_COLON,
c/c-parser.c-                        is_goto
c/c-parser.c:                        ? "expected %<:%>"
c/c-parser.c-                        : "expected %<:%> or %<)%>"))

c/c-parser.c:      error_at (loc, enter
c/c-parser.c-           ? "expected %<data%> after %<#pragma acc enter%>"
c/c-parser.c-           : "expected %<data%> after %<#pragma acc exit%>");

c/c-parser.c-      error_at (loc, enter
c/c-parser.c:           ? "%<#pragma acc enter data%> has no data movement clause"
c/c-parser.c-           : "%<#pragma acc exit data%> has no data movement clause");

cp/call.c-              warning (0, (DECL_CONSTRUCTOR_P (current_function_decl)
cp/call.c:                           ? "pure virtual %q#D called from constructor"
cp/call.c-                           : "pure virtual %q#D called from destructor"),
cp/call.c-                       fn);

cp/decl.c-      inform (DECL_SOURCE_LOCATION (field),
cp/decl.c:              TREE_PRIVATE (field) ? "declared private here"
cp/decl.c-              : "declared protected here");

cp/decl.c-                  error ((flags == DTOR_FLAG)
cp/decl.c:                         ? "destructors may not be ref-qualified"
cp/decl.c-                         : "constructors may not be ref-qualified");

cp/parser.c-      error_at (loc, enter
cp/parser.c:            ? "expected %<data%> after %<#pragma acc enter%>"
cp/parser.c-            : "expected %<data%> after %<#pragma acc exit%>");

coverage.c:       error (is_error < 0 ? "%qs has overflowed" : "%qs is corrupted",
coverage.c-              da_file_name);

omp-offload.c-      error_at (loop->loc,
omp-offload.c-                seq_par
omp-offload.c:                ? "%<seq%> overrides other OpenACC loop specifiers"
omp-offload.c-                : "%<auto%> conflicts with other OpenACC loop "
omp-offload.c-                "specifiers");

Then we have some really non-translatable ones:
c/c-parser.c-      error_at (data->loc,
c/c-parser.c-           "%<#pragma acc routine%> must be applied before %s",
c/c-parser.c:           TREE_USED (fndecl) ? "use" : "definition");
which should be transformed into ? on the whole format string.

	Jakub

  reply	other threads:[~2017-02-27 10:27 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-26 12:36 Volker Reichelt
2017-02-26 13:25 ` Jakub Jelinek
2017-02-27 10:27   ` Volker Reichelt
2017-02-27 11:15     ` Jakub Jelinek [this message]
2017-02-27 12:49       ` Joseph Myers
2017-02-27 19:23         ` Jakub Jelinek
2017-02-27 22:27           ` Joseph Myers
2017-03-01 10:20           ` Tom de Vries
2017-03-01 11:14             ` Jakub Jelinek
2017-02-27 13:33     ` Jakub Jelinek
2017-02-27 13:40       ` Volker Reichelt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170227102744.GZ1849@tucnak \
    --to=jakub@redhat.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=joseph@codesourcery.com \
    --cc=polacek@redhat.com \
    --cc=v.reichelt@netcologne.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).