diff mbox series

[Ada] Small performance tweak in recent change

Message ID 20220518084259.GA3282072@adacore.com
State New
Headers show
Series [Ada] Small performance tweak in recent change | expand

Commit Message

Pierre-Marie de Rodat May 18, 2022, 8:42 a.m. UTC
This avoids a useless walk of the prefix chain in instances.

Tested on x86_64-pc-linux-gnu, committed on trunk

gcc/ada/

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

Patch

diff --git a/gcc/ada/sem_ch8.adb b/gcc/ada/sem_ch8.adb
--- a/gcc/ada/sem_ch8.adb
+++ b/gcc/ada/sem_ch8.adb
@@ -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