1/* PR target/14262 */
2/* { dg-do run } */
3
4extern void abort (void);
5
6typedef char   ACS;
7typedef char   LSM;
8typedef char   PANEL;
9typedef char   DRIVE;
10typedef struct {
11    ACS             acs;
12    LSM             lsm;
13} LSMID;
14typedef struct {
15    LSMID           lsm_id;
16    PANEL           panel;
17} PANELID;
18typedef struct {
19    PANELID         panel_id;
20    DRIVE           drive;
21} DRIVEID;
22
23void sub (DRIVEID driveid)
24{
25  if (driveid.drive != 1)
26    abort ();
27  if (driveid.panel_id.panel != 2)
28    abort ();
29  if (driveid.panel_id.lsm_id.lsm != 3)
30    abort ();
31  if (driveid.panel_id.lsm_id.acs != 4)
32    abort ();
33}
34
35int main(void)
36{
37  DRIVEID driveid;
38
39  driveid.drive = 1;
40  driveid.panel_id.panel = 2;
41  driveid.panel_id.lsm_id.lsm = 3;
42  driveid.panel_id.lsm_id.acs = 4;
43
44  sub(driveid);
45
46  return 0;
47}
48
49
50