https://gcc.gnu.org/bugzilla/show_bug.cgi?id=89093
--- Comment #34 from Jakub Jelinek <jakub at gcc dot gnu.org> --- @@ -30877,6 +30883,11 @@ arm_valid_target_attribute_rec (tree args, struct gcc_options *opts) else if (!strncmp (q, "arm", 3)) opts->x_target_flags &= ~MASK_THUMB; + else if (!strncmp (q, "general-regs-only", strlen ("general-regs-only"))) + { + opts->x_target_flags |= MASK_GENERAL_REGS_ONLY; + } + else if (!strncmp (q, "fpu=", 4)) { int fpu_index; I'm really not sure I understand this strncmp (but also the ones for arm and thumb), does that mean you want to accept also general-regs-only123 or general-regs-onlycorgewaldo or thumb__ ? If you want to support e.g. only optional whitespace after the string, each handled case should update the pointer and then something after it should verify/diagnose. Also, single stmt if bodies shouldn't be wrapped with {} and the arm case is misindented. Otherwise, I think the eh_personality.cc change is acceptable to me (but ask Jonathan or other libstdc++ maintainers).