summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.dg/pr13804-1.c
blob: 65b238a9b8fefdc6c4b8d6c510e9c262e8f925fc (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
/* Diagnostics for attempts to access a member not in a structure or
   union should name the type involved.  Bug 13804.  */
/* Origin: Joseph Myers <jsm@polyomino.org.uk> */
/* { dg-do compile } */
/* { dg-options "" } */

struct s0 { int a; };
union u0 { long b; };
typedef struct s0 S0;
typedef union u0 U0;

struct s0 x0;
S0 x1;
union u0 x2;
U0 x3;
struct s0 *x4;
union u0 *x5;

void
f (void)
{
  x0.c; /* { dg-error "'struct s0' has no member named 'c'" } */
  x1.c; /* { dg-error "'S0 {aka struct s0}' has no member named 'c'" } */
  x2.c; /* { dg-error "'union u0' has no member named 'c'" } */
  x3.c; /* { dg-error "'U0 {aka union u0}' has no member named 'c'" } */
  x4->c; /* { dg-error "'struct s0' has no member named 'c'" } */
  x5->c; /* { dg-error "'union u0' has no member named 'c'" } */
}