aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/expr.c
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2004-01-09 19:55:13 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>2004-01-09 19:55:13 +0000
commit0fab64a344486770d0acc827ab6b670543d58a15 (patch)
treee2935a8f65ac880227cefaf160bb48b5a018326f /gcc/cp/expr.c
parent2fca049fe8aada42f982aff9498eb45d3a2db302 (diff)
downloadgcc-0fab64a344486770d0acc827ab6b670543d58a15.zip
gcc-0fab64a344486770d0acc827ab6b670543d58a15.tar.gz
gcc-0fab64a344486770d0acc827ab6b670543d58a15.tar.bz2
expr.h (expand_expr): Make it a macro, not a function.
* expr.h (expand_expr): Make it a macro, not a function. (expand_expr_real): New function. * expr.c (store_expr): Adjust logic for deciding whether or not to copy the value returned by expand_expr. (expand_expr): Rename to ... (expand_expr_real): ... this. Add alt_rtl parameter. Adjust calls to language hooks. * c-common.h (c_expand_expr): Adjust prototype. * c-common.c (c_expand_expr): Add alt_rtl parameter. * langhooks-def.h (lhd_expand_expr): Change prototype. * langhooks.c (lhd_expand_expr): Add all_rtl parameter. * langhooks.h (lang_hooks): Change type of expand_expr. * stmt.c (stmt_status): Add x_last_expr_alt_rtl. (last_expr_alt_rtl): Likewise. (expand_expr_stmt_value): Set last_expr_alt_rtl. (clear_last_expr): Clear it. (expand_end_stmt_expr): Set RTL_EXPR_ATL_RTL. (expand_end_bindings): Save and restor last_expr_alt_rtl. * tree.def (RTL_EXPR): Give it an additional operand. * tree.h (RTL_EXPR_ALT_RTL): New macro. * misc.c (gnat_expand_expr): Add alt_rtl parameter. * cp-tree.h (cxx_expand_expr): Change prototype. * expr.c (cxx_expand_expr): Add alt_rtl parameter. * java-tree.h (java_expand_expr): Change prototype. * expr.c (java_expand_expr): Add alt_rtl parameter. From-SVN: r75594
Diffstat (limited to 'gcc/cp/expr.c')
-rw-r--r--gcc/cp/expr.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/cp/expr.c b/gcc/cp/expr.c
index 06a2e0c..14453bf 100644
--- a/gcc/cp/expr.c
+++ b/gcc/cp/expr.c
@@ -75,7 +75,8 @@ cplus_expand_constant (tree cst)
/* Hook used by expand_expr to expand language-specific tree codes. */
rtx
-cxx_expand_expr (tree exp, rtx target, enum machine_mode tmode, int modifier)
+cxx_expand_expr (tree exp, rtx target, enum machine_mode tmode, int modifier,
+ rtx *alt_rtl)
{
tree type = TREE_TYPE (exp);
enum machine_mode mode = TYPE_MODE (type);
@@ -119,7 +120,7 @@ cxx_expand_expr (tree exp, rtx target, enum machine_mode tmode, int modifier)
modifier);
default:
- return c_expand_expr (exp, target, tmode, modifier);
+ return c_expand_expr (exp, target, tmode, modifier, alt_rtl);
}
abort ();
/* NOTREACHED */