https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85641
--- Comment #2 from Steve Kargl <sgk at troutmask dot apl.washington.edu> --- On Thu, May 03, 2018 at 11:12:26PM +0000, kargl at gcc dot gnu.org wrote: > > #31 0x00000000008ad88d in gfc_code_walker (c=0x2ca231808, > codefn=codefn@entry=0x8a90d0 <realloc_string_callback(gfc_code**, int*, > void*)>, > exprfn=exprfn@entry=0x8a6eb0 <dummy_expr_callback(gfc_expr**, int*, > void*)>, data=data@entry=0x0) at ../../gcc/gcc/fortran/frontend-passes.c:4593 > gfortran seems to be stuck in an infinite loop and slowly swallowing memory. (gdb) c Continuing. Breakpoint 1, gfc_code_walker (c=0x203dc5008, codefn=codefn@entry=0x8a90d0 <realloc_string_callback(gfc_code**, int*, void*)>, exprfn=exprfn@entry=0x8a6eb0 <dummy_expr_callback(gfc_expr**, int*, void*)>, data=data@entry=0x0) at ../../gcc/gcc/fortran/frontend-passes.c:4566 4566 for (; *c; c = &(*c)->next) (gdb) c Continuing. Breakpoint 2, realloc_string_callback (c=0x203dc5008, walk_subtrees=0x7fffffffd14c, data=0x0) at ../../gcc/gcc/fortran/frontend-passes.c:248 248 if (co->op != EXEC_ASSIGN) (gdb) list 4561 4562 int 4563 gfc_code_walker (gfc_code **c, walk_code_fn_t codefn, walk_expr_fn_t exprfn, 4564 void *data) 4565 { 4566 for (; *c; c = &(*c)->next) 4567 { 4568 int walk_subtrees = 1; 4569 int result = codefn (c, &walk_subtrees, data); 4570 if (result) :-(