2018-05-15 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / testsuite / gcc.dg / 20040305-2.c
blobffaf353e371de13b5a86494e231800e72ac57928
1 /* PR target/14262 */
2 /* { dg-do run } */
4 extern void abort (void);
6 typedef char ACS;
7 typedef char LSM;
8 typedef char PANEL;
9 typedef char DRIVE;
10 typedef struct {
11 ACS acs;
12 LSM lsm;
13 } LSMID;
14 typedef struct {
15 LSMID lsm_id;
16 PANEL panel;
17 } PANELID;
18 typedef struct {
19 PANELID panel_id;
20 DRIVE drive;
21 } DRIVEID;
23 void sub (DRIVEID driveid)
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 ();
35 int main(void)
37 DRIVEID driveid;
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;
44 sub(driveid);
46 return 0;