/* PR middle-end/43690 */ /* { dg-do compile } */ /* { dg-options "-O2" } */ void foo (char *x) { asm ("" : : "m" (x++)); /* { dg-error "is not directly addressable" } */ asm ("" : : "m" (++x)); /* { dg-error "is not directly addressable" } */ asm ("" : : "m" (x--)); /* { dg-error "is not directly addressable" } */ asm ("" : : "m" (--x)); /* { dg-error "is not directly addressable" } */ asm ("" : : "m" (x + 1)); /* { dg-error "is not directly addressable" } */ }