nncarlson / petaca

Petaca: A collection of foundational Fortran modules

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Intel 19.1 regression

nncarlson opened this issue · comments

Intel 19.1 is failing the map_any and parameter_list tests.

I've tracked this down to the map_any_iterator%next subroutine. The compiler is generating bad code for the pointer assignment in this line

    if(associated(this%item)) this%item => this%item%next

I've reported a test case to Intel. Intel 19.0 and earlier handle this correctly.

The key factor seems to be that %item is polymorphic. I suspect that it was inadvertent and not a deliberate choice -- I can't see any reason for it now. If the component is simply declared to be a type(list_item) pointer the error goes away. I think I'm going to go ahead and make that change.