Richard, As a follow-on to my earlier message, additional testing has uncovered an issue with your patch. When run against a compiler built with assertions enabled, the test of "Present (Corresponding_Record_Type (Parent_Utyp))" can fail. An additional guard is needed prior to that test, as follows:
if Ekind (Parent_Utyp) in Concurrent_Kind and then Present (Corresponding_Record_Type (Parent_Utyp)) then Parent_Utyp := Corresponding_Record_Type (Parent_Utyp); end if; -- Gary