1/* Diagnostics for attempts to access a member not in a structure or
2   union should name the type involved.  Bug 13804.  */
3/* Origin: Joseph Myers <jsm@polyomino.org.uk> */
4/* { dg-do compile } */
5/* { dg-options "" } */
6
7struct s0 { int a; };
8union u0 { long b; };
9typedef struct s0 S0;
10typedef union u0 U0;
11
12struct s0 x0;
13S0 x1;
14union u0 x2;
15U0 x3;
16struct s0 *x4;
17union u0 *x5;
18
19void
20f (void)
21{
22  x0.c; /* { dg-error "error: 'struct s0' has no member named 'c'" } */
23  x1.c; /* { dg-error "error: 'S0' has no member named 'c'" } */
24  x2.c; /* { dg-error "error: 'union u0' has no member named 'c'" } */
25  x3.c; /* { dg-error "error: 'U0' has no member named 'c'" } */
26  x4->c; /* { dg-error "error: 'struct s0' has no member named 'c'" } */
27  x5->c; /* { dg-error "error: 'union u0' has no member named 'c'" } */
28}
29