On Mon, Jun 25, 2018 at 06:06:13PM -0400, Fritz Reese wrote: > > The attached patch fixes PR 83183. Previously, attempting to generate > initializers for allocatable components of the same derived type > triggered infinite recursion. Passes regression tests. OK for trunk > and gcc-8-branch? > > if (c->initializer || !generate > || (ts->type == BT_CLASS && !c->attr.allocatable) > + || (ts->type == BT_DERIVED && c->attr.allocatable)
Fritz, The patch looks simple enough. It does seem odd to me that BT_CLASS has !c->attr.allocatable and BT_DERIVED is c->attr.allocatable, i.e., bang vs no bang. Is this because class is not affected by -finit-derived? -- Steve