OSDN Git Service

* c-tree.h (C_DECL_REGISTER): New.
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / gcc.dg / reg-vol-struct-1.c
1 /* Test cases of structures with volatile fields declared register:
2    should be allowed unless register name given but explicitly taking
3    the address forbidden.  */
4 /* Origin: Joseph Myers <jsm@polyomino.org.uk> */
5
6 /* { dg-do compile } */
7
8 struct S { volatile int field; };
9
10 void
11 f (void)
12 {
13   register struct S a;
14   register struct S b[2];
15   register struct S c __asm__("nosuchreg"); /* { dg-error "object with volatile field" "explicit reg name" } */
16   &a; /* { dg-warning "address of register" "explicit address" } */
17   b; /* { dg-warning "address of register" "implicit address" } */
18 }