Commit 82c7a5b1 by Robert Dewar Committed by Arnaud Charlet

par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for Case.

2010-01-26  Robert Dewar  <dewar@adacore.com>

	* par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for
	Case.

From-SVN: r156240
parent 55e4d23d
2010-01-26 Robert Dewar <dewar@adacore.com>
* par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for
Case.
2010-01-26 Robert Dewar <dewar@adacore.com>
* par_sco.adb (Is_Logical_Operator): Exclude AND/OR/XOR
* scos.ads: Clarify handling of logical operators
......
......@@ -887,7 +887,32 @@ package body Par_SCO is
Traverse_Declarations_Or_Statements (Else_Statements (N));
-- Unconditional exit points
-- Case statement
when N_Case_Statement =>
-- We include the expression, but not any of the case
-- branches in the generated statement sequence that
-- includes this case statement.
Sloc_Range (Expression (N), Dummy, Stop);
Set_Statement_Entry;
Process_Decisions (Expression (N), 'X');
-- Process case branches
declare
Alt : Node_Id;
begin
Alt := First (Alternatives (N));
while Present (Alt) loop
Traverse_Declarations_Or_Statements (Statements (Alt));
Next (Alt);
end loop;
end;
-- Unconditional exit points
when N_Requeue_Statement |
N_Goto_Statement |
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment