On Sat, Feb 22, 2014 at 04:38:52PM +0100, Mikael Morin wrote:
> > +
> > +bool
> > +gfc_deferred_strlen (gfc_component *c, tree *decl)
> > +{
> > + char name[GFC_MAX_SYMBOL_LEN+1];
Shouldn't this be +2?
> > + gfc_component *strlen;
> > + if (!(c->ts.type == BT_CHARACTER && c->ts.deferred))
> > + return false;
> > + sprintf (name, "_%s", c->name);
One for NULL termination and one for '_' character.
> > + for (strlen = c; strlen; strlen = strlen->next)
> > + if (strcmp (strlen->name, name) == 0)
> > + break;
> maybe gfc_find_component could be used here.
>
> > + *decl = strlen ? strlen->backend_decl : NULL_TREE;
> > + return strlen != NULL;
> > +}
--
Steve