* src/SDCCsymt.h: removed RESULT_CHECK
[fw/sdcc] / ChangeLog
index f4bb390c8ce54c8a80af6024de1c51961934a9b8..ec46032ec7f1a00cd0ca880e63ca833e80159451 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,662 @@
+2004-09-15 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCsymt.h: removed RESULT_CHECK
+       * src/SDCCast.c,
+       * src/SDCCglue.c,
+       * src/SDCCval.c,
+       * src/pic/glue.c,
+       * src/pic16/glue.c: replaced RESULT_CHECK with RESULT_TYPE_NONE
+
+2004-09-15 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/SDCCicode.c (piCode): applied patch from Raphael Neider,
+       * src/pic16/device.c (pic16_assignConfigWordValues): wrong
+       configuration values no more rejected by compiler, they are assigned
+       to configuration registers with a warning message instead,
+       * src/pic16/glue.c (pic16_emitConfigRegs): added +1 at top-limit of
+       the for-loop so last conf register is emitted too,
+       * (_pic16_initPaths): link library libsdcc.lib by default,
+       * (_hasNativeMulFor): modified test for multiplication according to
+       Raphael Neider's remarks. Integer multiplication is also done with
+       support functions,
+       * device/include/pic16/pic18fregs.h: corrected type error in while
+       testing and including 18f6720 header file
+
+2004-09-14 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/pic16/device.h (pic16_options): removed field use_crt,
+       * src/pic16/gen.c (genUnpackBits): added call to pic16_loadFSR0
+       until an optimization to handle single bits is added,
+       * (pic16_loadFSR0): moved before genUnpackBits,
+       * (genAnd): some white lines removed,
+       * src/pic16/main.c (_pic16_finaliseOptions): set omit_ivt and clear
+       leave_reset flags in pic16_options when using crt modules,
+
+2004-09-12 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/mcs51/ralloc.c (packRegisters): applied fix by Bernhard Held
+         for bugs 898889 & 979599. Also used some safer print instructions.
+
+2004-09-12 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/pic16/device.h (pic16_options_t): added field use_crt,
+       crt_name, no_crt,
+       * src/pic16/genarith.c (pic16_genPlus): added an assert(0) line to
+       catch a probable future bug,
+       * src/pic16/gen.c: aopIdx function commented out,
+       * (genAssign): commented out old code which used aopIdx,
+       * src/pic16/glue.c (pic16glue): removed some legacy fragments of
+       code, added if conditionals to take into account the --use-crt
+       command line options,
+       * src/pic16/main.c (pic16_optionsTable): added new command line
+       options, --use-crt= and --no-crt,
+       * (_pic16_linkEdit): now the proper crt object is added in the
+       linker command line except than when --no-crt is specified,
+       * src/pic16/pcode.c,
+       * src/pic16/pcode.h: added some structures and functions for a new
+       optimization scheme to compansate for instruction overhead between
+       same iCodes, this scheme is currently under development and is not
+       working in any way,
+       * src/pic16/gen.c (genAnd): added patch provided by Aaron Collwell
+       to && operator,
+       * device/lib/pic16/startup/crt0i.c,
+       * device/lib/pic16/startup/crt0iz.c: added global char variable
+       __uflags to force the generation of an idata section
+
+2004-09-12 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * doc/Makefile,
+       * doc/clean.mk: added support for easy creation of sdcc-doc.tar.bz2
+       * doc/sdccman.lyx: updated sdcc version to 2.4.4
+
+2004-09-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * doc/sdccman.lyx: fixed a problem with my new index entries (thanks
+       Frieder) and clarified the default code optimization mode
+
+2004-09-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCC.lex (doPragma, process_pragma),
+       * src/SDCCglobl.h (struct optimize): added pragmas "opt_code_speed",
+       "opt_code_size", and "opt_code_balanced"
+       * src/SDCCmain.c (optionsTable[], printOptions, scanOptionsTable):
+       regrouped options by category, added support for category headers
+       * src/SDCCmain.c (parseCmdLine): added options "--opt-code-speed"
+       and "--opt-code-size"
+       * doc/sdccman.lyx: documented these new options and pragmas
+       * src/hc08/gen.c (AccLsh, AccRsh): take speed/size optimization
+       preference into account
+
+2004-09-08 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/SDCCicode.c (geniCodePostInc, geniCodePreInc, geniCodePostDec,
+         geniCodePreDec): Fixed bug 904237 by generating a warning
+       * src/SDCCerr.h,
+       * src/SDCCerr.c: added warning W_SIZEOF_VOID
+
+2004-09-09 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/device.c : When no max ram set validate full memory range.
+       * src/pic/pcode.c,
+       * src/pic/pcodepeep.c : Copy C code comments to optimised replacement code.
+
+2004-09-08 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/lib/_gptrget.c,
+       * device/lib/_gptrput.c: updated comment
+       * device/lib/calloc.c,
+       * device/lib/free.c,
+       * device/lib/malloc.c,
+       * device/lib/realloc.c: added LGPL, made them reentrant-safe
+       * src/SDCCcse.c (cseBBlock),
+       * src/SDCCicode.c (printOperand, geniCodeArray),
+       * src/SDCCicode.h (struct operand): fixed bug 868103
+       * support/regression/tests/bug-868103.c: added
+       * src/SDCCast.c (searchLitOp),
+       * src/SDCCcse.h (struct cseDef),
+       * src/SDCCglue.c (printIvalArray, spacesToUnderscores),
+       * src/SDCCicode.h (struct operand),
+       * src/SDCCsymt.h (struct sym_link),
+       * src/avr/gen.c (hasInc),
+       * src/ds390/gen.c (hasInc),
+       * src/hc08/gen.c (genPlusIncr, hasInc),
+       * src/mcs51/gen.c (hasInc),
+       * src/pic16/glue.c (pic16_printIvalChar),
+       * src/pic16/ralloc.c (regWithIdx),
+       * src/xa51/gen.c (hasInc) : removed warnings
+       * src/SDCCast.c (createBlock): added comment ???
+       * src/hc08/ralloc.c: updated comments
+
+2004-09-07 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * doc/sdccman.lyx: updated section on switch statements, added
+       section about semaphore locking
+       * doc/Makefile: added option -info for latex2html
+       * device/lib/_gptrget.c,
+       * device/lib/_gptrput.c: __XPAGE instead of P2 in outcommented code
+
+2004-09-06 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/device.h,
+       * src/pic/device.c,
+       * src/pic/port.c : Changed PIC14 code to not set bit RP1 when
+        maxram is less than 0x100.
+
+2004-09-06 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * Bug fixes for PIC14 - signed RSHIFT problem. Patch supplied by Allen(agschrum).
+
+2004-09-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/port.h,
+       * src/mcs51/main.c,
+       * src/ds390/main.c,
+       * src/z80/main.c,
+       * src/hc08/main.c,
+       * src/pic/main.c,
+       * src/pic16/main.c,
+       * src/avr/main.c,
+       * src/xa51/main.c
+       * src/SDCCicode.c (geniCodeJumpTable): Better logic to determine if a
+       a jump table is the best form for a switch statement, including
+       automatic insertion of missing cases to make the case range
+       continuous. Developed in collaboration with Frieder Ferlemann.
+
+2004-09-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/hc08/ralloc.c (canDefAccResult): multi-byte shift is unsafe for
+       accumulator result if it needs sign extension
+
+2004-09-02 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/hc08/ralloc.c (canUseAccOperand): fixed comparison bug
+
+2004-09-02 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/lib/gbz80/printf.c,
+       * device/lib/z80/printf.c: removed define for NULL
+
+2004-09-02 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * as/xa51/xa_link.c,
+       * device/examples/ds390/ow390/ad26.c,
+       * device/examples/ds390/ow390/cnt1d.c,
+       * device/examples/ds390/ow390/counter.c,
+       * device/examples/ds390/ow390/ds2480.h,
+       * device/examples/ds390/ow390/ds2480ut.c,
+       * device/examples/ds390/ow390/findtype.c,
+       * device/examples/ds390/ow390/gethumd.c,
+       * device/examples/ds390/ow390/owllu.c,
+       * device/examples/ds390/ow390/ownetu.c,
+       * device/examples/ds390/ow390/swt12.c,
+       * device/examples/ds390/ow390/swtloop.c,
+       * device/examples/ds390/ow390/temp.c,
+       * device/examples/ds390/ow390/temp10.c,
+       * device/examples/ds390/ow390/thermo21.c,
+       * device/examples/ds390/ow390/tinilnk.c,
+       * device/examples/ds390/ow390/tstfind.c,
+       * device/examples/serialcomm/windows/serial.cpp,
+       * device/examples/serialcomm/windows/test_serialcomm.cpp,
+       * device/include/reg51.h: fixed line endings for cvs
+
+2004-09-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/hc08/ralloc.c (canDefAccResult, canUseAccOperand,
+       packRegsForAccUse, packRegisters): new accumulator register
+       packing algorithm
+       * support/regression/ports/hc08/support.c (_putchar): suppress
+       warning of unused variable
+       * src/SDCCicode.c: added SWAP entry to codeTable
+
+2004-09-01 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/lib/sprintf.c: forgot to add this file before previous commit
+
+2004-09-01 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/pic16/gen.c (genPackBits): added operand right in function
+       parameters, load result directly if p_type is POINTER (that is
+       called by genNearPointerSet)
+       * (genUnPackBits): added operand left in function parameters,
+       * (genNearPointerGet, genNearPointerSet): prevent the loading of
+       FSR0 if accessing bitfields,
+
+2004-08-31 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/include/stdio.h: added NULL, size_t, typedef pfn_outputchar,
+         _print_format; updated printf, sprintf, vsprintf
+       * device/include/asm/default/features.h: corrected comment/define
+       * device/lib/Makefile.in: added sprintf.c
+       * device/lib/libsdcc.lib: added sprintf module
+       * device/lib/printf_large.c,
+       * device/lib/vprintf.c,
+       * device/lib/sprintf.c: totally refactored printf_large and vprintf
+         into these 3 files
+       * support/regression/Makefile: changed ALL_PORTS into a usefull default
+       * support/regression/ports/mcs51-stack-auto/spec.mk: added sprintf
+       * support/regression/tests/bug-927659.c: removed dummy putchar, enabled
+         hc08 test
+       * support/regression/tests/zeropad.c: define idata as data for hc08
+
+2004-08-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCpeeph.c (labelIsReturnOnly): support hc08 rts opcode also
+       * src/SDCCpeeph.c (buildLabelRefCountHash): assume function entry point
+       labels are referenced at least once (even if a reference is not found)
+       * src/hc08/gen.c (emitcode): set isComment flag for comments
+       * src/hc08/peeph.def: added rules 5a..5f (optimize redundant immediate
+       loads), rules 6a..6b (optimize jumps to return)
+
+2004-08-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * device/lib/acosf.c (acosf),
+       * device/lib/asinf.c (asinf),
+       * device/lib/atanf.c (atanf),
+       * device/lib/ceilf.c (ceilf),
+       * device/lib/cosf.c (cosf),
+       * device/lib/coshf.c (coshf),
+       * device/lib/cotf.c (cotf),
+       * device/lib/fabsf.c (fabsf),
+       * device/lib/floorf.c (floorf),
+       * device/lib/log10f.c (log10f),
+       * device/lib/logf.c (logf),
+       * device/lib/sinf.c (sinf),
+       * device/lib/sinhf.c (sinhf),
+       * device/lib/sqrtf.c (sqrtf),
+       * device/lib/tanf.c (tanf),
+       * device/lib/tanhf.c (tanhf),
+       * device/include/math.h: defined _FLOAT_FUNC_REENTRANT macro and
+       replaced all instances of "reentrant" in the library functions
+       defined in math.h with this macro.
+       * support/regression/tests/float_trans.c: reenabled test for hc08
+
+2004-08-30 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * device/lib/pic16/Makefile.common.in: added MODELFLAGS again, it was
+       erroneously deleted
+
+2004-08-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/hc08/gen.c (loadRegFromAop): better use of clra & clrx
+       * src/hc08/gen.c (genAnd, genOr): fixed bug with conditional when
+       multi-byte volatile operands are used
+       * src/hc08/gen.c (shiftRLong): fixed bug with wrong rotate direction
+       * src/hc08/main.c (_hc08_genAssemblerPreamble): moved the built-in
+       initialization to area GSINIT0 so that it would always precede
+       any static initializers in GSINIT
+       * support/regression/tests/zeropad.c: fixed idata define for hc08
+       * support/regression/tests/bug-927659.c,
+       * support/regression/tests/float_trans.c: disabled tests for hc08
+       pending missing library routines
+       * .version: increased version number to 2.4.4 - hc08 port now passes
+       regression tests
+
+
+2004-08-29 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * device/lib/pic16/Makefile.common.in: added $(MM) to fix `make clean`
+       * Makefile.common.in,
+       * as/Makefile,
+       * as/hc08/Makefile.in,
+       * as/mcs51/Makefile.in,
+       * as/z80/Makefile.in,
+       * debugger/mcs51/Makefile.in,
+       * device/include/Makefile.in,
+       * device/lib/Makefile.in,
+       * doc/Makefile,
+       * link/Makefile,
+       * link/z80/Makefile.in,
+       * packihx/Makefile.in,
+       * sim/ucsim/main_in.mk,
+       * sim/ucsim/avr.src/Makefile.in,
+       * sim/ucsim/doc/Makefile.in,
+       * sim/ucsim/gui.src/serio.src/Makefile.in,
+       * sim/ucsim/hc08.src/Makefile.in,
+       * sim/ucsim/s51.src/Makefile.in,
+       * sim/ucsim/xa.src/Makefile.in,
+       * sim/ucsim/z80.src/Makefile.in,
+       * src/Makefile.in,
+       * support/cpp2/Makefile.in,
+       * support/librarian/Makefile,
+       * support/makebin/Makefile: added DESTDIR to the install path proposed
+       by "Maciej 'Agaran' Pijanka" <agaran AT pld-linux.org>
+       * doc/sdccman.lyx: added DESTDIR documentation
+
+2004-08-29 Vangelis Rokas (vrokas AT otenet.gr>
+
+       * src/pic16/gen.c (genFunction, genEndFunction): fixed return
+       instruction for interrupt handlers, use fast returns when returning
+       from high priority interrupts
+
+2004-08-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/hc08/gen.c (genAnd, genOr, transferAopAop, rmwWithAop): optimized
+       code generation
+       * src/hc08/gen.c (genrshFour, genCpl): fixed bugs
+       * src/hc08/gen.c (genMultOneByte, genDivOneByte, genModOneByte): fixed
+       bugs, ported much of Bernhard's code from mcs51
+       * src/mcs51/gen.c (genSend),
+       * src/hc08/gen.c (genSend): fixed bug with lost SEND iCodes if more
+       than one when calling a reentrant function
+       * device/lib/_mullong.c: defined an alternate struct layout for big
+       endian ports (hc08)
+
+2004-08-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/hc08/gen.c (shiftL2Left2Result): fix for bug-500536 regression
+       test
+
+2004-08-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCsymt.c (processFuncArgs): make sure parameter types
+       are sane and complete before asking the port its prefered parameter
+       passing method (fixes bug #1017633)
+       * device/lib/hc08/_ret.c: added "data" storage class to _ret2
+       and _ret3
+
+2004-08-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/hc08/gen.c (genPackBitsImmed, genUnpackBitsImmed): fix offset
+       problem in bitfields >= 8 bits.
+
+2004-08-27 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/SDCCsymt.c: undid changes that were not meant to be committed
+
+2004-08-27 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * support/regression/ports/hc08spec.mk: REENTRANT must be reentrant
+
+2004-08-27 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/hc08/gen.c (genUminusFloat): fixed bug where only 3 bytes were
+         copied and wrong bit got inverted
+
+2004-08-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/hc08/gen.c (genPointerSet, genFarPointerSet): moved code from
+       genFarPointerSet into genPointerSet; eliminated genFarPointerSet
+       * src/hc08/gen.c (genPointerGet, genFarPointerGet): moved code from
+       genFarPointerGet into genPointerGet; eliminated genFarPointerGet
+       * src/hc08/gen.c (genPackBitsImmed): generate optimized code for
+       assignments to bitfields at known addresses
+       * src/hc08/gen.c (genUnpackBitsImmed): generate optimized code for
+       reads from bitfields at known addresses
+       * src/hc08/ralloc.c (packRegisters),
+       * src/hc08/gen.c (genPointerGet, genUnpackBits, genUnpackBitsImmed,
+       genhc08Code): optimize pointer get values used as conditionals
+       * src/hc08/peeph.def: added rules 2e & 2f to optimize bit test
+       and branch
+
+2004-08-24 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/mcs51/gen.c (genPointerGet, genNearPointerGet, genPagedPointerGet,
+       genFarPointerGet, genCodePointerGet, genGenPointerGet, genUnpackBits),
+       * src/mcs51/ralloc.c (packRegisters): optimize pointer get values used
+       as conditionals
+
+2004-08-22 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * src/mcs51/peeph.def: peepholes 248.i-m for xdata bitfields
+
+2004-08-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/mcs51/ralloc.c (packRegsForOneuse): fixed bug #1012650 and some
+       related problems
+
+2004-08-21 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * sim/ucsim/cmd.src/Makefile.in: run lex only if $(PRJDIR)/devel exists
+
+2004-08-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/z80/ralloc.c (packRegsForAssign): ported some bug fixes from the
+       mcs51 port
+
+2004-08-16 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/gen.c: Restored fn genRet as previous fix was incorrect.
+
+2004-08-14 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * src/mcs51/gen.c (genJumpTab): jumptables for more than 16 switch
+       cases use more compact code.
+
+2004-08-13 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/gen.c: Fixed problem with fn returning a variable bigger than a char.
+
+2004-08-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCClrange.c (findPrevUse): fixed bug #1007371
+
+2004-08-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCsymt.h,
+       * src/SDCCsymt.c (changePointer, checkDecl, addSymChain): changed
+       parameter of changePointer() from symbol* to sym_link*
+       * src/SDCCast.c (decorateType): call changePointer() for CAST op
+       * src/SDCCsymt.c (compareType): void* type is castable to other
+       pointers, but not necesarily an exact match.
+       * src/SDCCicode.c (geniCodeCast): allow void* casting here since it
+       is no longer blindly treated as an exact match.
+       * src/SDCCval.c (valCastLiteral): treat missing type as cast to void
+
+2004-08-12 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/glue.c: Added struct initialisation fn printIvalStruct.
+
+2004-08-11 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/gen.c,
+       * src/pic/pcode.c,
+       * src/pic/ralloc.h,
+       * src/pic/ralloc.c: Printing rIdx on internal verbose debug.
+
+2004-08-10 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/device.c,
+       * src/pic/device.h,
+       * src/pic/device.c: Will no longer exit if #pragma maxram has not been defined.
+
+2004-08-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/mcs51/gen.c (emitcode): fixed bug #992819
+
+2004-08-05 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/pic/ralloc.c (deassignLR): allthough pic port is buggy already,
+         there's no need to make it worse
+
+2004-08-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/mcs51/ralloc.c (deassignLR),
+       * src/ds390/ralloc.c (deassignLR),
+       * src/hc08/ralloc.c (deassignLR),
+       * src/z80/ralloc.c (deassignLR),
+       * src/pic/ralloc.c (deassignLR),
+       * src/pic16/ralloc.c (deassignLR),
+       * src/avr/ralloc.c (deassignLR),
+       * src/SDCClrange.c (findRecursiveSucc, findRecursivePred, findPrevUse,
+       rlivePoint): fixed another part of bug #971834
+
+2004-08-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/z80/main.c: enabled "critical" keyword
+       * src/z80/mappings.i,
+       * src/z80/gen.c (genFunction, genEndFunction): support for interrupt
+       functions (fixes bug #979646)
+       * doc/sdccman.lyx: added a subsection explaining z80 interrupt support
+
+2004-08-04 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
+
+       * src/mcs51/gen.c (genInline): Add \n for labels, not DOS/WIN dirs
+         such as c:\mydir.
+
+2004-08-03 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/SDCCloop.c (loopInvariants): fixed bug 983545, hope this
+         doesn't disable too much optimizations
+
+2004-08-02 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/glue.c Disabled "WARNING: function 'main' undefined" when -S option is used.
+
+2004-08-02 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/SDCClrange.c (rlivePoint): fixed bug 988568, thanks to anonymous
+
+2004-08-02 Slade Rich <slade_rich AT users.sourceforge.net>
+
+       * src/pic/gen.c tidied up tabs
+       * src/pic/genarith.c tidied up tabs and fixed bug with literal multiple where same register was used for hi and low byte
+       * src/pic/main.c tidied up tabs
+       * src/pic/pcode.c tidied up tabs and disabled verbose code generation
+       * src/pic/pcoderegs.c tidied up tabs
+       * src/pic/ralloc.c tidied up tabs
+
+2004-07-30 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/SDCCmem.c (allocGlobal): don't turn S_REGISTER storage class
+       to S_FIXED for pic16 port and when symbol is not in level 0,
+       allocate for S_REGISTER storage class and pic16 port, too,
+       * src/pic16/device.h: prototype for checkSym,
+       * src/pic16/device.c (pic16_dump_access, checkSym): NEW,
+       * (pic16_assignConfigWordValue): test the value and the mask to
+       validate that the value is suitable for the configuration word,
+       * src/pic16/glue.c (pic16_printIvalFuncPtr): use 'externs' to
+       collect extern declared symbols, don't emit symbol twice, check
+       first if symbol is in publics set first,
+       * src/pic16/main.c (_pic16_keywords[]): added keyword 'register',
+       * added command line '--fstack' which enables an experimental
+       feature for stack access, too buggy to be used yet...
+       * src/pic16/ralloc.c (pic16_accessregWithName): NEW,
+       * (pic16_allocDirReg): when register has storage class S_REGISTER
+       allocate in pic16_dynAccessRegs,
+       * device/include/pic16/pic18f????.h: modified configuration word
+       naming convention, words started as CONFIG0H but should be CONFIG1H
+
+2004-07-29 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/include/mcs51reg.h: fixed bug 970993
+
+2004-07-27 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * added lib/calloc.c, lib/free.c, lib/realloc.c, include/stddef.h
+       * updated lib/malloc.c, lib/libsdcc.lib, lib/Makefile.in, include/malloc.h
+       * src/SDCC.lex (doPragma): added pragma disable_warning <nnn>
+       * src/SDCCmain.c (parseCmdLine): added option --disable-warning <nnn>
+       * src/ds390/gen.c (genPlusIncr): fixed bug when incrementing generic pointers
+       * support/Util/SDCCerr.c (vwerror): suppress disabled warnings and output
+         error/warning numbers,
+         added function setWarningDisabled()
+       * support/Util/SDCCerr.h: added setWarningDisabled() and MAX_ERROR_WARNING
+       * support/regression/ports/mcs51-stack-auto/spec.mk: added dependencies
+         _memcmp.c _memmove.c calloc.c realloc.c free.c
+       * support/regression/tests/malloc.c: added tests for new functionality
+       * support/regression/tests/zeropad.c: added tests for truncated initializers
+         and initialized char arrays starting with '\x0'
+       * src/mcs51/peeph.def: fixed regression, added peephole 177.f
+
+2004-07-26 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * support/valdiag/tests/overflow.c: fixed warning on (1 >> 40)
+
+2004-07-26 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * doc/sdccman.lyx: updated example in section "Absolute Addressing"
+       * src/mcs51/peeph.def: added contributed fix for "bug" #995347 as
+       peephole 177.e. Thanks to anonymous
+
+2004-07-25 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/pic16/glue.c (pic16_printIvalFuncPtr): when an extern
+       function isn't used in the source but referenced as a
+       variable initializer then declare it as extern in .asm file
+
+2004-07-24 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * .version: increased version number to 2.4.3
+
+       Adding version extension according to ChangeLog CVS revision
+       * src/Makefile.in (target all): added dependency 'version.h'
+       * (rule version.h): added rule to create version.h from ChangeLog,
+       * (rule dep): added dependency version.h,
+       * src/version.awk: AWK script to create version.h
+       * src/SDCCdwarf2.c (dwWriteModule),
+       * src/SDCCglue.c (initialComments),
+       * src/SDCCmain.c (printVersionInfo): modified to write after
+       version string the version extension number,
+       * src/SDCCutil.c: included "version.h"
+       * (getBuildNumber): NEW, returns SDCC's ChangeLog minor revision
+       number,
+       * src/SDCCutil.h: added prototype for getBuildNumber
+
+       * src/SDCCmain.c (parseCmdLine): when sOpt is 'I' add rest in
+       includeDirsSet, too,
+       * src/SDCCsymt.c (checkSClass): don't emit error when a variable,
+       const char [] is found in function prototype...
+
+       * src/pic16/genarith.c (pic16_genUMult8XLit_8): optimization to omit
+       moving to WREG with source is already in WREG,
+       * src/pic16/gen.h: added AOP_FSR0 and AOP_FSR2 in enum,
+       * src/pic16/gen.c (getFreePtr): updated to look for FSR0 and FSR2,
+       * (aopForSym): stack'ed symbols are partially supported, added
+       if-clause to support symbols in FARSPACE,
+       * (sameRegs): added test for AOP_ACC to see if registers are same,
+       * (pic16_freeAsmop): added case for AOP_FSR0 and AOP_FSR2,
+       * (pic16_aopGet): added case for AOP_FSR0 and AOP_FSR2,
+       * (pic16_popRegFromString): will not allocate a new register if it
+       doesn't find one by name, bug may have introduced...
+       * (pic16_popGet): added case for AOP_FSR0 and AOP_FSR2,
+       * (genIpush): revived to use pic16 port's stack,
+       * (genAddrOf): added incomplete case for stack'ed operand,
+       * (genCast): optimized a pair of MOVFW,MOVWF to MOVFF
+       * src/pic16/genutils.c (pic16_genNot): almot new vesrion for NOT,
+       can handle multibyte operands,
+       * src/pic16/glue.c (pic16_printIval*): some debug info added,
+       * (pic16initialComments): added message for MPLAB compatibility
+       mode enabled,
+       * src/pic16/main.h: prototype for pic16_mplab_comp,
+       * src/pic16/main.c (pic16_optionsTable): new option --mplab-comp,
+       which enabled MPLAB compatibility mode (i.e. no #LINE/#FILE, BANKED)
+       * (_pic16_linkEdit): NEW, handles link stage, transferred here
+       because of increased complexity of procedure,
+       * (_process_pragma): stack pragma changed to format 'stack pos len',
+       emit symbol '_stack_end' to conform with gplink,
+       * src/pic16/pcode.c (pic16_newpCodeOpBit): using pic16_regWithName
+       to search for register,
+       * (pic16_get_op, pic16_get_op2): added case for PO_W, PO_WREG and
+       PO_GPR_REGISTER,
+       * (pic16_pCode2str): when in MPLAB compatibility mode, comment out
+       #LINE directives and replace 'B' with 'BANKED' in instruction opcodes
+       * (pic16_getRegFromInstruction, pic16_getRegFromInstruction2): added
+       case for PO_GPR_REGISTER,
+       * (pic16_AnalyzeBanking): removed the old message for inc2h.pl, past
+       dies, the new era is ahead !...
+       * src/pic16/ralloc.c: added hash reposits pic16_dynAllocRegNames and
+       pic16_dynInternalRegs,
+       * (pic16_allocregWithName, pic16_procregWithName, pic16_regWithname): NEW,
+       * (pic16_allocDirReg): minor optimizations and bug fixes,
+       * (pic16_allocWithIdx): when searching pic16_dynProcessorRegs use fixed,
+
+       * device/lib/pic16/startup/crt0*.c: extern definition of stack_end,
+       load stack and frame pointer with address of 'stack_end' symbol
+
+2004-07-23 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/pic16/glue.c (pic16emitStaticSeg): fixed bug with files
+       without source code but only variable initializers
+
+2004-07-20 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/pic16/glue.c (pic16emitRegularMap): unused functions marked as
+       external are not declared as extern to reduce overhead while linking
+
+2004-07-20 Maarten Brock <sourceforge.brock AT dse.nl>
+
+        * src/SDCCast.c (decorateType): removed buggy fix for bug #979599
+
 2004-07-11 Maarten Brock <sourceforge.brock AT dse.nl>
 
        * src/SDCCglue.c (printIvalArray): fixed bug #984229, thanks to Phuah
 
 2004-06-25 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
 
-       * src/mcs51/peeph.def: added peepholes 182.d (return 0.0), 
-       256 (range check), 257 (do while), 258.a-f (bit banging 
+       * src/mcs51/peeph.def: added peepholes 182.d (return 0.0),
+       256 (range check), 257 (do while), 258.a-f (bit banging
        f.e. on 3-wire SPI bus)
 
 2004-06-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
        * src/z80/ralloc.c (serialRegAssign),
        * src/ds390/ralloc.c (serialRegAssign),
        * src/mcs51/ralloc.c (serialRegAssign): fixed bug #964479
-       
+
 2004-06-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
 
        * src/SDCCicode.c (geniCodeJumpTable): fixed bug #967601
        command argument --denable-peeps, for testing,
         * device/lib/pic16/startup/Makefile: added --no-peep,--pomit-config-words,
         --pomit-ivt in COMPILE_FLAGS
+
 2004-06-06 Maarten Brock <sourceforge.brock AT dse.nl>
 
        * src/pic16/pcode.c (pic16_emitDB): removed double semicolon which fails