diff options
author | Richard Stallman <rms@gnu.org> | 1992-04-18 01:03:55 +0000 |
---|---|---|
committer | Richard Stallman <rms@gnu.org> | 1992-04-18 01:03:55 +0000 |
commit | 8129842c7b98ec8303333ae1ad23db6b28d4c2e8 (patch) | |
tree | 60a663743b4551bd27c4246998831bbd67c09eab /gcc | |
parent | 41e8363acf2a026687701e26310894a76866d047 (diff) | |
download | gcc-8129842c7b98ec8303333ae1ad23db6b28d4c2e8.zip gcc-8129842c7b98ec8303333ae1ad23db6b28d4c2e8.tar.gz gcc-8129842c7b98ec8303333ae1ad23db6b28d4c2e8.tar.bz2 |
*** empty log message ***
From-SVN: r772
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/calls.c | 3 | ||||
-rw-r--r-- | gcc/expr.c | 11 |
2 files changed, 9 insertions, 5 deletions
diff --git a/gcc/calls.c b/gcc/calls.c index e57531d..963da43 100644 --- a/gcc/calls.c +++ b/gcc/calls.c @@ -358,11 +358,10 @@ emit_call_1 (funexp, funtype, stack_size, struct_value_size, next_arg_reg, If IGNORE is nonzero, then we ignore the value of the function call. */ rtx -expand_call (exp, target, ignore, modifier) +expand_call (exp, target, ignore) tree exp; rtx target; int ignore; - enum expand_modifier modifier; { /* List of actual parameters. */ tree actparms = TREE_OPERAND (exp, 1); @@ -2791,6 +2791,11 @@ safe_from_p (x, exp) exp_rtl = SAVE_EXPR_RTL (exp); break; + case BIND_EXPR: + /* The only operand we look at is operand 1. The rest aren't + part of the expression. */ + return safe_from_p (x, TREE_OPERAND (exp, 1)); + case METHOD_CALL_EXPR: /* This takes a rtx argument, but shouldn't appear here. */ abort (); @@ -3503,7 +3508,7 @@ expand_expr (exp, target, tmode, modifier) just return the result we got. */ if (CALL_EXPR_RTL (exp) != 0) return CALL_EXPR_RTL (exp); - return expand_call (exp, target, ignore, modifier); + return expand_call (exp, target, ignore); case NON_LVALUE_EXPR: case NOP_EXPR: @@ -4799,7 +4804,7 @@ expand_builtin (exp, target, subtarget, mode, ignore) /* The argument was not in the domain; do this via library call. Pop the arguments right away in case the call gets deleted. */ NO_DEFER_POP; - expand_call (exp, target, 0, 0); + expand_call (exp, target, 0); OK_DEFER_POP; /* Branch around open coded version */ @@ -5536,7 +5541,7 @@ preexpand_calls (exp) if (TREE_CODE (TREE_OPERAND (exp, 0)) != ADDR_EXPR || TREE_CODE (TREE_OPERAND (TREE_OPERAND (exp, 0), 0)) != FUNCTION_DECL || ! DECL_BUILT_IN (TREE_OPERAND (TREE_OPERAND (exp, 0), 0))) - CALL_EXPR_RTL (exp) = expand_call (exp, 0, 0, 0); + CALL_EXPR_RTL (exp) = expand_call (exp, 0, 0); return; case COMPOUND_EXPR: |