* stmt.c (expand_asm_operands): Don't warn for memories with
queued addresses.
From-SVN: r67808
+2003-06-11 Richard Henderson <rth@redhat.com>
+
+ * stmt.c (expand_asm_operands): Don't warn for memories with
+ queued addresses.
+
2003-06-11 Kaz Kojima <kkojima@gcc.gnu.org>
* config/sh/sh.h (SUBTARGET_ASM_RELAX_SPEC): Rewrite without
else if (!allows_mem)
warning ("asm operand %d probably doesn't match constraints",
i + noutputs);
- else if (GET_CODE (op) == MEM && MEM_VOLATILE_P (op))
+ else if (GET_CODE (op) == MEM)
{
- /* We won't recognize volatile memory as available a
- memory_operand at this point. Ignore it. */
+ /* We won't recognize either volatile memory or memory
+ with a queued address as available a memory_operand
+ at this point. Ignore it: clearly this *is* a memory. */
}
else
{
register int r2;
int i;
static int m;
+ int *p;
__asm__ ("" : : "m"(r)); /* { dg-warning "address of register" } */
__asm__ ("" : : "m"(i));
__asm__ ("" : : "m"(m));
__asm__ ("" : : "m"(0)); /* { dg-warning "input without lvalue" } */
__asm__ ("" : : "m"(i+1)); /* { dg-warning "input without lvalue" } */
+ __asm__ ("" : : "m"(*p++));
__asm__ ("" : : "g"(r));
__asm__ ("" : : "g"(i));