This fixes a problem if avr-gcc is built with C++ Lightly tested.
Ok for trunk? Johann PR target/52499 * config/avr/avr.c (avr_mode_code_base_reg_class): Change return type from reg_class_t to enum reg_class. * config/avr/avr-protos.h (avr_mode_code_base_reg_class): Ditto.
Index: config/avr/avr-protos.h =================================================================== --- config/avr/avr-protos.h (revision 185099) +++ config/avr/avr-protos.h (working copy) @@ -115,7 +115,7 @@ extern int avr_simplify_comparison_p (en extern RTX_CODE avr_normalize_condition (RTX_CODE condition); extern void out_shift_with_cnt (const char *templ, rtx insn, rtx operands[], int *len, int t_len); -extern reg_class_t avr_mode_code_base_reg_class (enum machine_mode, addr_space_t, RTX_CODE, RTX_CODE); +extern enum reg_class avr_mode_code_base_reg_class (enum machine_mode, addr_space_t, RTX_CODE, RTX_CODE); extern bool avr_regno_mode_code_ok_for_base_p (int, enum machine_mode, addr_space_t, RTX_CODE, RTX_CODE); extern rtx avr_incoming_return_addr_rtx (void); extern rtx avr_legitimize_reload_address (rtx*, enum machine_mode, int, int, int, int, rtx (*)(rtx,int)); Index: config/avr/avr.c =================================================================== --- config/avr/avr.c (revision 185100) +++ config/avr/avr.c (working copy) @@ -8983,7 +8983,7 @@ avr_hard_regno_mode_ok (int regno, enum /* Implement `MODE_CODE_BASE_REG_CLASS'. */ -reg_class_t +enum reg_class avr_mode_code_base_reg_class (enum machine_mode mode ATTRIBUTE_UNUSED, addr_space_t as, RTX_CODE outer_code, RTX_CODE index_code ATTRIBUTE_UNUSED)