https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64377
--- Comment #1 from Joel Sherrill <joel at gcc dot gnu.org> --- Looking at the generated options-save.c, the first line of this method is clearly incorrect in the cast on the RHS. It looks like a full declaration and not a type. If anyone familiar with the magic in these files looked at it, I am sure it is easy to fix. /* Stream in target options */ void cl_target_option_stream_in (struct data_in *data_in ATTRIBUTE_UNUSED, struct bitpack_d *bp ATTRIBUTE_UNUSED, struct cl_target_option *ptr ATTRIBUTE_UNUSED) { ptr->saved_custom_code_status[256] = (enum nios2_ccs_code saved_custom_code_status[256]) bp_unpack_value (bp, 64); ptr->saved_custom_code_index[256] = (int saved_custom_code_index[256]) bp_unpack_value (bp, 64); ptr->saved_fpu_custom_code[n2fpu_code_num] = (int saved_fpu_custom_code[n2fpu_code_num]) bp_unpack_value (bp, 64); ptr->x_target_flags = (int) bp_unpack_value (bp, 64); }