50 lines
820 B
C
50 lines
820 B
C
/* 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;
|
|
}
|
|
|
|
|