/* 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" } */
}