> Usually cycles happen through structure members and it might be that
> all other frontends have the pointed-to type incomplete.  But the
> above recursion shouldn't apply for the structure case.

All types are equal in Ada and can be forward declared; the language specifies 
that their "elaboration" can be delayed until a "freeze" point (in particular, 
you cannot declare an object of the type until after it), from which all the 
incomplete references must be resolved to the final type.

> Not sure how your other examples look like.

Pure pointer cycles of any length.

-- 
Eric Botcazou

Reply via email to