mirror of
https://github.com/nArnoSNES/tcc-65816.git
synced 2024-06-02 19:42:59 +00:00
39 lines
733 B
C
39 lines
733 B
C
// constreg declared twice
|
|
|
|
/* PR middle-end/31448, this used to ICE during expand because
|
|
reduce_to_bit_field_precision was not ready to handle constants. */
|
|
|
|
typedef struct _st {
|
|
long int iIndex : 8;
|
|
long int iIndex1 : 8;
|
|
} st;
|
|
st *next;
|
|
void g(void)
|
|
{
|
|
st *next = 0;
|
|
int nIndx;
|
|
const static int constreg[] = { 0,};
|
|
nIndx = 0;
|
|
next->iIndex = constreg[nIndx];
|
|
}
|
|
void f(void)
|
|
{
|
|
int nIndx;
|
|
const static long int constreg[] = { 0xFEFE,};
|
|
nIndx = 0;
|
|
next->iIndex = constreg[nIndx];
|
|
next->iIndex1 = constreg[nIndx];
|
|
}
|
|
int main(void)
|
|
{
|
|
st a;
|
|
next = &a;
|
|
f();
|
|
if (next->iIndex != 0xFFFE)
|
|
__builtin_abort ();
|
|
if (next->iIndex1 != 0xFFFE)
|
|
__builtin_abort ();
|
|
return 0;
|
|
}
|
|
|