-- --
-- B o d y --
-- --
--- Copyright (C) 1992-2004, Free Software Foundation, Inc. --
+-- Copyright (C) 1992-2006, Free Software Foundation, Inc. --
-- --
-- GNAT is free software; you can redistribute it and/or modify it under --
-- terms of the GNU General Public License as published by the Free Soft- --
-- Next label node to process
function Find_Enclosing_Body_Or_Block (N : Node_Id) return Node_Id;
- -- Find the innermost body or block that encloses N.
+ -- Find the innermost body or block that encloses N
function Find_Enclosing_Body (N : Node_Id) return Node_Id;
- -- Find the innermost body that encloses N.
+ -- Find the innermost body that encloses N
procedure Check_Distinct_Labels;
-- Checks the rule in RM-5.1(11), which requires distinct identifiers
Result : Node_Id := Parent (N);
begin
- -- Climb up the parent chain until we find a body or block.
+ -- Climb up the parent chain until we find a body or block
while Present (Result)
and then Nkind (Result) /= N_Accept_Statement
Succ : Elmt_Id;
function Goto_Id (Goto_Node : Node_Id) return Name_Id;
- -- Find Name_Id of goto statement, which may be an expanded name.
+ -- Find Name_Id of goto statement, which may be an expanded name
function Matches
(Label_Node : Node_Id;
begin
Next_Label_Elmt := First_Elmt (Label_List);
-
while Present (Next_Label_Elmt) loop
Label_Node := Node (Next_Label_Elmt);
-- Now attach the implicit label declaration to the appropriate
-- declarative region, creating a declaration list if none exists
- if not Present (Declarations (Enclosing_Body_Or_Block)) then
+ if No (Declarations (Enclosing_Body_Or_Block)) then
Set_Declarations (Enclosing_Body_Or_Block, New_List);
end if;