Coverage analysis on quantified expressions now requires always
processing their predicate expression as a decision.
Tested on x86_64-pc-linux-gnu, committed on trunk
gcc/ada/
* scos.ads: Extend the documentation.
* par_sco.adb (Process_Decisions): Emit specific SCOs for
quantified expressions.
diff --git a/gcc/ada/par_sco.adb b/gcc/ada/par_sco.adb
--- 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
--- 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,