summaryrefslogtreecommitdiff
path: root/gcc/ada/freeze.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2004-02-23 11:17:13 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2004-02-23 11:17:13 +0000
commit60fd8afc84bf26c0167ff157da7a40492de64196 (patch)
treeaa3ca3b1faa65ad0d368c42ec6ebdd8fe39f73b6 /gcc/ada/freeze.adb
parentc1a1bc563b642d863f1696badc172aea6e751c6f (diff)
downloadgcc-60fd8afc84bf26c0167ff157da7a40492de64196.tar.gz
2004-02-23 Ed Schonberg <schonberg@gnat.com>
* exp_ch6.adb (Expand_N_Subprogram_Declaration): Do not create protected operations if original subprogram is flagged as eliminated. (Expand_N_Subprogram_Body): For a protected operation, create discriminals for next operation before checking whether the operation is eliminated. * exp_ch9.adb (Expand_N_Protected_Body, Expand_N_Protected_Type_Declaration): Do not generate specs and bodies for internal protected operations if the original subprogram is eliminated. * sem_elim.adb (Check_Eliminated): Handle properly protected operations declared in a single protected object. 2004-02-23 Vincent Celier <celier@gnat.com> * prj-attr.adb: Make attribute Builder'Executable an associative array, case insensitive if file names are case insensitive, instead of a standard associative array. * prj-attr.adb (Initialize): For 'b' associative arrays, do not set them as case insensitive on platforms where the file names are case sensitive. * prj-part.adb (Parse_Single_Project): Make sure, when checking if project file has already been parsed that canonical path are compared. 2004-02-23 Robert Dewar <dewar@gnat.com> * sinput-c.ads: Correct bad unit title in header * freeze.adb: Minor reformatting 2004-02-23 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * trans.c (tree_transform, case N_Procedure_Call_Statement): For nonaddressable COMPONENT_REF that is removing padding that we are taking the address of, take the address of the padded record instead if item is variable size. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@78292 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/freeze.adb')
-rw-r--r--gcc/ada/freeze.adb14
1 files changed, 8 insertions, 6 deletions
diff --git a/gcc/ada/freeze.adb b/gcc/ada/freeze.adb
index 73861b72fc6..11f8270c756 100644
--- a/gcc/ada/freeze.adb
+++ b/gcc/ada/freeze.adb
@@ -1479,6 +1479,10 @@ package body Freeze is
-- might otherwise be frozen in the wrong scope, and a freeze node
-- on subtype has no effect.
+ -----------------
+ -- Check_Itype --
+ -----------------
+
procedure Check_Itype (Desig : Entity_Id) is
begin
if not Is_Frozen (Desig)
@@ -1522,11 +1526,10 @@ package body Freeze is
then
Set_First_Entity (Rec, First_Entity (Base_Type (Rec)));
- -- If this is an internal type without a declaration, as for
- -- a record component, the base type may not yet be frozen,
- -- and its controller has not been created. Add an explicit
- -- freeze node for the itype, so it will be frozen after the
- -- base type.
+ -- If this is an internal type without a declaration, as for a
+ -- record component, the base type may not yet be frozen, and its
+ -- controller has not been created. Add an explicit freeze node
+ -- for the itype, so it will be frozen after the base type.
elsif Is_Itype (Rec)
and then Has_Delayed_Freeze (Base_Type (Rec))
@@ -1997,7 +2000,6 @@ package body Freeze is
-- Loop through formals
Formal := First_Formal (E);
-
while Present (Formal) loop
F_Type := Etype (Formal);
Freeze_And_Append (F_Type, Loc, Result);