From: bernhardheld Date: Sun, 11 Jan 2004 20:52:04 +0000 (+0000) Subject: * src/SDCCicode.c (operandOperation): fixed bug #874819 X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=82c9e463701d046dc74426677079cdc3ac8402d6;p=fw%2Fsdcc * src/SDCCicode.c (operandOperation): fixed bug #874819 git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3115 4a8a32a2-be11-0410-ad9d-d568d2c75423 --- diff --git a/ChangeLog b/ChangeLog index ee3e3951..03476aac 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,17 +1,21 @@ +2004-01-11 Bernhard Held + + * src/SDCCicode.c (operandOperation): fixed bug #874819 + 2004-01-11 Frieder Ferlemann - * doc/sdccman.lyx: Moved and added some sections, small changes - all over. Telling LaTeX to be less strict with word spacing - to better keep the right margin. Changed some notes about + * doc/sdccman.lyx: Moved and added some sections, small changes + all over. Telling LaTeX to be less strict with word spacing + to better keep the right margin. Changed some notes about maintainance of the ports in section 3.2.1 - is it OK like this? 2004-01-11 Vangelis Rokas - + SDCC source changes: * src/SDCCopt.c (cntToFcall, cnvToFloatCast, cnvFromFloatCast, convilong): modified to inform the pic16 port that builtin functions are external - + PIC16 PORT specific changes: * src/pic16/device.c pic16_dump_equates() added, processor registers declared internally by the port are emitted in @@ -77,7 +81,7 @@ * src/SDCCglue.c (createInterruptVect): don't append 7(5) padding bytes for last interrupt vector (mcs51) * sdcc.spec: fixed typo - + 2004-01-09 Erik Petrich * src/mcs51/gen.c (genFunction, genEndFunction, genReceive, getTempRegs, @@ -123,7 +127,7 @@ * src/pic16/main.c: added $l in _asmCmd, changed extension for object file from '.rel' to '.o' in port->linker structure, changed size of fptr from 2 to 3 in port structure - + 2004-01-07 Borut Razem * support/scripts/sdcc.nsi: update PATH diff --git a/src/SDCCicode.c b/src/SDCCicode.c index a3f26e67..f19f4129 100644 --- a/src/SDCCicode.c +++ b/src/SDCCicode.c @@ -1202,8 +1202,9 @@ operandOperation (operand * left, operand * right, case LEFT_OP: /* The number of left shifts is always unsigned. Signed doesn't make sense here. Shifting by a negative number is impossible. */ - retval = operandFromLit ((TYPE_UDWORD) operandLitValue (left) << - (TYPE_UDWORD) operandLitValue (right)); + retval = operandFromValue (valCastLiteral (type, + ((TYPE_UDWORD) operandLitValue (left) << + (TYPE_UDWORD) operandLitValue (right)))); break; case RIGHT_OP: /* The number of right shifts is always unsigned. Signed doesn't make