From c19d161545bb1c8c58dbc23b6f708b12403193f3 Mon Sep 17 00:00:00 2001 From: Ed Schonberg Date: Fri, 31 Aug 2007 12:23:59 +0200 Subject: [PATCH] sem_ch10.adb (Analyze_Subunit_Context): When analyzing context clauses of subunits... 2007-08-31 Ed Schonberg * sem_ch10.adb (Analyze_Subunit_Context): When analyzing context clauses of subunits, ignore limited_with_clauses that are illegal and have not been fully analyzed. From-SVN: r127979 --- gcc/ada/sem_ch10.adb | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/gcc/ada/sem_ch10.adb b/gcc/ada/sem_ch10.adb index 14739b916ff..29d10de9425 100644 --- a/gcc/ada/sem_ch10.adb +++ b/gcc/ada/sem_ch10.adb @@ -1892,15 +1892,20 @@ package body Sem_Ch10 is -- Protect frontend against previous errors in context clauses if Nkind (Name (Item)) /= N_Selected_Component then - Unit_Name := Entity (Name (Item)); - while Is_Child_Unit (Unit_Name) loop - Set_Is_Visible_Child_Unit (Unit_Name); - Unit_Name := Scope (Unit_Name); - end loop; + if Error_Posted (Item) then + null; + + else + Unit_Name := Entity (Name (Item)); + while Is_Child_Unit (Unit_Name) loop + Set_Is_Visible_Child_Unit (Unit_Name); + Unit_Name := Scope (Unit_Name); + end loop; - if not Is_Immediately_Visible (Unit_Name) then - Set_Is_Immediately_Visible (Unit_Name); - Set_Context_Installed (Item); + if not Is_Immediately_Visible (Unit_Name) then + Set_Is_Immediately_Visible (Unit_Name); + Set_Context_Installed (Item); + end if; end if; end if; @@ -1932,6 +1937,7 @@ package body Sem_Ch10 is -- Protect frontend against previous errors in context clauses and then Nkind (Name (Item)) /= N_Selected_Component + and then not Error_Posted (Item) then Unit_Name := Entity (Name (Item)); while Is_Child_Unit (Unit_Name) loop -- 2.30.2