summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/Wcxx-compat-7.c
blob: bccbd1107b6c3c2b972a3f16272ace95c922f393 (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
/* { dg-do compile } */
/* { dg-options "-Wc++-compat" } */

struct s1
{
  enum e1	/* { dg-message "note: enum type defined here" } */
  {
    A,		/* { dg-message "note: enum constant defined here" } */
    B
  } f1;
  struct s2	/* { dg-message "note: struct defined here" } */
  {
    struct s3	/* { dg-message "note: struct defined here" } */
    {
      enum e1 f3;
      struct s1 *p1;
      struct s2 *p2;
      struct s3 *p3;
    } f2;
    union u1	/* { dg-message "note: union defined here" } */
    {
      int f4;
    } f5;
    struct s3 f6;
  } f7;
  struct s2 f8;
  enum e1 f9;
};

struct s1 v1;
enum e1 v2;	/* { dg-warning "not visible in C\[+\]\[+\]" } */
struct s2 v3;	/* { dg-warning "not visible in C\[+\]\[+\]" } */
struct s3 v4;	/* { dg-warning "not visible in C\[+\]\[+\]" } */
union u1 v5;	/* { dg-warning "not visible in C\[+\]\[+\]" } */
int i = A;	/* { dg-warning "not visible in C\[+\]\[+\]" } */