aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthieu Eyraud <eyraud@adacore.com>2021-07-07 19:33:25 +0200
committerPierre-Marie de Rodat <derodat@adacore.com>2021-09-21 15:25:02 +0000
commit57fb9d3820cd955ba0af1baadb27cd9a756a87c8 (patch)
treeb67de84c27465c6dc4c5324f76c82d9d127b7225
parentbd413702ce3106573655490668bdf8dcd6a680c9 (diff)
downloadgcc-57fb9d3820cd955ba0af1baadb27cd9a756a87c8.zip
gcc-57fb9d3820cd955ba0af1baadb27cd9a756a87c8.tar.gz
gcc-57fb9d3820cd955ba0af1baadb27cd9a756a87c8.tar.bz2
[Ada] SCOs: generate 'P' decisions for [Type_]Invariant pragmas
gcc/ada/ * par_sco.adb (Traverse_One): Add support for pragma Invariant / Type_Invariant.
-rw-r--r--gcc/ada/par_sco.adb10
1 files changed, 7 insertions, 3 deletions
diff --git a/gcc/ada/par_sco.adb b/gcc/ada/par_sco.adb
index b4f7609..513275a 100644
--- a/gcc/ada/par_sco.adb
+++ b/gcc/ada/par_sco.adb
@@ -2248,6 +2248,8 @@ package body Par_SCO is
| Name_Loop_Invariant
| Name_Postcondition
| Name_Precondition
+ | Name_Type_Invariant
+ | Name_Invariant
=>
-- For Assert/Check/Precondition/Postcondition, we
-- must generate a P entry for the decision. Note
@@ -2256,7 +2258,10 @@ package body Par_SCO is
-- on when we output the decision line in Put_SCOs,
-- depending on setting by Set_SCO_Pragma_Enabled.
- if Nam = Name_Check then
+ if Nam = Name_Check
+ or else Nam = Name_Type_Invariant
+ or else Nam = Name_Invariant
+ then
Next (Arg);
end if;
@@ -2285,8 +2290,7 @@ package body Par_SCO is
-- never disabled.
-- Should generate P decisions (not X) for assertion
- -- related pragmas: [Type_]Invariant,
- -- [{Static,Dynamic}_]Predicate???
+ -- related pragmas: [{Static,Dynamic}_]Predicate???
when others =>
Process_Decisions_Defer (N, 'X');