https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85030

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
void
bar (int i)
{
  struct S a;
  asm volatile ("" : "=rm" (a) : "0" (i));
}

ICEs as well, but
int
baz (struct S a)
{
  int i;
  asm volatile ("" : "=rm" (i) : "0" (a));
  return i;
}

is properly rejected:
pr85030-3.c: In function ‘baz’:
pr85030-3.c:7:3: error: inconsistent operand constraints in an ‘asm’
   asm volatile ("" : "=rm" (i) : "0" (a));
   ^~~

Reply via email to