rt_gccstream/gcc/testsuite/gcc.dg/reg-vol-struct-1.c

19 lines
589 B
C

/* 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 <jsm@polyomino.org.uk> */
/* { 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" } */
}