On Fri, Mar 10, 2017 at 09:21:53PM -0500, David Malcolm wrote: > Martin pointed out that the wording of these messages could be improved > by adding an article, and by adding quotes to "no_caller_saved_registers" > > Here's a revised version that makes those changes (in addition to > the ones you suggested). > > Successfully bootstrapped®rtested on x86_64-pc-linux-gnu. > > OK for trunk? > > 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-bnd-err-1.c: Likewise. > * gcc.target/i386/interrupt-bnd-err-2.c: Likewise. > * gcc.target/i386/interrupt-mmx-err-1.c: Likewise. > * gcc.target/i386/interrupt-mmx-err-2.c: Likewise.
Sorry for the delay, I can't find this mail in my mailbox (grabbed it from the archives). This is ok for trunk. > --- > gcc/config/i386/i386.c | 13 ++++++++----- > gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c | 4 ++-- > gcc/testsuite/gcc.target/i386/interrupt-387-err-2.c | 2 +- > gcc/testsuite/gcc.target/i386/interrupt-bnd-err-1.c | 4 ++-- > gcc/testsuite/gcc.target/i386/interrupt-bnd-err-2.c | 2 +- > gcc/testsuite/gcc.target/i386/interrupt-mmx-err-1.c | 4 ++-- > gcc/testsuite/gcc.target/i386/interrupt-mmx-err-2.c | 2 +- > 7 files changed, 17 insertions(+), 14 deletions(-) > > diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c > index e705a3e..9fbf8d0 100644 > --- a/gcc/config/i386/i386.c > +++ b/gcc/config/i386/i386.c > @@ -7271,12 +7271,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; > diff --git a/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c > b/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c > index 3fbdc88..8561a3c 100644 > --- a/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c > +++ b/gcc/testsuite/gcc.target/i386/interrupt-387-err-1.c > @@ -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" } */ > } > diff --git a/gcc/testsuite/gcc.target/i386/interrupt-387-err-2.c > b/gcc/testsuite/gcc.target/i386/interrupt-387-err-2.c > index 3203d64..9810f18 100644 > --- a/gcc/testsuite/gcc.target/i386/interrupt-387-err-2.c > +++ b/gcc/testsuite/gcc.target/i386/interrupt-387-err-2.c > @@ -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" } */ > } > diff --git a/gcc/testsuite/gcc.target/i386/interrupt-bnd-err-1.c > b/gcc/testsuite/gcc.target/i386/interrupt-bnd-err-1.c > index e07688e..1126fca 100644 > --- a/gcc/testsuite/gcc.target/i386/interrupt-bnd-err-1.c > +++ b/gcc/testsuite/gcc.target/i386/interrupt-bnd-err-1.c > @@ -6,11 +6,11 @@ typedef unsigned int uword_t __attribute__ ((mode > (__word__))); > void > __attribute__((interrupt)) > fn1 (void *frame) > -{ /* { dg-message "MPX instructions aren't allowed in interrupt service > routine" } */ > +{ /* { dg-message "MPX instructions aren't allowed in an interrupt service > routine" } */ > } > > void > __attribute__((interrupt)) > fn2 (void *frame, uword_t error) > -{ /* { dg-message "MPX instructions aren't allowed in exception service > routine" } */ > +{ /* { dg-message "MPX instructions aren't allowed in an exception service > routine" } */ > } > diff --git a/gcc/testsuite/gcc.target/i386/interrupt-bnd-err-2.c > b/gcc/testsuite/gcc.target/i386/interrupt-bnd-err-2.c > index 641ca63..5e2d1a6 100644 > --- a/gcc/testsuite/gcc.target/i386/interrupt-bnd-err-2.c > +++ b/gcc/testsuite/gcc.target/i386/interrupt-bnd-err-2.c > @@ -4,5 +4,5 @@ > void > __attribute__((no_caller_saved_registers)) > fn (void *frame) > -{ /* { dg-message "MPX instructions aren't allowed in function with > no_caller_saved_registers attribute" } */ > +{ /* { dg-message "MPX instructions aren't allowed in a function with the > 'no_caller_saved_registers' attribute" } */ > } > diff --git a/gcc/testsuite/gcc.target/i386/interrupt-mmx-err-1.c > b/gcc/testsuite/gcc.target/i386/interrupt-mmx-err-1.c > index cd1367b..8c14594 100644 > --- a/gcc/testsuite/gcc.target/i386/interrupt-mmx-err-1.c > +++ b/gcc/testsuite/gcc.target/i386/interrupt-mmx-err-1.c > @@ -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" } */ > } > diff --git a/gcc/testsuite/gcc.target/i386/interrupt-mmx-err-2.c > b/gcc/testsuite/gcc.target/i386/interrupt-mmx-err-2.c > index 3e9f70c..073700e 100644 > --- a/gcc/testsuite/gcc.target/i386/interrupt-mmx-err-2.c > +++ b/gcc/testsuite/gcc.target/i386/interrupt-mmx-err-2.c > @@ -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" } */ > } > -- > 1.8.5.3 Jakub