Hi! These are the only remaining cases of gcc-internal-format diagnostics using HOST_WIDE_INT_PRINT*. That is wrong because the string depends on the exact host, and xgettext doesn't handle it anyway, so in gcc.pot the messages are truncated at the spot where HOST_WIDE_INT_PRINT* appears. See also PR79846 for an earlier change of the same kind.
On the s390 side, I've also tweaked the message slightly, because gcc diagnostics should not be in full sentences and should not end with period, otherwise I'd commit this patch as obvious. Tested on a cross to s390x-linux on the gcc.target/s390/htm-builtins-compile-2.c testcase. Ok for trunk? 2019-03-12 Jakub Jelinek <ja...@redhat.com> PR target/52726 * config/s390/s390.md (tabort): Use %wd instead of HOST_WIDE_INT_PRINT_DEC in error message, reword to avoid two capital letters and periods. * config/tilepro/tilepro.c (tilepro_print_operand): Use %wd in output_operand_lossage instead of HOST_WIDE_INT_PRINT_DEC, replace 's with %< and %>. --- gcc/config/s390/s390.md.jj 2019-02-18 20:48:32.856728812 +0100 +++ gcc/config/s390/s390.md 2019-03-12 10:44:38.023960583 +0100 @@ -11474,9 +11474,8 @@ (define_expand "tabort" if (CONST_INT_P (operands[0]) && INTVAL (operands[0]) >= 0 && INTVAL (operands[0]) <= 255) { - error ("invalid transaction abort code: " HOST_WIDE_INT_PRINT_DEC - ". Values in range 0 through 255 are reserved.", - INTVAL (operands[0])); + error ("invalid transaction abort code: %wd; values in range 0 " + "through 255 are reserved", INTVAL (operands[0])); FAIL; } }) --- gcc/config/tilepro/tilepro.c.jj 2019-01-01 12:37:28.540788187 +0100 +++ gcc/config/tilepro/tilepro.c 2019-03-12 10:46:40.995960027 +0100 @@ -4771,8 +4771,7 @@ tilepro_print_operand (FILE *file, rtx x i = exact_log2 (n); if (i < 0) { - output_operand_lossage ("invalid %%t operand '" - HOST_WIDE_INT_PRINT_DEC "'", n); + output_operand_lossage ("invalid %%t operand %<%wd%>", n); return; } Jakub