On 10/16/18 6:57 PM, James Greenhalgh wrote: > On Mon, Oct 08, 2018 at 05:34:52AM -0500, Martin Liška wrote: >> Hi. >> >> I'm attaching updated version of the patch. > > Can't say I'm thrilled by the allocation/free (aarch64_parse_extension > allocates, everyone else has to free) responsibilities here. Agreed. > > If you can clean that up I'd be much happier. The overall patch is OK. I rewrote that to use std::string, hope it's improvement? Martin > > Thanks, > James > >> From d36974540cda9fb0e159103fdcf92d26ef2f1b94 Mon Sep 17 00:00:00 2001 >> From: marxin >> Date: Thu, 4 Oct 2018 16:31:49 +0200 >> Subject: [PATCH] Provide extension hint for aarch64 target (PR driver/83193). >> >> gcc/ChangeLog: >> >> 2018-10-05 Martin Liska >> >> PR driver/83193 >> * common/config/aarch64/aarch64-common.c (aarch64_parse_extension): >> Add new argument invalid_extension. >> (aarch64_get_all_extension_candidates): New function. >> (aarch64_rewrite_selected_cpu): Add NULL to function call. >> * config/aarch64/aarch64-protos.h (aarch64_parse_extension): Add >> new argument. >> (aarch64_get_all_extension_candidates): New function. >> * config/aarch64/aarch64.c (aarch64_parse_arch): Add new >> argument invalid_extension. >> (aarch64_parse_cpu): Likewise. >> (aarch64_print_hint_for_extensions): New function. >> (aarch64_validate_mcpu): Provide hint about invalid extension. >> (aarch64_validate_march): Likewise. >> (aarch64_handle_attr_arch): Pass new argument. >> (aarch64_handle_attr_cpu): Provide hint about invalid extension. >> (aarch64_handle_attr_isa_flags): Likewise. >> >> gcc/testsuite/ChangeLog: >> >> 2018-10-05 Martin Liska >> >> PR driver/83193 >> * gcc.target/aarch64/spellcheck_7.c: New test. >> * gcc.target/aarch64/spellcheck_8.c: New test. >> * gcc.target/aarch64/spellcheck_9.c: New test. >> --- >> gcc/common/config/aarch64/aarch64-common.c | 24 +++++- >> gcc/config/aarch64/aarch64-protos.h | 4 +- >> gcc/config/aarch64/aarch64.c | 75 +++++++++++++++---- >> .../gcc.target/aarch64/spellcheck_7.c | 12 +++ >> .../gcc.target/aarch64/spellcheck_8.c | 13 ++++ >> .../gcc.target/aarch64/spellcheck_9.c | 13 ++++ >> 6 files changed, 121 insertions(+), 20 deletions(-) >> create mode 100644 gcc/testsuite/gcc.target/aarch64/spellcheck_7.c >> create mode 100644 gcc/testsuite/gcc.target/aarch64/spellcheck_8.c >> create mode 100644 gcc/testsuite/gcc.target/aarch64/spellcheck_9.c >>