| /* PR target/14262 */ |
| /* { dg-do run } */ |
| |
| extern void abort (void); |
| |
| typedef char ACS; |
| typedef char LSM; |
| typedef char PANEL; |
| typedef char DRIVE; |
| typedef struct { |
| ACS acs; |
| LSM lsm; |
| } LSMID; |
| typedef struct { |
| LSMID lsm_id; |
| PANEL panel; |
| } PANELID; |
| typedef struct { |
| PANELID panel_id; |
| DRIVE drive; |
| } DRIVEID; |
| |
| void sub (DRIVEID driveid) |
| { |
| if (driveid.drive != 1) |
| abort (); |
| if (driveid.panel_id.panel != 2) |
| abort (); |
| if (driveid.panel_id.lsm_id.lsm != 3) |
| abort (); |
| if (driveid.panel_id.lsm_id.acs != 4) |
| abort (); |
| } |
| |
| int main(void) |
| { |
| DRIVEID driveid; |
| |
| driveid.drive = 1; |
| driveid.panel_id.panel = 2; |
| driveid.panel_id.lsm_id.lsm = 3; |
| driveid.panel_id.lsm_id.acs = 4; |
| |
| sub(driveid); |
| |
| return 0; |
| } |
| |
| |