++ip;
MINT_IN_BREAK;
MINT_IN_CASE(MINT_CONV_OVF_I8_UN_R8)
- if (sp [-1].data.f < 0 || sp [-1].data.f > G_MAXINT64)
+ if (sp [-1].data.f < 0 || sp [-1].data.f > G_MAXINT64 || isnan (sp [-1].data.f))
goto overflow_label;
sp [-1].data.l = (gint64)sp [-1].data.f;
++ip;
MINT_IN_BREAK;
MINT_IN_CASE(MINT_CONV_OVF_I8_UN_R4)
- if (sp [-1].data.f_r4 < 0 || sp [-1].data.f_r4 > G_MAXINT64)
+ if (sp [-1].data.f_r4 < 0 || sp [-1].data.f_r4 > G_MAXINT64 || isnan (sp [-1].data.f_r4))
goto overflow_label;
sp [-1].data.l = (gint64)sp [-1].data.f_r4;
++ip;
++ip;
MINT_IN_BREAK;
MINT_IN_CASE(MINT_CONV_OVF_I4_R4)
- if (sp [-1].data.f_r4 < G_MININT32 || sp [-1].data.f_r4 > G_MAXINT32)
+ if (sp [-1].data.f_r4 < G_MININT32 || sp [-1].data.f_r4 > G_MAXINT32 || isnan (sp [-1].data.f_r4))
goto overflow_label;
sp [-1].data.i = (gint32) sp [-1].data.f_r4;
++ip;
MINT_IN_BREAK;
MINT_IN_CASE(MINT_CONV_OVF_I4_R8)
- if (sp [-1].data.f < G_MININT32 || sp [-1].data.f > G_MAXINT32)
+ if (sp [-1].data.f < G_MININT32 || sp [-1].data.f > G_MAXINT32 || isnan (sp [-1].data.f))
goto overflow_label;
sp [-1].data.i = (gint32) sp [-1].data.f;
++ip;
++ip;
MINT_IN_BREAK;
MINT_IN_CASE(MINT_CONV_OVF_U4_R4)
- if (sp [-1].data.f_r4 < 0 || sp [-1].data.f_r4 > G_MAXUINT32)
+ if (sp [-1].data.f_r4 < 0 || sp [-1].data.f_r4 > G_MAXUINT32 || isnan (sp [-1].data.f_r4))
goto overflow_label;
sp [-1].data.i = (guint32) sp [-1].data.f_r4;
++ip;
MINT_IN_BREAK;
MINT_IN_CASE(MINT_CONV_OVF_U4_R8)
- if (sp [-1].data.f < 0 || sp [-1].data.f > G_MAXUINT32)
+ if (sp [-1].data.f < 0 || sp [-1].data.f > G_MAXUINT32 || isnan (sp [-1].data.f))
goto overflow_label;
sp [-1].data.i = (guint32) sp [-1].data.f;
++ip;
++ip;
MINT_IN_BREAK;
MINT_IN_CASE(MINT_CONV_OVF_I2_R8)
- if (sp [-1].data.f < G_MININT16 || sp [-1].data.f > G_MAXINT16)
+ if (sp [-1].data.f < G_MININT16 || sp [-1].data.f > G_MAXINT16 || isnan (sp [-1].data.f))
goto overflow_label;
sp [-1].data.i = (gint16) sp [-1].data.f;
++ip;
MINT_IN_BREAK;
MINT_IN_CASE(MINT_CONV_OVF_I2_UN_R8)
- if (sp [-1].data.f < 0 || sp [-1].data.f > G_MAXINT16)
+ if (sp [-1].data.f < 0 || sp [-1].data.f > G_MAXINT16 || isnan (sp [-1].data.f))
goto overflow_label;
sp [-1].data.i = (gint16) sp [-1].data.f;
++ip;
++ip;
MINT_IN_BREAK;
MINT_IN_CASE(MINT_CONV_OVF_U2_R8)
- if (sp [-1].data.f < 0 || sp [-1].data.f > G_MAXUINT16)
+ if (sp [-1].data.f < 0 || sp [-1].data.f > G_MAXUINT16 || isnan (sp [-1].data.f))
goto overflow_label;
sp [-1].data.i = (guint16) sp [-1].data.f;
++ip;
++ip;
MINT_IN_BREAK;
MINT_IN_CASE(MINT_CONV_OVF_I1_R8)
- if (sp [-1].data.f < G_MININT8 || sp [-1].data.f > G_MAXINT8)
+ if (sp [-1].data.f < G_MININT8 || sp [-1].data.f > G_MAXINT8 || isnan (sp [-1].data.f))
goto overflow_label;
sp [-1].data.i = (gint8) sp [-1].data.f;
++ip;
MINT_IN_BREAK;
MINT_IN_CASE(MINT_CONV_OVF_I1_UN_R8)
- if (sp [-1].data.f < 0 || sp [-1].data.f > G_MAXINT8)
+ if (sp [-1].data.f < 0 || sp [-1].data.f > G_MAXINT8 || isnan (sp [-1].data.f))
goto overflow_label;
sp [-1].data.i = (gint8) sp [-1].data.f;
++ip;
++ip;
MINT_IN_BREAK;
MINT_IN_CASE(MINT_CONV_OVF_U1_R8)
- if (sp [-1].data.f < 0 || sp [-1].data.f > G_MAXUINT8)
+ if (sp [-1].data.f < 0 || sp [-1].data.f > G_MAXUINT8 || isnan (sp [-1].data.f))
goto overflow_label;
sp [-1].data.i = (guint8) sp [-1].data.f;
++ip;