[Bug fortran/98023] ICE: free_expr0(): Bad expr type
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98023 kargl at gcc dot gnu.org changed: What|Removed |Added CC||kargl at gcc dot gnu.org --- Comment #1 from kargl at gcc dot gnu.org --- Bandage. Index: gcc/gcc/fortran/expr.c === --- gcc/gcc/fortran/expr.c (revision 280157) +++ gcc/gcc/fortran/expr.c (working copy) @@ -525,7 +525,7 @@ free_expr0 (gfc_expr *e) void gfc_free_expr (gfc_expr *e) { - if (e == NULL) + if (e == NULL || e->expr_type == EXPR_UNKNOWN) return; free_expr0 (e); free (e);
[Bug fortran/98023] ICE: free_expr0(): Bad expr type
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98023 Martin Liška changed: What|Removed |Added Last reconfirmed||2020-11-27 CC||marxin at gcc dot gnu.org, ||pault at gcc dot gnu.org Ever confirmed|0 |1 Status|UNCONFIRMED |NEW --- Comment #2 from Martin Liška --- Btw. started with r8-3056-g5bab4c9631c478b7.
[Bug fortran/98023] ICE: free_expr0(): Bad expr type
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98023 --- Comment #3 from anlauf at gcc dot gnu.org --- The patch in comment#1 does not work for me on x86_64-pc-linux-gnu. In decl.c: 6242cleanup: 6243 if (saved_kind_expr) 6244gfc_free_expr (saved_kind_expr); 6245 if (type_param_spec_list) 6246gfc_free_actual_arglist (type_param_spec_list); (gdb) p type_param_spec_list->expr->expr_type $177 = 42350080 So type_param_spec_list really gets screwed up.