summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/pr68533.c
blob: 49e67a96168ec99a3bbb324ed7ee1c2dd3682f8f (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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
/* PR c/68533 */
/* { dg-do compile } */
/* { dg-options "" } */

struct T { int t; };

void
f1 (
  struct S *	/* { dg-warning "declared inside parameter list will not be visible outside of this definition or declaration" } */
  x,
  struct T *
  y
   )
{
  y->t = 4;
}

void
f2 (
  struct {int s;} * /* { dg-warning "anonymous struct declared inside parameter list will not be visible outside of this definition or declaration" } */
  x,
  struct T *
  y
   )
{
  y->t = 5;
}

void
f3 (
  const void	/* { dg-error "'void' as only parameter may not be qualified" } */
   )
{
}

void
f4 (
   void,	/* { dg-error "'void' must be the only parameter" } */
   ...
   )
{
}

void
f5 (
   int
   x;		/* { dg-error "parameter 'x' has just a forward declaration" } */
   int y
   )
{
}

void
f6 (
   int
   x,
   void	/* { dg-error "'void' must be the only parameter" } */
   )
{
}

void
f7 (
   void,	/* { dg-error "'void' must be the only parameter" } */
   int y
   )
{
}