The standards state that a LOCAL_INIT() clause on DO CONCURRENT is a definition of the named construct entity, but neglect to specify exactly with what value the entity is being defined, or whether or not defined assignment may come into play. Maybe the LOCAL_INIT() construct entity is meant to be defined with the value of the variable of the same name in the enclosing scope, but as F'202X is written, I think that a compiler could define it with all zero bits on each iteration and still claim to conform.
Compilers that implement LOCAL_INIT() on derived type variables do not appear to apply defined assignments, which may or may not be correct.
The standards state that a
LOCAL_INIT()
clause onDO CONCURRENT
is a definition of the named construct entity, but neglect to specify exactly with what value the entity is being defined, or whether or not defined assignment may come into play. Maybe theLOCAL_INIT()
construct entity is meant to be defined with the value of the variable of the same name in the enclosing scope, but as F'202X is written, I think that a compiler could define it with all zero bits on each iteration and still claim to conform.Compilers that implement
LOCAL_INIT()
on derived type variables do not appear to apply defined assignments, which may or may not be correct.