On 9 June 2017 at 14:53, Richard Earnshaw <richard.earns...@arm.com> wrote: > > In order to support more complex specifications for cpus and architectures > we need to move away from using enumerations to represent the set of > permitted options. This basic change just moves the option parsing > infrastructure over to that, but changes nothing more beyond generating > a hint when the specified option does not match a known target (previously > the help option was able to print out all the permitted values, but we > can no-longer do that. > > * config/arm/arm.opt (x_arm_arch_string): New TargetSave option. > (x_arm_cpu_string, x_arm_tune_string): Likewise. > (march, mcpu, mtune): Convert to string-based options. > * config/arm/arm.c (arm_print_hint_for_core_or_arch): New function. > (arm_parse_arch_cpu_name): New function. > (arm_configure_build_target): Use arm_parse_arch_cpu_name to > identify selected architecture or CPU. > (arm_option_save): New function. > (TARGET_OPTION_SAVE): Redefine. > (arm_option_restore): Restore string options. > (arm_option_print): Print string options. > --- > gcc/config/arm/arm.c | 92 > ++++++++++++++++++++++++++++++++++++++++++++------ > gcc/config/arm/arm.opt | 15 ++++++-- > 2 files changed, 94 insertions(+), 13 deletions(-) >
I've noticed a typo (:premitted): +/* List the premitted CPU or architecture names. If TARGET is a near