Steve Ellcey <sell...@cavium.com> writes:
> On Tue, 2018-06-05 at 13:23 +0100, Richard Sandiford wrote:
>> 
>> This regresses a couple of things:
>> 
>> - before the patch, the option would be properly quoted, whereas now
>>   it's unquoted.  Either keeping %qs or using %<...%> would fix that.
>>   Using %qs is probably nicer since we can reuse the translation for any
>>   other options or features that end up being incompatible.
>> 
>> - "floating-point" is preferred for modifiers over "floating point".
>> 
>> - some lines are now longer than 80 chars.
>> 
>> Patch LGTM otherwise, but someone else will need to approve.
>> 
>> Thanks,
>> Richard
>
> Here is an updated version with the quotes put back (using %qs) and the
> long lines split up.  Retested with no regressions.
>
> Steve Ellcey
> sell...@cavium.com
>
>
> 2018-06-05  Steve Ellcey  <sell...@cavium.com>
>
>       PR target/79924
>       * config/aarch64/aarch64-protos.h (aarch64_err_no_fpadvsimd): Remove
>       second argument.
>       * config/aarch64/aarch64-protos..c (aarch64_err_no_fpadvsimd):
>       Remove second argument, change how error is called.
>       (aarch64_layout_arg): Remove second argument from
>       aarch64_err_no_fpadvsimd call.
>       (aarch64_init_cumulative_args): Ditto.
>       (aarch64_gimplify_va_arg_expr): Ditto.
>       * config/aarch64/aarch64.md (mov<mode>): Ditto.
>
> 2018-06-05  Steve Ellcey  <sell...@cavium.com>
>
>       PR target/79924
>       * gcc.target/aarch64/mgeneral-regs_1.c: Update error message.
>       * gcc.target/aarch64/mgeneral-regs_2.c: Ditto.
>       * gcc.target/aarch64/mgeneral-regs_3.c: Ditto.
>       * gcc.target/aarch64/nofp_1.c: Ditto.
>
> diff --git a/gcc/config/aarch64/aarch64-protos.h 
> b/gcc/config/aarch64/aarch64-protos.h
> index 4ea50ac..87c6ae2 100644
> --- a/gcc/config/aarch64/aarch64-protos.h
> +++ b/gcc/config/aarch64/aarch64-protos.h
> @@ -448,7 +448,7 @@ void aarch64_asm_output_labelref (FILE *, const char *);
>  void aarch64_cpu_cpp_builtins (cpp_reader *);
>  const char * aarch64_gen_far_branch (rtx *, int, const char *, const char *);
>  const char * aarch64_output_probe_stack_range (rtx, rtx);
> -void aarch64_err_no_fpadvsimd (machine_mode, const char *);
> +void aarch64_err_no_fpadvsimd (machine_mode);
>  void aarch64_expand_epilogue (bool);
>  void aarch64_expand_mov_immediate (rtx, rtx, rtx (*) (rtx, rtx) = 0);
>  void aarch64_emit_sve_pred_move (rtx, rtx, rtx);
> diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
> index 98ef457..afc0fc6 100644
> --- a/gcc/config/aarch64/aarch64.c
> +++ b/gcc/config/aarch64/aarch64.c
> @@ -1077,13 +1077,22 @@ aarch64_gen_far_branch (rtx * operands, int 
> pos_label, const char * dest,
>  }
>  
>  void
> -aarch64_err_no_fpadvsimd (machine_mode mode, const char *msg)
> +aarch64_err_no_fpadvsimd (machine_mode mode)
>  {
> -  const char *mc = FLOAT_MODE_P (mode) ? "floating-point" : "vector";
>    if (TARGET_GENERAL_REGS_ONLY)
> -    error ("%qs is incompatible with %s %s", "-mgeneral-regs-only", mc, msg);
> +    if (FLOAT_MODE_P (mode))
> +      error ("%qs is incompatible with the use of floating point types",
> +          "-mgeneral-regs-only");
> +    else
> +      error ("%qs is incompatible with the use of vector types",
> +          "-mgeneral-regs-only");
>    else
> -    error ("%qs feature modifier is incompatible with %s %s", "+nofp", mc, 
> msg);
> +    if (FLOAT_MODE_P (mode))
> +      error ("%qs feature modifier is incompatible with the use of"
> +          " floating point types", "+nofp");
> +    else
> +      error ("%qs feature modifier is incompatible with the use of"
> +          " vector types", "+nofp");
>  }

This still has the change from "floating-point" to "floating point",
but "floating-point" preferred.

Thanks,
Richard

Reply via email to