+2009-06-24 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch6.adb: Minor reformatting
+
+ * layout.adb: Minor reformatting
+
+ * make.adb: Minor reformatting
+
+2009-06-24 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch10.adb: Minor code reorganization.
+
2009-06-24 Eric Botcazou <ebotcazou@adacore.com>
* ttypes.ads: Minor editing.
-- the type, or the maximum allowed alignment.
declare
- S : constant Int := UI_To_Int (Esize (E)) / SSU;
- Max_Alignment, A : Nat;
+ S : constant Int := UI_To_Int (Esize (E)) / SSU;
+ A : Nat;
+ Max_Alignment : Nat;
begin
-- If the default alignment of "double" floating-point types is
-- executable: there may be an externally built library
-- file that has been modified.
- if (not Executable_Obsolete)
- and then Main_Project /= No_Project
+ if not Executable_Obsolete
+ and then Main_Project /= No_Project
then
declare
Proj1 : Project_List;
+
begin
Proj1 := Project_Tree.Projects;
while Proj1 /= null loop
- if Proj1.Project.Library and then
- Proj1.Project.Library_TS > Executable_Stamp
+ if Proj1.Project.Library
+ and then
+ Proj1.Project.Library_TS > Executable_Stamp
then
Executable_Obsolete := True;
Youngest_Obj_Stamp := Proj1.Project.Library_TS;
(C_Unit : Node_Id;
Pack : Entity_Id;
Is_Limited : Boolean := False) return Boolean;
- -- Determine whether compilation unit C_Unit contains a with clause for
- -- package Pack. Use flag Is_Limited to designate desired clause kind.
+ -- Determine whether compilation unit C_Unit contains a [limited] with
+ -- clause for package Pack. Use the flag Is_Limited to designate desired
+ -- clause kind.
procedure Implicit_With_On_Parent (Child_Unit : Node_Id; N : Node_Id);
-- If the main unit is a child unit, implicit withs are also added for
Is_Limited : Boolean := False) return Boolean
is
Item : Node_Id;
- Nam : Entity_Id;
+
+ function Named_Unit (Clause : Node_Id) return Entity_Id;
+ -- Return the entity for the unit named in a [limited] with clause
+
+ ----------------
+ -- Named_Unit --
+ ----------------
+
+ function Named_Unit (Clause : Node_Id) return Entity_Id is
+ begin
+ if Nkind (Name (Clause)) = N_Selected_Component then
+ return Entity (Selector_Name (Name (Clause)));
+ else
+ return Entity (Name (Clause));
+ end if;
+ end Named_Unit;
+
+ -- Start of processing for Has_With_Clause
begin
if Present (Context_Items (C_Unit)) then
Item := First (Context_Items (C_Unit));
while Present (Item) loop
- if Nkind (Item) = N_With_Clause then
-
- -- Retrieve the entity of the imported compilation unit
-
- if Nkind (Name (Item)) = N_Selected_Component then
- Nam := Entity (Selector_Name (Name (Item)));
- else
- Nam := Entity (Name (Item));
- end if;
-
- if Nam = Pack
- and then
- ((Is_Limited and then Limited_Present (Item))
- or else
- (not Is_Limited and then not Limited_Present (Item)))
- then
- return True;
- end if;
+ if Nkind (Item) = N_With_Clause
+ and then Limited_Present (Item) = Is_Limited
+ and then Named_Unit (Item) = Pack
+ then
+ return True;
end if;
Next (Item);