aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2024-04-12 11:00:43 +0200
committerJakub Jelinek <jakub@redhat.com>2024-04-12 11:00:43 +0200
commit8c6f13d2cc1884921e7c532e03786f0344bededd (patch)
tree9f511b4c5a7c5290f27c6746a70dadbd529d5846
parentc9e94ae448ba309dba74de3ee1974a3ed9248889 (diff)
downloadgcc-8c6f13d2cc1884921e7c532e03786f0344bededd.zip
gcc-8c6f13d2cc1884921e7c532e03786f0344bededd.tar.gz
gcc-8c6f13d2cc1884921e7c532e03786f0344bededd.tar.bz2
tree-cfg: Make the verifier returns_twice message translatable
While translation of the verifier messages is questionable, that case is something that ideally should never happen except to gcc developers and so pressumably English should be fine, we use error etc. APIs and those imply translatations and some translators translate it. The following patch adjusts the code such that we don't emit appel returns_twice est not first dans le bloc de base 33 in French (i.e. 2 English word in the middle of a French message). Similarly Swedish or Ukrainian. Note, the German translator did differentiate between these verifier messages vs. normal user facing and translated it to: "Interner Fehler: returns_twice call is %s in basic block %d" so just a German prefix before English message. 2024-04-12 Jakub Jelinek <jakub@redhat.com> * tree-cfg.cc (gimple_verify_flow_info): Make the misplaced returns_twice diagnostics translatable.
-rw-r--r--gcc/tree-cfg.cc19
1 files changed, 12 insertions, 7 deletions
diff --git a/gcc/tree-cfg.cc b/gcc/tree-cfg.cc
index 96686db..d98b68d 100644
--- a/gcc/tree-cfg.cc
+++ b/gcc/tree-cfg.cc
@@ -5818,7 +5818,7 @@ gimple_verify_flow_info (void)
if (gimple_code (stmt) == GIMPLE_CALL
&& gimple_call_flags (stmt) & ECF_RETURNS_TWICE)
{
- const char *misplaced = NULL;
+ bool misplaced = false;
/* TM is an exception: it points abnormal edges just after the
call that starts a transaction, i.e. it must end the BB. */
if (gimple_call_builtin_p (stmt, BUILT_IN_TM_START))
@@ -5826,18 +5826,23 @@ gimple_verify_flow_info (void)
if (single_succ_p (bb)
&& bb_has_abnormal_pred (single_succ (bb))
&& !gsi_one_nondebug_before_end_p (gsi))
- misplaced = "not last";
+ {
+ error ("returns_twice call is not last in basic block "
+ "%d", bb->index);
+ misplaced = true;
+ }
}
else
{
- if (seen_nondebug_stmt
- && bb_has_abnormal_pred (bb))
- misplaced = "not first";
+ if (seen_nondebug_stmt && bb_has_abnormal_pred (bb))
+ {
+ error ("returns_twice call is not first in basic block "
+ "%d", bb->index);
+ misplaced = true;
+ }
}
if (misplaced)
{
- error ("returns_twice call is %s in basic block %d",
- misplaced, bb->index);
print_gimple_stmt (stderr, stmt, 0, TDF_SLIM);
err = true;
}