git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@2821
4a8a32a2-be11-0410-ad9d-
d568d2c75423
+2003-08-09 Bernhard Held <bernhard@bernhardheld.de>
+
+ * src/SDCCval.c (valMult): fixex overflow detection of negativ int
+
2003-08-07 Erik Petrich <epetrich@ivorytower.norman.ok.us>
* src/z80/ralloc.c (joinPushes): made compatible with new signedness
2003-08-07 Erik Petrich <epetrich@ivorytower.norman.ok.us>
* src/z80/ralloc.c (joinPushes): made compatible with new signedness
if (SPEC_LONG (val->type))
SPEC_CVAL (val->type).v_ulong = (TYPE_UDWORD) floatFromVal (lval) *
(TYPE_UDWORD) floatFromVal (rval);
if (SPEC_LONG (val->type))
SPEC_CVAL (val->type).v_ulong = (TYPE_UDWORD) floatFromVal (lval) *
(TYPE_UDWORD) floatFromVal (rval);
{
TYPE_UDWORD ul = (TYPE_UWORD) floatFromVal (lval) *
(TYPE_UWORD) floatFromVal (rval);
{
TYPE_UDWORD ul = (TYPE_UWORD) floatFromVal (lval) *
(TYPE_UWORD) floatFromVal (rval);
SPEC_CVAL (val->type).v_uint = (TYPE_UWORD) ul;
if (!options.lessPedantic)
{
SPEC_CVAL (val->type).v_uint = (TYPE_UWORD) ul;
if (!options.lessPedantic)
{
}
else /* signed result */
{
}
else /* signed result */
{
- if ((TYPE_DWORD) ul != SPEC_CVAL (val->type).v_int)
+ TYPE_DWORD l = (TYPE_WORD) floatFromVal (lval) *
+ (TYPE_WORD) floatFromVal (rval);
+
+ if (l != SPEC_CVAL (val->type).v_int)