Message ID | 1489198913-17939-1-git-send-email-dmalcolm@redhat.com |
---|---|
State | New |
Headers | show |
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
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" } */ }