From: Viljar Indus <[email protected]>
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.
Tested on x86_64-pc-linux-gnu, committed on master.
---
gcc/ada/sem_prag.adb | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/gcc/ada/sem_prag.adb b/gcc/ada/sem_prag.adb
index b1fefa8a2972..f75f1f7eb4d1 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
--
2.43.0