// PR c/37772
// { dg-do compile }
// { dg-options "" }

void
foo ()
{
  int i;
  asm ();		  // { dg-error "expected string-literal before" }
  asm (1);		  // { dg-error "expected string-literal before" }
  asm (int);		  // { dg-error "expected string-literal before" }
  asm (: "=r" (i));	  // { dg-error "expected string-literal before" }
  asm (1 : "=r" (i));	  // { dg-error "expected string-literal before" }
  asm (int : "=r" (i));	  // { dg-error "expected string-literal before" }
  asm (: : "r" (i));	  // { dg-error "expected string-literal before" }
  asm (1 : : "r" (i));	  // { dg-error "expected string-literal before" }
  asm (int : : "r" (i));  // { dg-error "expected string-literal before" }
  asm (: : : "memory");	  // { dg-error "expected string-literal before" }
  asm (1 : : : "memory"); // { dg-error "expected string-literal before" }
}
