summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/Wduplicate-decl-specifier-c11.c
blob: c2db525aaf91ca3552915f97b06dff94a320bfbc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/* { 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." } */