* src/SDCCpeeph.c (peepHole): Fixed all leaks. Added trace support for freeing...
[fw/sdcc] / ChangeLog
index 4764796604424af0c4fda4cf2ef3adc924a7e2da..33d4fa9acf8f8044f119b083e1a43a20e1952a32 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,298 @@
+2001-10-06  Michael Hope  <michaelh@juju.net.nz>
+
+       * src/SDCCpeeph.c (peepHole): Fixed all leaks.  Added trace support for freeing lines.  Optimised restart logic to re-run instead of restart.  Now compiles dscan.c on ~60MB instead of ~200MB.
+
+       * support/Util/NewAlloc.c: Added ability to use libgc instead of malloc.  Added Safe_free and Safe_strdup.  Added trace support where you can log allocations and free all at once.
+
+       * src/z80/gen.c (genZ80Code): Added de-allocation via trace support.
+
+       * src/pic/gen.c: Removed Safe_strdup.
+
+       * configure.in: Added option to enable libgc support.
+
+       * src/SDCCbitv.c (bitVectnBitsOn): Optimised.
+       (bitVectUnion): Optimised.
+       (bitVectIntersect): Optimised.
+       (bitVectBitsInCommon): Optimised.
+       (bitVectCplAnd): Optimised.
+
+       * support/makebin/makebin.c (usage): Removed getopt as mingw32 doesn't have it.  Sigh.
+
+2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
+
+       * src/SDCCmain.c: distinguish between assembler debug and plain options
+
+       * src/avr/main.c:   remove standard assembler options
+
+       * src/ds390/main.c: remove standard assembler options
+
+       * src/mcs51/main.c: remove standard assembler options
+
+       * src/port.h: removed "PENDING" comment
+
+2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
+
+       * src/device/lib/_mulint.c  : new, with assember functions
+
+       * src/device/lib/_mullong.c : new, with assember functions
+
+       * src/device/lib/_divuint.c : with assember functions
+
+       * src/device/lib/_divsint.c : with assember functions
+
+       * src/device/lib/_divulong.c: with assember functions
+
+       * src/device/lib/_divslong.c: with assember functions
+
+       * src/device/lib/_moduint.c : with assember functions
+
+       * src/device/lib/_modsint.c : with assember functions
+
+       * src/device/lib/_modulong.c: with assember functions
+
+       * src/device/lib/_modslong.c: with assember functions
+
+       * src/device/lib/libint.lib:  replaced _muluint.c  and _mulsint.c  by _mulint.c
+
+       * src/device/lib/liblong.lib: replaced _mululong.c and _mulslong.c by _mullong.c
+
+       * src/device/lib/Makefile.in: replaced _muluint.c  and _mulsint.c  by _mulint.c
+                                     replaced _mululong.c and _mulslong.c by _mullong.c
+
+2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
+
+       * src/SDCCsymt.c: sequence of specifiers in pintTypeChain() corrected
+
+2001-10-01 Bernhard Held <bernhard@bernhardheld.de>
+
+       * src/SDCCglue.c: test, if win32api is available for MINGW
+
+2001-10-01 Bernhard Held <bernhard@bernhardheld.de>
+
+       * src/SDCCsymt.c: no more _modifier in printTypeChain()
+       * support/regression/tests/driverstruct.c: REENTRANT for mcs51
+       * support/regression/ports/gbz80/spec.mk: removed GENERIC
+       * support/regression/ports/host/spec.mk: removed GENERIC
+       * support/regression/ports/mcs51/spec.mk: removed GENERIC
+       * support/regression/ports/z80/spec.mk: removed GENERIC
+
+2001-10-01  Michael Hope  <michaelh@juju.net.nz>
+
+       * support/regression/fwk/lib/testfwk.c (__printf): Removed GENERIC.
+
+       * support/regression/tests/bug-467035.c: Created.
+
+2001-10-01    <johan@FRIJA>
+
+       * src/SDCC.y: fixed bug #466586 part 1
+
+2001-10-01  Johan Knol <johan.knol@iduna.nl>
+
+       * SDCCicode.c: z80 has no generic pointers
+       * removed -s from strip in all Makefile(.in)'s. It is not needed, but Solaris chocks on it.
+       
+2001-09-30  Michael Hope  <michaelh@juju.net.nz>
+
+       * sim/ucsim/cmd.src/Makefile.in ($(PRJDIR)/libcmd.a): Changed all ar references to $(AR) for Solaris.
+
+2001-09-29  Michael Hope  <michaelh@juju.net.nz>
+
+       * Makefile (sdcc-libs): Added makebin to the list of standard targets.
+
+       * support/regression/ports/z80/spec.mk: Updated to use env for sdcc bin dir for automatic regression.
+
+2001-09-25  Michael Hope  <michaelh@juju.net.nz>
+
+       * configure.in: Fixed up so that ucsim is only configured once.
+
+       * support/cpp2/configure.in: Fixed to use the program transform to append the .exe for the win32 build.
+
+       * src/SDCCutil.c (getPrefixFromBinPath): Fixed up to work with win32 in all of its glory.
+       (getPathDifference): As above.
+
+       * src/SDCCmain.c (preProcess): Changed to use a temporary file in a proper temp directory.  Fixed case where pre-processing only.
+
+       * src/SDCCglue.c (tempfilename): Added function for pre-processor.
+
+2001-09-23  Michael Hope  <michaelh@juju.net.nz>
+       * .version: Updated to 2.3.1
+
+       * src/z80/main.c (z80_port =): Added macro based linker and assembler command line support.
+       Added copyright header.
+
+       * src/SDCCmain.c: Shifted various functions into SDCCutil.c
+       (assemble): Added support for macro based assembler commands.
+       (linkEdit): Added support for macro based linker commands.
+       (preProcess): Changed the pre-processor to use macros.
+       (_setPaths): Added functionality to autodetect the include, lib and bin dir paths.
+       (_discoverPaths): Added support for overriding the install directory using the SDCCDIR env variable.
+
+       * device/lib/z80/crt0.s: Added module name for debugging.
+
+2001-09-20  Michael Hope  <michaelh@juju.net.nz>
+
+       * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
+
+       * src/SDCChasht.c (hTabDeleteByKey): Fixed delete as it would delete the last item from a bucket even if it wasn't the real one.
+
+       * src/SDCCglue.c: Moved gc_strdup to SDCCutil.c
+
+       * src/Makefile.in: Added SDCCmacro and SDCCutil
+
+2001-09-19  Michael Hope  <michaelh@juju.net.nz>
+
+       * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
+
+2001-09-16    <johan@FRIJA>
+
+       * support/Util/SDCCerr.c: fixed up the error/warning/info database. I only changed the E_ W_ I_ prefix to what SDCCerr.c says it is.
+
+2001-09-15    <johan@FRIJA>
+
+       * src/mcs51/ralloc.c: (findAssignToSym): fixed bug #460662 part 1
+       * src/ds390/ralloc.c (findAssignToSym): fixed bug #460662 part 1
+
+2001-09-11    <johan@FRIJA>
+
+       * src/SDCCval.c (valDiv Mod Minus Plus Shift): keep litteral expressions as small as possible (bug #460010)
+
+2001-09-10  Michael Hope  <michaelh@juju.net.nz>
+
+       * support/regression/tests/bug-460444.c: Added test case.
+
+       * src/z80/gen.c (genOr): bug 460444: if (a ^ lit) was broken for &, |, and ^.
+       (genCast): Added justification for all of the asserts.
+
+2001-09-10  Bernhard Held <bernhard@bernhardheld.de>
+
+       * support/regression/support.c: _xdata replaced by xdata
+
+       * support/regression/spec.mk: removed _generic
+
+2001-09-09  Michael Hope  <michaelh@juju.net.nz>
+
+       * src/pic/ralloc.c (debugLogRegType): Removed some old types to get it to compile.
+
+       * src/z80/gen.c (shiftR2Left2Result): Improved the case when v = v >> n for small values of n to use less code space and time.
+       (genrshTwo): Fixed v = v >> n where v is a negative int and n is > 8: bug 460010.
+
+       * src/z80/peeph.def: Added a rule to optimise shift then compare.
+
+       * support/regression/tests/bug-460000.c (testShiftByParam): Added test case.
+
+       * support/regression/tests/bug-460010.c: Added test case.
+
+       * support/regression/Makefile (test-host): Removed a silly 'clean' target when testing against gcc.
+
+2001-09-09  Bernhard Held <bernhard@bernhardheld.de>
+
+       * support/regression/Makefile: inter-port-clean adjusted for mcs51
+
+       * support/regression/testfwk.c: removed workaround for bug #436344
+
+       * support/regression/tests/bp.c: use less memory with mcs51
+
+       * support/regression/tests/bug-441448.c: use less memory
+
+       * support/regression/tests/ports/mcs51/spec.mk: cleanup, use --stack-after-data
+
+       * support/regression/collate-results.py: typo
+
+2001-09-08  Michael Hope  <michaelh@juju.net.nz>
+
+       * support/regression/tests/fetchoverlap.c: Added new test case.
+
+       * support/regression/tests/bp.c: Added new test case.
+
+       * support/regression/tests/bug-448984.c: Added new test case.
+
+       * support/regression/tests/pow2shifts.c: Added new test case.
+
+       * src/z80/gen.c: Turned off the noise it normally generates for the release.
+       (genlshTwo): Fixed right shift for count > 8.
+
+       * src/z80/ralloc.c: Disabled most of the ACC packing rules as they weren't getting hit and weren't at all safe.
+
+2001-09-08    <johan@FRIJA>
+
+       * src/SDCCicode.c (geniCodeCall): a CPOINTER can be used as a function
+
+2001-09-07    <johan@FRIJA>
+
+       * src/SDCCicode.c (newiCodeCondition): fixed bug #456235 (1.77)
+
+       * src/SDCCglue.c (emitRegularMap): only delete a symbol when it is a symbol
+
+2001-09-06    <johan@FRIJA>
+
+       * src/SDCC.y: this could be a fix for bug #458744 (1.37)
+       * bernhard noted me at this: "() equals to (void)" (1.38)
+
+2001-09-05    <johan@FRIJA>
+
+       * src/SDCCglue.c (emitRegularMap): a fix for bug #458099/2
+
+2001-09-04    <johan@FRIJA>
+
+       * src/SDCCsymt.c (checkSClass): a fix for bug #458099/1
+
+
+2001-09-04  Paul Stoffregen  <paul@pjrc.com>
+
+       * pragma noinduction broke memcpy on mcs51 large model.  Moved it inside z80 optimization
+
+2001-09-03  Michael Hope  <michaelh@juju.net.nz>
+
+       * link/z80/aslink.h: Fixed path for PATH_MAX
+
+2001-09-02  Michael Hope  <michaelh@juju.net.nz>
+
+       * src/z80/gen.c (fetchLitPair): Changed so that it properly caches direct space references.
+
+       * support/regression/tests/addsub.c: Added cases to cover all the +, - combinations.
+
+       * support/regression/tests/uminus.c: Added a test for the unary minus operator.
+
+       * src/z80/gen.c (genUminus): Fixed add, sub, and uminus on the gbz80 port for longs.  Had to shift some functions about to do it.
+
+2001-09-01  Michael Hope  <michaelh@juju.net.nz>
+
+       * src/z80/gen.c: Fixed up generator to pass the regresion tests, specifically fixing loads for longs, genCmp, and turned on the map file.
+       (genCmp): Fixed up genCmp for the GB with longs.
+
+       * device/lib/gbz80/Makefile: Fixed up all the libraries to pass the regression tests.
+
+       * support/regression/ports/host/spec.mk: Updated to compile with the new type specifiers.
+
+       * device/lib/Makefile.in (Z80SOURCES): Removed old _mululong, _mulslong, and unneeded _mulint.
+
+       * device/lib/_mullong.c (_mulslong): Changed to actually return a value :)
+
+2001-08-30  Paul Stoffregen  <paul@pjrc.com>
+
+       * added peepholes 223 to 231 to mcs51 port.  These improve code when using large model.
+
+2001-08-30  Michael Hope  <michaelh@juju.net.nz>
+
+       * device/lib/gbz80/crt0.s (init): Fixed up support for the gbz80 such that it will at least run (and fail badly) the regression tests.
+
+       * src/z80/gen.c (genPlus): Changed bad long add for gb to a fall through.
+
 2001-08-29  Michael Hope  <michaelh@juju.net.nz>
 
        * link/z80/aslink.h: Fixed long file name support.  Is now based off PATH_MAX instead of a constant.
 
        * src/z80/gen.c: Fixed add and sub for the case where left or right are in static space.
-       
 
+2001-08-30 Bernhard Held   <bernhard@bernhardheld.de>
+
+  * sim/ucsim/configure:    little improvement of Cygwin-detection     
+  * sim/ucsim/configure.in: little improvement of Cygwin-detection     
+  * sim/ucsim/cmd.src/newcmdcl.h: include <sys/types.h> to define fd_set automated build
+  * support/regression/tests/bug-221100.c: small changes for mcs51
+  * support/regression/tests/bug-221168.c: small changes for mcs51
+  * support/regression/tests/bug-227710.c: small changes for mcs51
+  * support/regression/tests/staticinit.c: small changes for mcs51
+  * as/mcs51/aslink.h: accept everything as symbol name in rel-files, bug fix ID 452601
+  * as/mcs51/lklex.c:  accept everything as symbol name in rel-files, bug fix ID 452601
+  * as/mcs51/lksym.c:  accept everything as symbol name in rel-files, bug fix ID 452601