gfortran -fdump-parse-tree crashes for the following program as ts->cl == NULL for dump-parse-tree.c's gfc_show_typespec
case BT_CHARACTER: gfc_show_expr (ts->cl->length); break; After disabling the gfc_show_expr if ts->cl == NULL, there is an internal error shown unless one adds: --- misc.c (revision 130347) +++ misc.c (working copy) @@ -141,0 +142,3 @@ gfc_basic_typename (bt type) + case BT_VOID: + p = "VOID"; + break; Additionally, we need to check for missing attributes etc. in the dumps, which were not added for BIND(C); e.g. the following is missing: --- dump-parse-tree.c (revision 130347) +++ dump-parse-tree.c (working copy) @@ -584,0 +588,2 @@ gfc_show_attr (symbol_attribute *attr) + if (attr->is_bind_c) + gfc_status (" BIND(C)"); Test case: function func0(x) result(result_func0) bind(c) use, intrinsic :: iso_c_binding real(c_double) :: result_func0 real(c_double), value, intent(in) :: x result_func0 = 1.0_c_double end function func0 -- Summary: dump-parse-tree: ICE for ts->cl->length, if ts->cl == NULL Product: gcc Version: 4.3.0 Status: UNCONFIRMED Keywords: ice-on-valid-code Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: burnus at gcc dot gnu dot org http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34186