[Patch, fortran] PR69566 - Failure of SELECT TYPE with unlimited polymorphic function result

Paul Richard Thomas paul.richard.thomas@gmail.com
Tue Oct 18 16:16:00 GMT 2016


Hi Andre,

Thanks for a quick response:

> You can use
>
>    || (e->symtree && UNLIMITED_POLY (e->symtree->n.sym));

Ah yes, you are quite right.

> here. UNLIMITED_POLY does all the checks. I am still wondering whether this is
> necessary? The symtree is set for expr_type == { EXPR_VARIABLE, EXPR_FUNCTION }
> both of those should correctly resolve to an unlimited poly ts. Is this a
> left-over?

For reasons I don't understand, sometimes the expression type comes
through as BT_DERIVED, whilst the symbol is BT_CLASS. I could repair
this in resolve.c(fixup_array_ref) if you think that would be cleaner.

>
> I am regression testing my polymorhpic class patch at the moment, therefore I
> can't test.

OK - I can wait. I have quite a few other things to do :-(

Cheers

Paul


-- 
The difference between genius and stupidity is; genius has its limits.

Albert Einstein



More information about the Fortran mailing list