2015-05-04 Sandra Loosemore <sandra@codesourcery.com>
[official-gcc.git] / gcc / testsuite / gcc.dg / torture / pr55882.c
blobfd2276e7f531b3fd561dc454545658f9b614d8c7
1 /* { dg-do run } */
3 typedef enum
5 PVT_A = 0,
6 PVT_B = 1,
7 PVT_CONFIG = 2,
8 PVT_RESERVED3 = 3,
9 } T_CR_SELECT;
11 typedef enum
13 STD_ULOGIC_0 = 0,
14 STD_ULOGIC_1 = 1,
15 } STD_ULOGIC;
17 typedef struct
19 unsigned char rtp : 3;
20 unsigned char rtn : 3;
21 } C;
23 typedef struct
25 unsigned char nd;
26 unsigned char pd;
27 unsigned char rtn;
28 unsigned char rtp;
29 } A;
31 typedef struct
33 unsigned short reserved : 14;
34 unsigned char Z_rx_enable : 2;
35 A pvt;
36 } B;
38 typedef struct
40 B cr_dsclk_q3;
41 B cr_data_q3;
42 B cr_addr_q3;
43 B cr_cmd_q3;
44 B cr_pres_q3;
45 C cr_vref_q3[6];
46 unsigned char pres_disable;
47 unsigned char pres_drive_high;
48 unsigned char c_enab_120;
49 STD_ULOGIC clk_tximp;
50 STD_ULOGIC dqs_tximp;
51 STD_ULOGIC cmd_tximp;
52 STD_ULOGIC data_tximp;
53 STD_ULOGIC dqs_rxterm;
54 STD_ULOGIC data_rxterm;
55 T_CR_SELECT cr_clk_sel;
56 unsigned char cr_clk : 5;
57 T_CR_SELECT cr_dsclk_odd_sel;
58 unsigned char cr_dsclk_odd : 5;
59 T_CR_SELECT cr_dsclk_even_sel;
60 unsigned char cr_dsclk_even : 5;
61 T_CR_SELECT cr_data_sel;
62 unsigned char cr_data : 5;
63 T_CR_SELECT cr_vref_sel;
64 unsigned char cr_vref : 5;
65 T_CR_SELECT cr_others_sel;
66 unsigned char cr_others : 5;
67 } CONFIG;
69 typedef struct
71 unsigned char enable_monitor;
72 unsigned short step_out_pointer : 12;
73 unsigned short hold_out_pointer : 12;
74 unsigned short enable_wr_dqs : 12;
75 unsigned short use_alt_rd_dqs : 12;
76 CONFIG io_buf;
77 } mystruct;
79 unsigned short __attribute__((noinline,noclone))
80 testfunction(unsigned i)
82 mystruct dmfe[8];
83 dmfe[0].use_alt_rd_dqs = 1;
84 dmfe[i].use_alt_rd_dqs = 0;
85 return dmfe[0].use_alt_rd_dqs;
88 extern void abort (void);
89 int main ()
91 if (testfunction(0) != 0)
92 abort ();
93 return 0;