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.