From: Viljar Indus Date: Tue, 2 Sep 2025 12:20:54 +0000 (+0300) Subject: ada: Avoid ghost context errors when preanalyzing Loop_Invariant X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e8de28890655d7766bea5263afcf9889393ea000;p=thirdparty%2Fgcc.git ada: Avoid ghost context errors when preanalyzing Loop_Invariant gcc/ada/ChangeLog: * sem_prag.adb (Analyze_Pragma): Disable context checks for the preanalysis of the expression for Loop_Invariant pragmas as the ghost region for the pragma has not been set up yet. --- diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb index b1fefa8a297..f75f1f7eb4d 100644 --- a/gcc/ada/sem_prag.adb +++ b/gcc/ada/sem_prag.adb @@ -14455,9 +14455,15 @@ package body Sem_Prag is -- Perform preanalysis to deal with embedded Loop_Entry -- attributes. + -- + -- But ignore the ghost context checks for now. The expression + -- will be reanalyzed with the correct ghost region once the + -- pragma has been converted to pragma check. + Ghost_Context_Checks_Disabled := True; Preanalyze_And_Resolve_Assert_Expression (Arg_Check, Any_Boolean); + Ghost_Context_Checks_Disabled := False; end if; -- Implement Assert[_And_Cut]/Assume/Loop_Invariant by generating