summaryrefslogtreecommitdiff
path: root/gcc/expr.h
diff options
context:
space:
mode:
authormmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-09 19:55:13 +0000
committermmitchel <mmitchel@138bc75d-0d04-0410-961f-82ee72b054a4>2004-01-09 19:55:13 +0000
commit60ffaf4d23b6385206e6fc4cc3a44a964e88d776 (patch)
treee2935a8f65ac880227cefaf160bb48b5a018326f /gcc/expr.h
parentbe946baefd2692b20cd9388662915f171ebf9257 (diff)
downloadgcc-60ffaf4d23b6385206e6fc4cc3a44a964e88d776.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75594 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expr.h')
-rw-r--r--gcc/expr.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/gcc/expr.h b/gcc/expr.h
index abd7f5b049d..bdfd4902f92 100644
--- a/gcc/expr.h
+++ b/gcc/expr.h
@@ -498,7 +498,10 @@ extern tree find_placeholder (tree, tree *);
/* Generate code for computing expression EXP.
An rtx for the computed value is returned. The value is never null.
In the case of a void EXP, const0_rtx is returned. */
-extern rtx expand_expr (tree, rtx, enum machine_mode, enum expand_modifier);
+#define expand_expr(EXP, TARGET, MODE, MODIFIER) \
+ expand_expr_real((EXP), (TARGET), (MODE), (MODIFIER), NULL)
+extern rtx expand_expr_real (tree, rtx, enum machine_mode,
+ enum expand_modifier, rtx *);
/* At the start of a function, record that we have no previously-pushed
arguments waiting to be popped. */