Commit d50ad6af by Richard Henderson Committed by Richard Henderson

stmt.c (expand_asm_operands): Don't warn for memories with queued addresses.

        * stmt.c (expand_asm_operands): Don't warn for memories with
        queued addresses.

From-SVN: r67808
parent e46f19c8
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
......
......@@ -1765,10 +1765,11 @@ expand_asm_operands (string, outputs, inputs, clobbers, vol, filename, line)
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
{
......
......@@ -7,12 +7,14 @@ void test(void)
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));
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment