1  /* Gcc 3.3.1 deprecates memory inputs of non-lvalues.  */
       2  /* { dg-do compile } */
       3  
       4  void test(void)
       5  {
       6    register int r;
       7    register int r2;
       8    int i;
       9    static int m;
      10    int *p;
      11  
      12    __asm__ ("" : : "m"(r));	/* { dg-error "" } */
      13    __asm__ ("" : : "m"(i));
      14    __asm__ ("" : : "m"(m));
      15    __asm__ ("" : : "m"(0));	/* { dg-error "" } */
      16    __asm__ ("" : : "m"(i+1));	/* { dg-error "" } */
      17    __asm__ ("" : : "m"(*p++));
      18  
      19    __asm__ ("" : : "g"(r));
      20    __asm__ ("" : : "g"(i));
      21    __asm__ ("" : : "g"(m));
      22    __asm__ ("" : : "g"(0));
      23    __asm__ ("" : : "g"(i+1));
      24  
      25    __asm__ ("" : "=m"(r2));	/* { dg-error "" } */
      26    __asm__ ("" : "=m"(i));
      27    __asm__ ("" : "=m"(m));
      28  }