| /* { dg-do compile } */ |
| /* { dg-options "-std=c11 -Wduplicate-decl-specifier" } */ |
| |
| typedef _Atomic int AT1; |
| #define AT2 _Atomic int |
| |
| void |
| foo (void) |
| { |
| _Atomic AT1 x1; |
| _Atomic AT2 x2; |
| AT1 _Atomic x3; |
| AT2 _Atomic x4; |
| _Atomic int _Atomic x5; /* { dg-warning "duplicate ._Atomic." } */ |
| } |
| |
| void a1(_Atomic AT1 t) { } |
| void a2(_Atomic AT2 t) { } |
| void a3(AT1 _Atomic t) { } |
| void a4(AT2 _Atomic t) { } |
| void a5(_Atomic int _Atomic t) { } /* { dg-warning "duplicate ._Atomic." } */ |
| |
| typedef _Atomic AT1 AAT1; |
| typedef _Atomic AT2 AAT2; |
| typedef AT1 _Atomic AT1A; |
| typedef AT2 _Atomic AT2A; |
| typedef _Atomic int _Atomic AIA; /* { dg-warning "duplicate ._Atomic." } */ |