GNAT crashes on an iterator with a filter inside an expression function
that is the completion of an earlier spec.
gcc/ada/
* freeze.adb (Freeze_Type_Refs): If Node is in N_Has_Etype,
check that it has had its Etype set, because this can be
called early for expression functions that are completions.
-- that type is not attached to an entity in the construct.
elsif Nkind (Node) in N_Has_Etype
+ and then Present (Etype (Node))
and then Nkind (Parent (Node)) = N_Iterator_Specification
and then Node = Name (Parent (Node))
then