* src/SDCCcse.c (algebraicOpts): fix bug converting op from value to type
[fw/sdcc] / ChangeLog
index a4efdd7d4b956878585c6fe2aeafea7a0454aab8..cb3c009fef9e3ad66f8226613bc10907abf77475 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,218 @@
+2003-08-13  Bernhard Held <bernhard@bernhardheld.de>
+
+       * src/SDCCcse.c (algebraicOpts): fix bug converting op from value to type
+       * src/SDCCicode.c (operandOperation): rewritten some ops
+       (*, ==, unary_minus) to fix possible overflows and to accord with ANSI
+       * src/SDCCsymt.c (computeType): literals are handled the same way as any
+       other type
+       * src/SDCCval.c (cheapestVal): removed, it doesn't accord with ANSI (can
+       be re-activated by defining REDUCE_LITERALS)
+       * src/SDCCval.c (constVal): fixed; hex and octal constants can be
+       unsigned, but are signed by default
+       * src/SDCCval.c (constVal): rearranged
+       * src/SDCCval.c (valMod): preliminary fix
+       * src/SDCCval.c (valCastLiteral): use TYPE_* types
+       * support/regression/literalop.c: added, work in progress
+
+2003-08-12  Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       Generate warnings for useless declarations like "char data;"
+       that don't do what new users expect.
+
+       * src/SDCC.y
+       * support/Util/SDCCerr.h
+       * support/Util/SDCCerr.c
+
+2003-08-09  Bernhard Held <bernhard@bernhardheld.de>
+
+       * src/SDCCval.c (valMult): fix overflow detection of negative int
+
+2003-08-07  Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+       * src/z80/ralloc.c (joinPushes): made compatible with new signedness
+
+       Changes to support big endian targets:
+
+       * src/ports.h
+       * src/SDCCglue.c
+       * src/avr/main.c
+       * src/ds390/main.c
+       * src/izt/i186.c
+       * src/mcs51/main.c
+       * src/pic/main.c
+       * src/pic16/main.c
+       * src/xa51/main.c
+       * src/z80/main.c
+
+2003-08-06  Bernhard Held <bernhard@bernhardheld.de>
+
+       * src/SDCCval.c (cheapestVal): changed behaviour to the same as constVal()
+       * device/lib/time.c: fixed warning "integer overflow in expression"
+
+2003-08-05  Bernhard Held <bernhard@bernhardheld.de>
+
+       * src/SDCCval.c (cheapestVal, valueFromLit): use TYPE_* types
+       * src/SDCCval.c (constVal): changed default to signed; hex and octal
+       constants are unsigned; added recognition of "u" flag for unsigned
+       * src/SDCCval.c (valMult): fixed signdness, added warning for overflow
+       * src/SDCCval.c (valDiv, valMod): fixed signdness
+       * src/SDCCicode.c (operandOperation): fixed critical typo; fixed
+       signedness of modulo, left and right shift
+       * support/Util/SDCCerr.c: added warning "integer overflow in expression"
+       * support/Util/SDCCerr.h: added warning W_INT_OVL
+       * src/SDCCast.c (decorateType): fixed gcc3.3 warning
+       * src/SDCCast.c (ast_print): improved output of constants
+
+2003-08-04  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
+
+       Fixed some warnings when building with MSVC:
+
+       * as\mcs51\asdata.c
+       * as\z80\asdata.c
+       * as\mcs51\asm.h
+       * as\z80\asm.h
+       * link\z80\aslink.h
+       * link\z80\lkdata.c
+       * link\z80\lkeval.c
+       * link\z80\lkgb.c
+       * link\z80\lkihx.c
+       * link\z80\lks19.c
+       * link\z80\lksym.c
+       * support\cpp2\cpplib.c
+       * src\ds390\gen.c
+       * src\mcs51\gen.c
+    
+2003-08-03  Bernhard Held <bernhard@bernhardheld.de>
+
+       * src/SDCCast.c (constExprTree): fix bug #781827 by Carl Worth <cworth@isi.edu>
+
+2003-08-01  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
+
+       * support\librarian\clean.mk: Do not remove Makefile.
+       * support\librarian\Makefile: added.
+
+2003-08-01  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
+
+       Added librarian to MSVC build:
+       * all.dsp
+       * sdcc.dsw
+       * support\librarian\librarian.dsp
+
+       'configure' not needed for librarian, removed:
+       * support\librarian\configure
+       * support\librarian\configure.in
+       * support\librarian\config_in.h
+       * support\librarian\Makefile.in
+
+       Hopefully these ones built the librarian and the rest of sdcc properly:
+       * Makefile
+       * Makefile.common.in
+
+       Messed up 'configure', so revert to previous version:
+       * configure
+       * configure.in
+
+2003-07-31  Bernhard Held <bernhard@bernhardheld.de>
+
+       * src/SDCCicode.c (operandOperation): 3. fix, this time for Alpha; ULONG has 64 bits
+       there, while the mantissa of a double is "only" 53 bits wide.
+
+2003-07-31  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
+
+       Adding sdcclib to the build.  MSVC project coming soon.
+       Files added/changed:
+
+       * support\librarian\clean.mk
+       * support\librarian\configure
+       * support\librarian\configure.in
+       * support\librarian\config_in.h
+       * support\librarian\Makefile.bcc
+       * support\librarian\Makefile.in
+       * support\librarian\sdcclib.c
+       * Makefile.bcc
+       * Makefile
+       * Makefile.common.in
+       * configure
+       * configure.in
+
+2003-07-29  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
+
+       Linker now complaints if linked modules have conflicting options, for
+       example, one compiled using --model-large and another one compiled with
+       --model-small.  The following files were modified:
+
+       * as\mcs51\asdata.c
+       * as\mcs51\aslink.h
+       * as\mcs51\asm.h
+       * as\mcs51\asmain.c
+       * as\mcs51\asout.c
+       * as\mcs51\i51pst.c
+       * as\mcs51\lkdata.c
+       * as\mcs51\lklibr.c
+       * as\mcs51\lkmain.c
+       * as\z80\asdata.c
+       * as\z80\asm.h
+       * as\z80\asmain.c
+       * as\z80\asout.c
+       * as\z80\z80pst.c
+       * link\z80\aslink.h
+       * link\z80\lkdata.c
+       * link\z80\lklibr.c
+       * link\z80\lkmain.c
+       * src\SDCCglue.c 
+
+2003-07-28  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
+
+       *link/z80/aslink.h, link/z80/lklibr.c, as/mcs51/aslink.h,
+       as/mcs51/lklibr.c: Generate a warning when a library is not found.
+
+2003-07-28  Bernhard Held <bernhard@bernhardheld.de>
+
+       * src/z80/mappings.i: fix _mul[us][int,long] entries
+
+2003-07-26  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
+
+       *src/SDCCmain.c: do not search for crt0.o when using --nostdlib
+
+2003-07-24  Bernhard Held <bernhard@bernhardheld.de>
+
+       * src/SDCCicode.c (operandOperation): really fixed problem with bitops
+       * support/regression/tests/bitopcse.c: added
+       fixed warning:
+       * src/avr/gen.c:
+       * src/pic/gen.c:
+       * src/pic16/gen.c:
+       * src/z80/gen.c:
+       * src/xa51/gen.c:
+
+2003-07-24  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
+
+       added support for new library format to z80, gbz80 linkers:
+       *link/z80/aslink.h
+       *link/z80/lklex.c
+       *link/z80/lklib.c
+       *link/z80/lklist.c
+
+2003-07-24  Bernhard Held <bernhard@bernhardheld.de>
+
+       * src/SDCCicode.c (operandOperation): fixed problem with bitops and 0xffffffff;
+       after {double d = 0xffffffff; long l = d;} l will be 0x80000000 (LONG_MIN)
+
+2003-07-23  Bernhard Held <bernhard@bernhardheld.de>
+
+       added DUMMY_READ_VOLATILE:
+       * src/SDCC.y:
+       * src/avr/gen.c:
+       * src/xa51/gen.c:
+       * src/z80/gen.c:
+       * src/pic/gen.c:
+       * src/pic16/gen.c:
+       * src/mcs51/gen.c:
+       * src/ds390/gen.c:
+       * src/SDCCcse.c (algebraicOpts): many improvements
+       * src/SDCCcse.h: removed algebraicOpts()
+       * src/SDCCicode.c (picDummyRead): added
+
 2003-07-23  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
 
        * as/mcs51/lkmem.c: Changed message "Insufficient DRAM memory" to
 
 2003-07-20  Bernhard Held <bernhard@bernhardheld.de>
 
