1 /* Gcc 3.3.1 deprecates memory inputs of non-lvalues. */ 2 /* { dg-do compile } */ 3 test(void)4void 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 } 29