aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2006-01-25 14:06:59 +0000
committerEric Botcazou <ebotcazou@adacore.com>2006-01-25 14:06:59 +0000
commitd516761a88c429fedc4063d8e9f50dbe5a0e449c (patch)
tree4f8c3410b6d1a780e1dfbe48b0de022c35c6babe /gcc/ada
parent22d8cae92031dde0cc53a13eb75cab43d05d3000 (diff)
PR ada/18819
* exp_util.adb (Remove_Side_Effects): Lift enclosing type conversion nodes for elementary types in all cases. git-svn-id: https://gcc.gnu.org/svn/gcc/branches/gcc-4_1-branch@110213 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/ChangeLog6
-rw-r--r--gcc/ada/exp_util.adb9
2 files changed, 7 insertions, 8 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 69a639a9e55..5d7c353210b 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,9 @@
+2006-01-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/18819
+ * exp_util.adb (Remove_Side_Effects): Lift enclosing type conversion
+ nodes for elementary types in all cases.
+
2006-01-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
PR ada/24533
diff --git a/gcc/ada/exp_util.adb b/gcc/ada/exp_util.adb
index c6924e97cb6..906b275a2a9 100644
--- a/gcc/ada/exp_util.adb
+++ b/gcc/ada/exp_util.adb
@@ -4077,14 +4077,7 @@ package body Exp_Util is
-- is a view conversion to a smaller object, where gigi can end up
-- creating its own temporary of the wrong size.
- -- ??? this transformation is inhibited for elementary types that are
- -- not involved in a change of representation because it causes
- -- regressions that are not fully understood yet.
-
- elsif Nkind (Exp) = N_Type_Conversion
- and then (not Is_Elementary_Type (Underlying_Type (Exp_Type))
- or else Nkind (Parent (Exp)) = N_Assignment_Statement)
- then
+ elsif Nkind (Exp) = N_Type_Conversion then
Remove_Side_Effects (Expression (Exp), Name_Req, Variable_Ref);
Scope_Suppress := Svg_Suppress;
return;