i386.c: make "sorry" message more amenable to translation (PR target/79926)

gcc/ChangeLog:
	PR target/79926
	* config/i386/i386.c (ix86_set_current_function): Make "sorry"
	messages more amenable to translation, and improve wording.

gcc/testsuite/ChangeLog:
	PR target/79926
	* gcc.target/i386/interrupt-387-err-1.c: Update expected message.
	* gcc.target/i386/interrupt-387-err-2.c: Likewise.
	* gcc.target/i386/interrupt-mmx-err-1.c: Likewise.
	* gcc.target/i386/interrupt-mmx-err-2.c: Likewise.

From-SVN: r269515
This commit is contained in:
David Malcolm 2019-03-08 22:27:08 +00:00 committed by David Malcolm
parent 49c1f7a6c5
commit ec0f936b30
7 changed files with 28 additions and 11 deletions

View File

@ -1,3 +1,9 @@
2019-03-08 David Malcolm <dmalcolm@redhat.com>
PR target/79926
* config/i386/i386.c (ix86_set_current_function): Make "sorry"
messages more amenable to translation, and improve wording.
2019-03-08 Bill Schmidt <wschmidt@linux.ibm.com>
* config/rs6000/rs6000-p8swap.c (rs6000_analyze_swaps): Rebuild

View File

@ -5999,12 +5999,15 @@ ix86_set_current_function (tree fndecl)
if (isa != NULL)
{
if (cfun->machine->func_type != TYPE_NORMAL)
sorry ("%s instructions aren't allowed in %s service routine",
isa, (cfun->machine->func_type == TYPE_EXCEPTION
? "exception" : "interrupt"));
sorry (cfun->machine->func_type == TYPE_EXCEPTION
? G_("%s instructions aren%'t allowed in an"
" exception service routine")
: G_("%s instructions aren%'t allowed in an"
" interrupt service routine"),
isa);
else
sorry ("%s instructions aren't allowed in function with "
"no_caller_saved_registers attribute", isa);
sorry ("%s instructions aren%'t allowed in a function with "
"the %<no_caller_saved_registers%> attribute", isa);
/* Don't issue the same error twice. */
cfun->machine->func_type = TYPE_NORMAL;
cfun->machine->no_caller_saved_registers = false;

View File

@ -1,3 +1,11 @@
2019-03-08 David Malcolm <dmalcolm@redhat.com>
PR target/79926
* gcc.target/i386/interrupt-387-err-1.c: Update expected message.
* gcc.target/i386/interrupt-387-err-2.c: Likewise.
* gcc.target/i386/interrupt-mmx-err-1.c: Likewise.
* gcc.target/i386/interrupt-mmx-err-2.c: Likewise.
2019-03-08 Paolo Carlini <paolo.carlini@oracle.com>
PR c++/63540

View File

@ -6,11 +6,11 @@ typedef unsigned int uword_t __attribute__ ((mode (__word__)));
void
__attribute__((interrupt))
fn1 (void *frame, uword_t error)
{ /* { dg-message "80387 instructions aren't allowed in exception service routine" } */
{ /* { dg-message "80387 instructions aren't allowed in an exception service routine" } */
}
void
__attribute__((interrupt))
fn2 (void *frame)
{ /* { dg-message "80387 instructions aren't allowed in interrupt service routine" } */
{ /* { dg-message "80387 instructions aren't allowed in an interrupt service routine" } */
}

View File

@ -4,5 +4,5 @@
void
__attribute__((no_caller_saved_registers))
fn1 (void)
{ /* { dg-message "80387 instructions aren't allowed in function with no_caller_saved_registers attribute" } */
{ /* { dg-message "80387 instructions aren't allowed in a function with the 'no_caller_saved_registers' attribute" } */
}

View File

@ -6,11 +6,11 @@ typedef unsigned int uword_t __attribute__ ((mode (__word__)));
void
__attribute__((interrupt))
fn1 (void *frame)
{ /* { dg-message "MMX/3Dnow instructions aren't allowed in interrupt service routine" } */
{ /* { dg-message "MMX/3Dnow instructions aren't allowed in an interrupt service routine" } */
}
void
__attribute__((interrupt))
fn2 (void *frame, uword_t error)
{ /* { dg-message "MMX/3Dnow instructions aren't allowed in exception service routine" } */
{ /* { dg-message "MMX/3Dnow instructions aren't allowed in an exception service routine" } */
}

View File

@ -4,5 +4,5 @@
void
__attribute__((no_caller_saved_registers))
fn1 (void)
{ /* { dg-message "MMX/3Dnow instructions aren't allowed in function with no_caller_saved_registers attribute" } */
{ /* { dg-message "MMX/3Dnow instructions aren't allowed in a function with the 'no_caller_saved_registers' attribute" } */
}