aboutsummaryrefslogtreecommitdiff
path: root/gcc/d/expr.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/d/expr.cc')
-rw-r--r--gcc/d/expr.cc3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/d/expr.cc b/gcc/d/expr.cc
index 79f212c..ef2bf5f 100644
--- a/gcc/d/expr.cc
+++ b/gcc/d/expr.cc
@@ -884,6 +884,9 @@ public:
tree t2 = build_expr (e->e2);
tree expr = stabilize_expr (&t2);
+ if (TREE_CODE (t2) == CALL_EXPR)
+ t2 = force_target_expr (t2);
+
result = modify_expr (build_deref (ptrexp), t2);
this->result_ = compound_expr (expr, result);