diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2009-11-24 20:02:40 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2009-11-24 20:02:40 +0000 |
commit | cbae498bb28dc9997ed129456abaa95fb0ed6758 (patch) | |
tree | 0cbd3994d4de26fd097a0114e1905ade798dfc61 /gcc/ada/gcc-interface/trans.c | |
parent | 828514e401b307023aa6ec629bb81ea8e1ed5cfa (diff) | |
download | gcc-cbae498bb28dc9997ed129456abaa95fb0ed6758.zip gcc-cbae498bb28dc9997ed129456abaa95fb0ed6758.tar.gz gcc-cbae498bb28dc9997ed129456abaa95fb0ed6758.tar.bz2 |
exp_util.adb (Make_CW_Equivalent_Type): Do not mark the type as frozen for targets that do not require front-end layout.
* exp_util.adb (Make_CW_Equivalent_Type): Do not mark the type as
frozen for targets that do not require front-end layout.
(New_Class_Wide_Subtype): Always reset the freezing status to False.
* exp_ch8.adb: Do not 'with' Targparm.
(Expand_N_Object_Renaming_Declaration): Always freeze a class-wide
subtype that has been built from the expression.
* exp_intr.adb (Expand_Unc_Deallocation): If the designated type is
class wide, freeze the implicit type that has been built from the
expression at the dereference point.
* freeze.adb (Freeze_Entity): Adjust comment.
* gcc-interface/decl.c (Gigi_Equivalent_Type) <E_Class_Wide_Type>:
Remove useless test.
* gcc-interface/trans.c (process_freeze_entity): Do not special-case
class-wide subtypes.
* s-osinte-aix.adb (clock_gettime): Fix comment.
* s-osinte-darwin.adb (clock_gettime): Likewise.
From-SVN: r154514
Diffstat (limited to 'gcc/ada/gcc-interface/trans.c')
-rw-r--r-- | gcc/ada/gcc-interface/trans.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c index 41be8bb..51c846f 100644 --- a/gcc/ada/gcc-interface/trans.c +++ b/gcc/ada/gcc-interface/trans.c @@ -6087,11 +6087,9 @@ process_freeze_entity (Node_Id gnat_node) if (Present (Address_Clause (gnat_entity))) gnu_old = 0; - /* Don't do anything for class-wide types they are always - transformed into their root type. */ - if (Ekind (gnat_entity) == E_Class_Wide_Type - || (Ekind (gnat_entity) == E_Class_Wide_Subtype - && Present (Equivalent_Type (gnat_entity)))) + /* Don't do anything for class-wide types as they are always transformed + into their root type. */ + if (Ekind (gnat_entity) == E_Class_Wide_Type) return; /* Don't do anything for subprograms that may have been elaborated before |