Dynamic dispatch of class typebound procedures - post LTO patch for gfortran

Paul Richard Thomas paul.richard.thomas@gmail.com
Sun Oct 4 14:41:00 GMT 2009


Dear Daniel,

Thanks for the rapid review.  Some remarks on your comments:

> I'd personally use '&&' here instead of '&' as reduction operator.  It does
> not matter of course, but I see && as the "logical and" and & as bit-wise
> operator when I really want the bit-wise semantics.

Indeed (and your subsequent mail), you are right.

>
> +  if (empty)
> +    goto free_elist;
> +
> +  return;
> +
> +free_elist:
> +  p = e->value.function.class_esym;
> +  for (; p; p = q)
> +    {
> +      q = p->next;
> +      gfc_free (p);
> +    }
> +  e->value.function.class_esym = NULL;
>
> Just a suggestion, but you could do the free'ing in the if(empty) body and
> get rid of the goto alltogether.  I think that would be clearer and you
> don't need the label otherwise.

The gathering together of like cases originally happened here and so
there were multiple jumps to free_elist.  Let me think if this
function will have any other use before I do as you suggest.
>
> But indeed ok for trunk after it reopens.

OK and thanks again.

I have seen the source of the ICE that I referred to and will put it
right before committing.

Cheers

Paul



More information about the Fortran mailing list