aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Botcazou <ebotcazou@adacore.com>2013-01-22 10:05:45 +0000
committerEric Botcazou <ebotcazou@gcc.gnu.org>2013-01-22 10:05:45 +0000
commite18600419eb270e0073c45a8da5aa9c7ab10ee77 (patch)
tree52cd74f07c9d64897d23896331712f1f6bf3d4e8
parentb0ffaa36f09b08ebc8d1561daeabe0d5a9954bb1 (diff)
downloadgcc-e18600419eb270e0073c45a8da5aa9c7ab10ee77.zip
gcc-e18600419eb270e0073c45a8da5aa9c7ab10ee77.tar.gz
gcc-e18600419eb270e0073c45a8da5aa9c7ab10ee77.tar.bz2
trans.c (gnat_to_gnu): Do not translate the Etype of the node before translating the Actions.
* gcc-interface/trans.c (gnat_to_gnu) <N_Expression_With_Actions>: Do not translate the Etype of the node before translating the Actions. From-SVN: r195368
-rw-r--r--gcc/ada/ChangeLog5
-rw-r--r--gcc/ada/gcc-interface/trans.c2
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 263113b9..d6a579e 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,5 +1,10 @@
2013-01-22 Eric Botcazou <ebotcazou@adacore.com>
+ * gcc-interface/trans.c (gnat_to_gnu) <N_Expression_With_Actions>: Do
+ not translate the Etype of the node before translating the Actions.
+
+2013-01-22 Eric Botcazou <ebotcazou@adacore.com>
+
* gcc-interface/trans.c (Pragma_to_gnu) <Name_Space>: Use optimize_size
instead of optimize and adjust warning message.
(Compilation_Unit_to_gnu): Process pragmas preceding the unit.
diff --git a/gcc/ada/gcc-interface/trans.c b/gcc/ada/gcc-interface/trans.c
index 6bb2e5b..1d25b0f 100644
--- a/gcc/ada/gcc-interface/trans.c
+++ b/gcc/ada/gcc-interface/trans.c
@@ -6810,7 +6810,6 @@ gnat_to_gnu (Node_Id gnat_node)
/****************/
case N_Expression_With_Actions:
- gnu_result_type = get_unpadded_type (Etype (gnat_node));
/* This construct doesn't define a scope so we don't wrap the statement
list in a BIND_EXPR; however, we wrap it in a SAVE_EXPR to protect it
from unsharing. */
@@ -6820,6 +6819,7 @@ gnat_to_gnu (Node_Id gnat_node)
gnu_expr = gnat_to_gnu (Expression (gnat_node));
gnu_result
= build_compound_expr (TREE_TYPE (gnu_expr), gnu_result, gnu_expr);
+ gnu_result_type = get_unpadded_type (Etype (gnat_node));
break;
case N_Freeze_Entity: