On Thu, 10 Jun 2021 12:24:35 +0200 Bernhard Reutner-Fischer <rep.dot....@gmail.com> wrote:
> On Wed, 9 Jun 2021 23:39:45 +0200 > Harald Anlauf via Gcc-patches <gcc-patches@gcc.gnu.org> wrote: > > +/* Check for constant length of a substring. */ > > + > > +static bool > > +substring_has_constant_len (gfc_expr *e) > > +{ > > + ptrdiff_t istart, iend; > > + size_t length; > > + bool equal_length = false; > > + > > + if (e->ts.type != BT_CHARACTER > > + || !(e->ref && e->ref->type == REF_SUBSTRING) > > iff we ever can get here with e->ref == NULL then the below will not > work too well. If so then maybe > if (e->ts.type != BT_CHARACTER > || ! e->ref > || e->ref->type != REF_SUBSTRING > > ? Not sure what i was reading, maybe i read || instead of && in the braced condition. Your initial version works equally well of course although it's obviously harder to parse for at least some :) thanks,