+2014-07-30 Bob Duff <duff@adacore.com>
+
+ * s-tataat.adb, s-tataat.ads, a-tasatt.adb: Minor comment fixes.
+
+2014-07-30 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Loop_Statement): If loop has a label,
+ verify that it is not hidden by an inner implicit declaration.
+
2014-07-30 Thomas Quinot <quinot@adacore.com>
* sem.ads (Scope_Table_Entry): New component Locked_Shared_Objects.
-- --
-- B o d y --
-- --
--- Copyright (C) 1995-2014, Free Software Foundation, Inc. --
+-- Copyright (C) 2014, 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- --
type Attribute_Cleanup is new Limited_Controlled with null record;
procedure Finalize (Cleanup : in out Attribute_Cleanup);
- -- Finalize all tasks' attribute for this package
+ -- Finalize all tasks' attributes for this package
Cleanup : Attribute_Cleanup;
pragma Unreferenced (Cleanup);
-- --
-- B o d y --
-- --
--- Copyright (C) 1995-2014, Free Software Foundation, Inc. --
+-- Copyright (C) 2014, 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- --
end record;
-- Used is True if a given index is used by an instantiation of
-- Ada.Task_Attributes, False otherwise.
- -- Require_Finalization is True is the attribute requires finalization.
+ -- Require_Finalization is True if the attribute requires finalization.
Index_Array : array (1 .. Max_Attribute_Count) of Index_Info :=
(others => (False, False));
-- --
-- S p e c --
-- --
--- Copyright (C) 1995-2014, Free Software Foundation, Inc. --
+-- Copyright (C) 2014, 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- --
type Attribute_Record is record
Free : Deallocator;
end record;
- -- The real type is declared in Ada.Task_Attributes body: Real_Attribute
+ -- The real type is declared in Ada.Task_Attributes body: Real_Attribute.
-- As long as the first field is the deallocator we are good.
type Attribute_Access is access all Attribute_Record;
raise Program_Error;
end if;
+ -- Verify that the loop name is hot hidden by an unrelated
+ -- declaration in an inner scope.
+
+ elsif Ekind (Ent) /= E_Label and then Ekind (Ent) /= E_Loop then
+ Error_Msg_Sloc := Sloc (Ent);
+ Error_Msg_N ("implicit label declaration for & is hidden#", Id);
+
else
Generate_Reference (Ent, N, ' ');
Generate_Definition (Ent);