1 /* { dg-skip-if "" { "h8300*-*-*" } "*" "-msx*" } */ 2 /* ICE for bit instruction generation using 16-bit const */ 3 4 __extension__ struct st_mstp 5 { 6 union 7 { 8 unsigned short WORD; 9 struct 10 { 11 unsigned char ACSE:1; 12 unsigned char _EXDMAC:1; 13 unsigned char _DMAC:1; 14 unsigned char _DTC:1; 15 unsigned char:2; 16 unsigned char _TMR23:1; 17 unsigned char _TMR01:1; 18 unsigned char:2; 19 unsigned char _DA:1; 20 unsigned char:1; 21 unsigned char _AD:1; 22 unsigned char:1; 23 unsigned char _TPUU:1; 24 unsigned char _TPUL:1; 25 } BIT; 26 } CRA; 27 }; 28 #define MSTP (*(volatile struct st_mstp *)0xFFFDC8) 29 #define MSTPA_EXDMA 0x4000 30 #define MSTPA_AND 0xFEFF 31 32 int main()33main () 34 { 35 MSTP.CRA.WORD |= MSTPA_EXDMA; 36 MSTP.CRA.WORD ^= MSTPA_EXDMA; 37 MSTP.CRA.WORD &= MSTPA_AND; 38 return 0; 39 } 40