42 lines
707 B
C
42 lines
707 B
C
/* The lower-subreg pass would ICE on this test case with
|
|
TODO_verify_flow on 32-bit PowerPC. It didn't handle REG_EH_REGION
|
|
notes correctly. This is reduced from interpret.cc in libjava. */
|
|
|
|
/* { dg-do compile } */
|
|
/* { dg-options "-O2 -fnon-call-exceptions" } */
|
|
|
|
union _Jv_word
|
|
{
|
|
double *o;
|
|
int i;
|
|
int ia[1];
|
|
};
|
|
union _Jv_word2
|
|
{
|
|
int ia[2];
|
|
double d;
|
|
};
|
|
|
|
class _Jv_InterpMethod
|
|
{
|
|
static void run_debug (_Jv_word *);
|
|
};
|
|
|
|
void
|
|
_Jv_InterpMethod::run_debug (_Jv_word *sp)
|
|
{
|
|
try
|
|
{
|
|
{
|
|
int index = ((int) (--sp)->i);
|
|
double *arr = (double *) ((--sp)->o);
|
|
_Jv_word2 w2;
|
|
w2.d = arr[index];
|
|
(sp++)->ia[0] = w2.ia[0];
|
|
}
|
|
}
|
|
catch (int * ex)
|
|
{
|
|
}
|
|
}
|