diff options
author | Richard Henderson <rth@redhat.com> | 2003-06-08 20:21:56 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2003-06-08 20:21:56 -0700 |
commit | 017e1b43f9a203228c25da74d49ce5367eaee65b (patch) | |
tree | 09f0b6ed28e40cc9846facf74e75892be87ef0f1 /gcc/expr.h | |
parent | f8950e171a6d42bb28412e3c9c5c1afa84d79976 (diff) | |
download | gcc-017e1b43f9a203228c25da74d49ce5367eaee65b.zip gcc-017e1b43f9a203228c25da74d49ce5367eaee65b.tar.gz gcc-017e1b43f9a203228c25da74d49ce5367eaee65b.tar.bz2 |
expr.h (EXPAND_MEMORY): New.
* 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.
From-SVN: r67645
Diffstat (limited to 'gcc/expr.h')
-rw-r--r-- | gcc/expr.h | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -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. */ |