1 /* PR middle-end/31448, this used to ICE during expand because 2 reduce_to_bit_field_precision was not ready to handle constants. */ 3 4 typedef struct _st { 5 long int iIndex : 24; 6 long int iIndex1 : 24; 7 } st; 8 st *next; g(void)9void g(void) 10 { 11 st *next = 0; 12 int nIndx; 13 const static int constreg[] = { 0,}; 14 nIndx = 0; 15 next->iIndex = constreg[nIndx]; 16 } f(void)17void f(void) 18 { 19 int nIndx; 20 const static long int constreg[] = { 0xFEFEFEFE,}; 21 nIndx = 0; 22 next->iIndex = constreg[nIndx]; 23 next->iIndex1 = constreg[nIndx]; 24 } main(void)25int main(void) 26 { 27 st a; 28 next = &a; 29 f(); 30 if (next->iIndex != 0xFFFEFEFE) 31 __builtin_abort (); 32 if (next->iIndex1 != 0xFFFEFEFE) 33 __builtin_abort (); 34 return 0; 35 } 36 37