aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem_ch3.adb
diff options
context:
space:
mode:
authorYannick Moy <moy@adacore.com>2012-10-01 08:33:04 +0000
committerArnaud Charlet <charlet@gcc.gnu.org>2012-10-01 10:33:04 +0200
commit3db3967673655193c5478148872aadca7fb0a925 (patch)
treeeb66d1758b9bbc36266454b1f67f25c8318cf12d /gcc/ada/sem_ch3.adb
parent3f5e1e076e44c9af6920085e52c170f40cd73ae3 (diff)
downloadgcc-3db3967673655193c5478148872aadca7fb0a925.zip
gcc-3db3967673655193c5478148872aadca7fb0a925.tar.gz
gcc-3db3967673655193c5478148872aadca7fb0a925.tar.bz2
sem_ch13.adb (Add_Invariants): Analyze the invariant expression as an assertion expression.
2012-10-01 Yannick Moy <moy@adacore.com> * sem_ch13.adb (Add_Invariants): Analyze the invariant expression as an assertion expression. * sem_ch3.adb / sem_ch3.ads (Preanalyze_Assert_Expression): New procedure that wraps a call to Preanalyze_Spec_Expression for assertion expressions, so that In_Assertion_Expr can be properly adjusted. * sem_prag.adb (Analyze_PPC_In_Decl_Part Check_Precondition_Postcondition Preanalyze_CTC_Args): Call the new Preanalyze_Assert_Expression. From-SVN: r191898
Diffstat (limited to 'gcc/ada/sem_ch3.adb')
-rw-r--r--gcc/ada/sem_ch3.adb11
1 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.adb
index b61821e..6b9e88b 100644
--- a/gcc/ada/sem_ch3.adb
+++ b/gcc/ada/sem_ch3.adb
@@ -19306,6 +19306,17 @@ package body Sem_Ch3 is
end if;
end Check_Anonymous_Access_Components;
+ ----------------------------------
+ -- Preanalyze_Assert_Expression --
+ ----------------------------------
+
+ procedure Preanalyze_Assert_Expression (N : Node_Id; T : Entity_Id) is
+ begin
+ In_Assertion_Expr := In_Assertion_Expr + 1;
+ Preanalyze_Spec_Expression (N, T);
+ In_Assertion_Expr := In_Assertion_Expr - 1;
+ end Preanalyze_Assert_Expression;
+
--------------------------------
-- Preanalyze_Spec_Expression --
--------------------------------