-        * src/pic16/glue.c: minor cleanup by Vangelis
+       * src/pic16/glue.c: minor cleanup by Vangelis
 
 2003-07-19  Frieder Ferlemann <Frieder.Ferlemann@web.de>
 
         * device/lib/_ser.c: process RX bytes earlier than TX bytes
         * device/lib/serial.c: process RX bytes earlier than TX bytes
         * src/mcs51/gen.c(genGenPointerGet/Set): removed writing of type after postincrement
-        
+
 2003-07-18  Erik Petrich <epetrich@ivorytower.norman.ok.us>
 
        * src/z80/gen.c: fixed some right shift bugs (#772726 among them)
 
 2003-07-17  Bernhard Held <bernhard@bernhardheld.de>
 
-        * device/lib/Makefile.in: bad fix, reverted to 1.43
-       
+       * device/lib/Makefile.in: bad fix, reverted to 1.43
+
 2003-07-16  Bernhard Held <bernhard@bernhardheld.de>
 
        * device/lib/Makefile.in: added missing z80 object files
 
 2003-07-14  Bernhard Held <bernhard@bernhardheld.de>
 
-        * src/SDCCcse.c (algebraicOpts): CSE fun with &|^ and 0x00/0xff literals
+       * src/SDCCcse.c (algebraicOpts): CSE fun with &|^ and 0x00/0xff literals
        pic16 progress by Vangelis:
        * src/SDCCglobl.h:
        * src/SDCCmain.c:
 2003-06-08  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
 
        * support/Util/SDCCerr.c, src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx:
-       added option --vc, so sdcc errors and warnings are compatible with 
+       added option --vc, so sdcc errors and warnings are compatible with
        Microsoft Visual Studio.
 
 2003-06-07  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
 2003-05-29  Bernhard Held <bernhard@bernhardheld.de>
 
        * src/pic/device.c: added 16F819, patch by "David I. Lehn" <dlehn@vt.edu>
-       * src/SDCCcse.c (algebraicOpts): fixed "c * 1" 
+       * src/SDCCcse.c (algebraicOpts): fixed "c * 1"
 
 2003-05-28  Bernhard Held <bernhard@bernhardheld.de>