https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107426
Bug ID: 107426 Summary: [12/13 Regression] ICE in gfc_compare_derived_types, at fortran/interface.cc:636 Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran Assignee: unassigned at gcc dot gnu.org Reporter: gs...@t-online.de Target Milestone: --- Started between 20210905 and 20210919 : $ cat z1.f90 module m contains subroutine p() bind(c) use, intrinsic :: iso_c_binding integer, target :: a = 1 type(c_ptr) :: z interface subroutine s(x) bind(cc) !! use, intrinsic :: iso_c_binding integer(c_int), value :: x end end interface z = c_loc(a) call s(z) end end $ gfortran-13-20221023 -c z0.f90 # corrected cc -> c at marker !! z0.f90:14:15: 14 | call s(z) | 1 Error: Type mismatch in argument 'x' at (1); passed TYPE(c_ptr) to INTEGER(4) $ gfortran-13-20221023 -c z1.f90 z1.f90:8:32: 8 | subroutine s(x) bind(cc) !! | 1 Error: Missing closing paren for binding label at (1) z1.f90:9:43: 9 | use, intrinsic :: iso_c_binding | 1 Error: Unexpected USE statement in INTERFACE block at (1) z1.f90:10:38: 10 | integer(c_int), value :: x | 1 Error: Unexpected data declaration statement in INTERFACE block at (1) z1.f90:11:12: 11 | end | 1 Error: END INTERFACE statement expected at (1) f951: internal compiler error: Segmentation fault 0xf43b3f crash_signal ../../gcc/toplev.cc:314 0x806bce gfc_compare_derived_types(gfc_symbol*, gfc_symbol*) ../../gcc/fortran/interface.cc:636 0x800803 gfc_check_assign(gfc_expr*, gfc_expr*, int, bool) ../../gcc/fortran/expr.cc:3830 0x86d655 resolve_ordinary_assign ../../gcc/fortran/resolve.cc:11222 0x87628b gfc_resolve_code(gfc_code*, gfc_namespace*) ../../gcc/fortran/resolve.cc:12123 0x878307 resolve_codes ../../gcc/fortran/resolve.cc:17624 0x87823e resolve_codes ../../gcc/fortran/resolve.cc:17607 0x8783ce gfc_resolve(gfc_namespace*) ../../gcc/fortran/resolve.cc:17659 0x85ff92 gfc_parse_file() ../../gcc/fortran/parse.cc:6837 0x8aec0f gfc_be_parse_file ../../gcc/fortran/f95-lang.cc:229