> + > + /* Make sure the implied or combined extension is included after add > + a new std extension to subset list. For exmaple as below, > + > + void __attribute__((target("arch=+v"))) func () with -march=rv64gc. > + > + The implied zvl128b and zve64d of the std v should be included. */ > + handle_implied_ext (p); > + handle_combine_ext (); > + check_conflict_ext ();
Extract those 3 function calls to a public function riscv_subset_list::finalize(), and then call that at riscv_target_attr_parser::parse_arch rather than here. > + > + return end_of_ext; > }