/* Test cases of structures with volatile fields declared register: should be allowed unless register name given but explicitly taking the address forbidden. */ /* Origin: Joseph Myers */ /* { dg-do compile } */ struct S { volatile int field; }; void f (void) { register struct S a; register struct S b[2]; register struct S c __asm__("nosuchreg"); /* { dg-error "object with volatile field" "explicit reg name" } */ &a; /* { dg-error "address of register" "explicit address" } */ b; /* { dg-error "address of register" "implicit address" } */ }