From: Viljar Indus Date: Fri, 22 Aug 2025 08:31:56 +0000 (+0300) Subject: ada: Create a ghost region for pragma annotate X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b69dbe06f91248457e7b532d5c8fffc4f73b1f76;p=thirdparty%2Fgcc.git ada: Create a ghost region for pragma annotate Create a ghost region for pragma annotate so that we are able to analyze the entity references correctly inside the pragma. gcc/ada/ChangeLog: * sem_prag.adb: Create a ghost region for pragma annotate before analyzing its arguments. --- diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb index 753ccda6675..661d4401d7a 100644 --- a/gcc/ada/sem_prag.adb +++ b/gcc/ada/sem_prag.adb @@ -14149,6 +14149,9 @@ package body Sem_Prag is Expr : Node_Id; Nam_Arg : Node_Id; + Saved_Ghost_Config : constant Ghost_Config_Type := Ghost_Config; + -- Save the Ghost-related attributes to restore on exit + -------------------------- -- Inferred_String_Type -- -------------------------- @@ -14226,6 +14229,10 @@ package body Sem_Prag is end if; end if; + -- Set the ghost mode before analyzing all of the arguments + + Set_Ghost_Mode (N); + -- Continue the processing with last argument removed for now Check_Arg_Is_Identifier (Arg1); @@ -14271,6 +14278,8 @@ package body Sem_Prag is Next (Arg); end loop; end if; + + Restore_Ghost_Region (Saved_Ghost_Config); end Annotate; -------------------------------------------------