PR 36322/36463
Janus Weil
jaydub66@googlemail.com
Mon Oct 20 19:11:00 GMT 2008
Hi,
> I dumped the generated code (-fdump-tree-original) and I saw some
> suspicious variables starting with dots.
Good point. I always tend to forget looking at the dump when debugging.
> Like here :
>
> __result_gp = get_funloc (make_mess, ..__result);
>
> I think variables are named as follows (please someone confirms) :
> <name>.<numeric code>
> for exemple :
> tmp.3
> so we can have code like this (in this example, tmp.3 is an array
> descriptor):
> tmp.3.offset = 0;
>
> So I guess that this "..__result" should be understood as
> "<unset>.<unset>.__result".
One can also see similar things in the dumps of the other (working) test cases.
But what does it mean? Maybe someone else can comment on this dot
notation and give me a clue why I get variables with one or two dots
in front?
> And the gfc_expr_replace_symbols function looks like gfc_traverse_expr
> is changing i's value. I think that it would be clearer like this:
> {
> gfc_traverse_expr (expr, dest, replace_symbol, 0);
> return 0;
> }
Well, i is not changed by gfc_traverse_expr, but it is changed by
replace_symbol (where it is just incremented for every replaced
symbol). However, I don't use this value anywhere, so it doesn't
matter. I just put this in for debugging, and I can as well remove it
again.
> Those are only details anyway.
Still, thanks for your review!
Cheers,
Janus
More information about the Fortran
mailing list