[Ada] Small performance tweak in recent change
authorEric Botcazou <ebotcazou@adacore.com>
Wed, 30 Mar 2022 10:59:23 +0000 (12:59 +0200)
committerPierre-Marie de Rodat <derodat@adacore.com>
Wed, 18 May 2022 08:40:58 +0000 (08:40 +0000)
This avoids a useless walk of the prefix chain in instances.

gcc/ada/

* sem_ch8.adb (Analyze_Subprogram_Renaming): Move final test on
In_Instance to outer condition.

gcc/ada/sem_ch8.adb

index 1cf3411..5945bfd 100644 (file)
@@ -3975,7 +3975,7 @@ package body Sem_Ch8 is
          --  normally illegal renamings can be constructed when expanding
          --  instantiations.
 
-         elsif Nkind (Nam) = N_Expanded_Name then
+         elsif Nkind (Nam) = N_Expanded_Name and then not In_Instance then
             declare
                function Ult_Expanded_Prefix (N : Node_Id) return Node_Id is
                  (if Nkind (N) /= N_Expanded_Name
@@ -3985,7 +3985,6 @@ package body Sem_Ch8 is
 
             begin
                if Chars (Entity (Ult_Expanded_Prefix (Nam))) = Chars (New_S)
-                 and then not In_Instance
                then
                   Error_Msg_Sloc := Sloc (N);
                   Error_Msg_NE