From: Eric Botcazou <ebotca...@adacore.com>

It occurs for the case of a function call first parsed as an identifier.

gcc/ada/

        * sem_ch12.adb (Save_References_In_Identifier): In the case where
        the identifier has been turned into a function call by analysis,
        call Set_Global_Type on the entity if it is global.

Tested on x86_64-pc-linux-gnu, committed on master.

---
 gcc/ada/sem_ch12.adb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/gcc/ada/sem_ch12.adb b/gcc/ada/sem_ch12.adb
index 0ef894e153b..a38ab284ce7 100644
--- a/gcc/ada/sem_ch12.adb
+++ b/gcc/ada/sem_ch12.adb
@@ -16526,7 +16526,7 @@ package body Sem_Ch12 is
                   E := Entity (Name (N2));
 
                   if Present (E) and then Is_Global (E) then
-                     Set_Etype (N, Etype (N2));
+                     Set_Global_Type (N, N2);
                   else
                      Set_Associated_Node (N, Empty);
                      Set_Etype (N, Empty);
-- 
2.40.0

Reply via email to