summaryrefslogtreecommitdiff
path: root/gcc/expr.h
diff options
context:
space:
mode:
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-09 03:21:56 +0000
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>2003-06-09 03:21:56 +0000
commit68b956aec6b292f374113dec0c1ee1fcf5ef54f4 (patch)
tree09f0b6ed28e40cc9846facf74e75892be87ef0f1 /gcc/expr.h
parente8e65fad8274ae621b1348b71c01a77b64d799fc (diff)
downloadgcc-68b956aec6b292f374113dec0c1ee1fcf5ef54f4.tar.gz
* expr.h (EXPAND_MEMORY): New.
* expr.c (expand_expr): Check it. * stmt.c (expand_asm_operands): Provide it when the constraint requires a memory. Warn for memory input constraints without a memory operand. * gcc.dg/20011029-2.c: Fix the array reference. * gcc.dg/asm-7.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67645 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/expr.h')
-rw-r--r--gcc/expr.h7
1 files changed, 5 insertions, 2 deletions
diff --git a/gcc/expr.h b/gcc/expr.h
index 594df73a0d2..1e50320cafb 100644
--- a/gcc/expr.h
+++ b/gcc/expr.h
@@ -51,9 +51,12 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
EXPAND_INITIALIZER is similar but also record any labels on forced_labels.
EXPAND_CONST_ADDRESS means it is ok to return a MEM whose address
is a constant that is not a legitimate address.
- EXPAND_WRITE means we are only going to write to the resulting rtx. */
+ EXPAND_WRITE means we are only going to write to the resulting rtx.
+ EXPAND_MEMORY means we are interested in a memory result, even if
+ the memory is constant and we could have propagated a constant value. */
enum expand_modifier {EXPAND_NORMAL = 0, EXPAND_STACK_PARM = 2, EXPAND_SUM,
- EXPAND_CONST_ADDRESS, EXPAND_INITIALIZER, EXPAND_WRITE};
+ EXPAND_CONST_ADDRESS, EXPAND_INITIALIZER, EXPAND_WRITE,
+ EXPAND_MEMORY};
/* Prevent the compiler from deferring stack pops. See
inhibit_defer_pop for more information. */