This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [Patch][Aarch64][PR target/79924] Cannot translate diagnostics
- From: Richard Sandiford <richard dot sandiford at linaro dot org>
- To: Steve Ellcey <sellcey at cavium dot com>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>, "james.greenhalgh" <james dot greenhalgh at arm dot com>, "richard.earnshaw" <richard dot earnshaw at arm dot com>, Marcus Shawcroft <Marcus dot Shawcroft at arm dot com>
- Date: Tue, 05 Jun 2018 20:18:40 +0100
- Subject: Re: [Patch][Aarch64][PR target/79924] Cannot translate diagnostics
- References: <1515714296.8647.7.camel@cavium.com> <874lihbew7.fsf@linaro.org> <1528220401.14716.57.camel@cavium.com>
Steve Ellcey <sellcey@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
> sellcey@cavium.com
>
>
> 2018-06-05 Steve Ellcey <sellcey@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 <sellcey@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