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