diff options
author | Matthieu Eyraud <eyraud@adacore.com> | 2021-07-02 14:37:55 +0200 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2021-10-04 08:45:09 +0000 |
commit | 3a6f30ed5da68be1fbc53a801093f31615db619b (patch) | |
tree | 420893359ad0eb7fc486fdc5c756d5ee40e68945 | |
parent | 8f721245b4870dfe79a769b3bd0100155d4df7c2 (diff) | |
download | gcc-3a6f30ed5da68be1fbc53a801093f31615db619b.zip gcc-3a6f30ed5da68be1fbc53a801093f31615db619b.tar.gz gcc-3a6f30ed5da68be1fbc53a801093f31615db619b.tar.bz2 |
[Ada] Emit specific SCOs for decisions of quantified expressions
gcc/ada/
* scos.ads: Extend the documentation.
* par_sco.adb (Process_Decisions): Emit specific SCOs for
quantified expressions.
-rw-r--r-- | gcc/ada/par_sco.adb | 8 | ||||
-rw-r--r-- | gcc/ada/scos.ads | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ada/par_sco.adb b/gcc/ada/par_sco.adb index 9720e47..09e4d50 100644 --- a/gcc/ada/par_sco.adb +++ b/gcc/ada/par_sco.adb @@ -827,6 +827,14 @@ package body Par_SCO is return Skip; end; + when N_Quantified_Expression => + declare + Cond : constant Node_Id := Condition (N); + begin + Process_Decisions (Cond, 'W', Pragma_Sloc); + return Skip; + end; + -- All other cases, continue scan when others => diff --git a/gcc/ada/scos.ads b/gcc/ada/scos.ads index d8e88dd..cdac552 100644 --- a/gcc/ada/scos.ads +++ b/gcc/ada/scos.ads @@ -257,7 +257,7 @@ package SCOs is -- I decision in IF statement or if expression -- P decision in pragma Assert / Check / Pre/Post_Condition -- A[name] decision in aspect Pre/Post (aspect name optional) - -- W decision in WHILE iteration scheme + -- W decision in WHILE iteration scheme or quantified expression -- X decision in some other expression context -- For E, G, I, P, W, sloc is the source location of the EXIT, ENTRY, IF, |