aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gcc-interface/trans.c
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2009-11-24 20:02:40 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2009-11-24 20:02:40 +0000
commitcbae498bb28dc9997ed129456abaa95fb0ed6758 (patch)
tree0cbd3994d4de26fd097a0114e1905ade798dfc61 /gcc/ada/gcc-interface/trans.c
parent828514e401b307023aa6ec629bb81ea8e1ed5cfa (diff)
downloadgcc-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.c8
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