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&regrtested 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

Reply via email to