+2004-11-06 Maarten Brock <sourceforge.brock AT dse.nl>
+
+ * as/xa51/xa_version.h,
+ * device/include/errno.h,
+ * device/include/regc515c.h,
+ * device/lib/_itoa.c,
+ * device/lib/_ltoa.c,
+ * device/lib/ser_ir_cts_rts.c,
+ * sim/ucsim/xa.src/glob.cc,
+ * sim/ucsim/xa.src/inst_gen.cc,
+ * sim/ucsim/xa.src/xa_bit.cc,
+ * sim/ucsim/xa.src/xa_sfr.cc,
+ * sim/ucsim/z80.src/inst_dd.cc,
+ * sim/ucsim/z80.src/inst_fdcb.cc,
+ * support/scripts/keil2sdcc.pl,
+ * src/pic16/pic16.dsp,
+ * src/pic16/pic16a.dsp: corrected cvs line endings
+ * device/lib/printf_large.c: fixed bug 1057979
+ * src/pic16/gen.c: fixed non-C standard code
+ * src/SDCCmain.c: made --pack-iram default, added --no-pack-iram
+ * src/SDCCglobl.h: changed pack_iram to no_pack_iram
+ * support/regression/ports/mcs51/support.c: reload T1 asap
+ * doc/sdccman.lyx: updated for options --pack-iram and --no-pack-iram,
+ pdata use and clear idata startup behaviour
+
+2004-11-04 Maarten Brock <sourceforge.brock AT dse.nl>
+
+ * device/examples/ds390/ow390/ad26.h,
+ * device/examples/ds390/ow390/cnt1d.h,
+ * device/examples/ds390/ow390/crcutil.c,
+ * device/examples/ds390/ow390/ownet.h,
+ * device/examples/ds390/ow390/owsesu.c,
+ * device/examples/ds390/ow390/swt12.h,
+ * device/examples/ds390/ow390/swtoper.c,
+ * device/examples/ds390/ow390/temp10.h,
+ * device/examples/ds390/ow390/thermodl.c,
+ * device/examples/ds390/tinitalk/tinitalk.dsp,
+ * device/examples/ds390/tinitalk/tinitalk.dsw,
+ * device/examples/mcs51/clock/hw.h,
+ * device/examples/mcs51/simple2/go.bat,
+ * device/examples/serialcomm/windows/serial.h,
+ * device/examples/xa51/dummy.c,
+ * device/examples/xa51/hello.c,
+ * device/include/80c51xa.h,
+ * device/include/at89x051.h: corrected cvs line endings
+
+2004-11-04 Vangelis Rokas <vrokas AT otenet.gr>
+
+ * src/pic16/main.c (options): added command line --gstack, to trace
+ stack over/under flows,
+ * added pragma 'wparam' to allow passing first byte of function
+ parameters via WREG, syntax is #pragma wparam my_function[, func2...]
+ * src/pic16/gen.c (pic16_testStackOverflow): function which emits a
+ call to __gstack_test function and sets up the symbol as extern,
+ * (pic16_pushpCodeOp, pic16_poppCodeOp, pushw, pushaop, popaopidx,
+ * popaop): added call to pic16_testStackOverflow,
+ * (wParamCmp, inWparamList): NEW, test existence of a symbol in
+ wparamList list,
+ * (genCall, genPcall): now all parameters are passed via stack
+ except in functions that are pass to wparam pragma in which WREG is
+ used too,
+ * (genPcall): REENTRANT flag is checked to see if variable prototype
+ contains reentrant keyword, don't call a non-reentrant function, via
+ a reentrant function pointer or vice versa, functions are never
+ passed via WREG,
+ * (genJumpTab): applied patch from bug #1057478 by R.Neider and
+ D.Winkler,
+ * src/pic16/glue.c (pic16emitRegularMap): fixed bug which caused a
+ SIGSEGV when accessing a NULL register stucture,
+ * (pic16_printGPointerType): modified to handle UPPER modifier for
+ function initializers, changed prototype of function to simpler one,
+ * (pic16_printIvalFuncPtr): check to see if function is already
+ added in externs list,
+ * src/pic16/pcoderegs.c (pCodeOptime2pCodes): fixed bug which
+ optimized a move from W to SFR with a move to the same register
+ later after a CALL,
+ * device/lib/pic16/debug: NEW directory, contains debug features
+ which are enabled when linking with libdebug.lib, currently command
+ line option --gstack enables stack pointer tracing for over/under
+ flow, corresponding sources are in debug/gstack
+
+2004-10-30 Vangelis Rokas <vrokas AT otenet.gr>
+
+ * doc/sdccman.lyx: updated SDCC version,
+ * (PIC16 port): update list of command line options,
+ * src/pic16/device.h (structure pic16_options_t): added field gstack
+ to enable stack overflow tracing on push/pops,
+ * src/pic16/device.c (statistics structure): added statistics
+ structure,
+ * (pic16_dump_access, pic16_dump_usection, pic16_dump_gsection,
+ pic16_dump_int_registers): increase statistics counters for each
+ * variable which is encountered
+ * (pic16_dump_usection): emit each .udata variable to its own udata
+ section,
+ * src/pic16/gen.c (assignResultValue, genCall, genPcall, genFunction):
+ when macro USE_WREG_IN_FUNC_PARAMS is set to 0 pass all function
+ parameters via stack, otherwise use old scheme,
+ * src/pic16/glue.c (pic16_emitStatistics): dump statistics in
+ assembler output file,
+ * src/pic16/main.c: added command line options --gstack to enable
+ push/pop tracing for stack overflow,
+ * src/pic16/pcode.c (all pCodeInstruction records for PIC18F
+ instructions): added size of each instruction,
+ * (pic16_countInstruction): estimate size of instructions in
+ the_pFile list, inline assembly blocks are not counted,
+ * (pic16_FixRegisterBanking): trace previous register usage, when
+ banksel optimizations is greater than 0, don't emit a redudant
+ banksel directive,
+
+2004-10-26 Slade Rich <slade_rich AT users.sourceforge.net>
+
+ * src/pic/ralloc.c : fixed inefficient code produced when compiling a complimented bit operation.
+ * src/pic16/ralloc.c : applied same fix for pic16.
+ * src/pic/gen.c : tidied it up a little.
+
+2004-10-25 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+ * src/mcs51/peeph.def: disabled 259.a,b for removing redundant ret,
+ thanks to Martin Helmling for reporting (mail on sdcc-devel 2004-10-25)
+
+2004-10-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCCast.c (reverseParms): fixed bug #1040577 (part 2)
+
+2004-10-22 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+ * device/lib/ser_ir_cts_rts.c: integer promotion caused a call to the
+ non-reentrant function __modsint in the interrupt function (thus
+ corrupting math operations during serial I/O)
+ * device/lib/ser_ir.c: as above, changed buffersize
+ * src/mcs51/peeph.def: added 259.a,b for removing redundant ret,
+ 256.c,d for zeroing
+ * doc/Makefile: added option -t for rsync
+
+2004-10-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCCast.h (struct ast),
+ * src/SDCCast.c (reverseParms, copyAst): fixed bug #1040577 (part 1)
+
+2004-10-20 Borut Razem <borut.razem AT siol.net>
+
+ * support/scripts/sdcc.nsi: added include/pic16/*.h to the setup
+ package
+
+2004-10-20 Vangelis Rokas <vrokas AT otenet.gr>
+
+ * device/lib/pic16/libsdcc/Makefile: added lregs directory in
+ makefile targets,
+ * device/lib/pic16/libsdcc/lregs/{Makefile,lrst.c,lrrest.c}: NEW
+ support functions to replace long sequences of MOVFF's from access
+ bank registers to stack and vice versa,
+ * src/pic16/device.h: added new field opt_flags, where optimization
+ flags can be set to enable certain features,
+ * src/pic16/gen.c (pic16_emitpinfo): NEW to add PC_INFO pCode in
+ * pBlock, (genFunction, genEndFunction): surroung loop for
+ saving/loading used registers in stack with PC_INFO pCodes,
+ INF_LREGS. Code in between can then be optimized by pCode optimizer
+ to support function calls,
+ * (genDataPointerSet): fixed bug which loaded float fields in
+ structures with corrupt data,
+ * src/pic16/genutils.c (debugf, _debugf): macro/function which emits
+ in a standard way debug info on stderr. Feature used for developing
+ and debugging only,
+ * src/pic16/glue.c (pic16glue): reformatted, deleted some old and
+ obsolete chunks of code,
+ * if optimization flag OF_LR_SUPPORT was set, call pic16_OptimizeLocalRegs,
+ * src/pic16/main.c (_pic16_parseOptions): added handler for --flr-support,
+ * pic16/src/pcode.c (pic16_newpCodeInfo,
+ * (pic16_newpCodeOpLocalRegs),
+ * (pic16_convertLocalRegs2Support): NEW, to support new optimization
+ feature,
+ * (pic16_pCodeConstString): printing of the initial value of a
+ symbol as a comment is inhibited since parsing was already done by
+ copyStr and output is corrupt,
+ * (pic16_pCode2str, genericPrint): handle PC_INFO pCode,
+
+2004-10-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/mcs51/ralloc.c (packRegisters): fixed bug #1044601
+
+2004-10-19 Maarten Brock <sourceforge.brock AT dse.nl>
+
+ * as/mcs51/lkarea.c: removed old K&R style,
+ (lnksect): changed check on boundary error,
+ (lnksect2): changed check on boundary error,
+ (lnksect2): extend XSTK to end of page if size = 1
+ * as/mcs51/lkmain.c: removed old K&R style,
+ (Areas51): create l_IRAM symbol
+ * as/mcs51/lkmem.c (summary2): added report on PSEG and XSTK
+ * device/lib/Makefile.in: renamed model-mcs51-reentrant to
+ model-mcs51-stack-auto, added model-mcs51-xstack-auto
+ * device/lib/_mullong.c: added version to be compiled with xstack
+ * device/lib/mcs51/crtclear.asm: clear only upto --iram-size
+ * device/lib/mcs51/crtxclear.asm: clear pdata as well
+ * device/lib/mcs51/crtxstack.asm: fixed comment
+ * src/SDCCglue.c: maxInterrupts defaults to 0,
+ (emitMaps): added pdata,
+ (createInterruptVect): (re)moved default,
+ (glue): added pdata,
+ (glue): moved __start__xstack to XSTK with default size 1
+ * src/SDCCmain.c (parseCmdLine): automatically set options.intlong_rent
+ and options.float_rent when options.stackAuto is set,
+ (linkEdit): only write XDATA_NAME if provided on command line
+ * src/SDCCmem.h,
+ * src/SDCCmem.c: added pdata
+ * src/port.h: added pdata_name to PORT
+ * src/mcs51/gen.c (toBoolean): fixed for Acc use of aopGet,
+ (saveRegisters, unsaveRegisters): removed usage of B,
+ (genMinus): fixed accumulator clash,
+ (genJumpTab): added comment, this needs another look
+ * src/mcs51/gen.c: added check for "B in use" paranoia,
+ added pushB() and popB()
+ * src/mcs51/peeph.def: restart after 177.c so 177.a can get a second
+ chance
+ * src/avr/main.c,
+ * src/ds390/main.c,
+ * src/hc08/main.c,
+ * src/mcs51/main.c,
+ * src/pic/main.c,
+ * src/pic16/main.c,
+ * src/xa51/main.c,
+ * src/z80/main.c: (reset_regparms) made void parameter explicit and
+ added PSEG (PAG,XDATA) or NULL to port specifier
+ * src/ds390/main.c (_ds390_genIVT): moved implemented default in here
+ * src/mcs51/main.c (_mcs51_genIVT): moved implemented default in here,
+ (_mcs51_genInitStartup): removed __start__xstack equ,
+ (mcs51_port): moved xstack from XSEG (XDATA) to XSTK (PAG,XDATA)
+ * src/pic16/device.c (pic16_dump_usection, pic16_dump_isection),
+ * src/z80/gen.c (_rleAppend): fixed warnings
+ * support/regression/tests/zeropad.c: added pdata test
+ * .version: bumped to 2.4.6
+
+2004-10-17 Borut Razem <borut.razem AT siol.net>
+
+ * support/scripts/sdcc.nsi: cross compiling of WIN32 setup.exe on Linux
+ as a part of nightly build
+
+2004-10-16 Vangelis Rokas <vrokas AT otenet.gr>
+
+ * src/pic16/gen.c (struct _G): added field useWreg, is set to 1 when
+ WREG holds the first byte function parameters,
+ * (aopForSym): take special case for symbols which are in FARSPACE
+ but in CODESPACE too,
+ * (assignResultValue): modified to take into account _G.useWreg,
+ * (genCall): don't use wreg for parameter passing when function is
+ declared as reentrant, too, added optimization INCF to stack
+ pointer when stack parameter count is 1,
+ * (genFunction, genEndFunction): refurnished and fixed to not using
+ wreg for passing parameters when function has varargs or is
+ reentrant, fixed bug with symbol name compare for generating
+ functions in absolute address,
+ * (pic16_storeForReturn): refurnished,
+ * (genCmp): began writing a new version of the function, not ready
+ yet, therefore it is disabled,
+ * (genAssign): do not read code memory when assigning a function to
+ a pointer function,
+ * src/pic16/glue.c (pic16emitStaticSeg): abSym->name is defined an
+ array of characters, not pointer,
+ * (pic16initialComments): in debug mode emit an .ident directive for
+ the assembler,
+ * (_process_pragma): emit a new warning type (internal to pic16)
+ when setting stack to default length, emit a similar warning when
+ placing a function at absolute address and address is not word aligned
+ * (_pic16_parseOptions): added 'return TRUE' statement,
+ * (_pic16_linkEdit): if compiling a source, then add the source's
+ file object, first in the list of objects to link,
+
+2004-10-13 Slade Rich <slade_rich AT users.sourceforge.net>
+
+ * src/pic/pcoderegs.c : increased count on regUsedinRange to prevent unnecessary warning.
+ * src/pic/main.c : removed VC warning.
+ * src/pic/gen.c : changed comment.
+
2004-10-12 Vangelis Rokas <vrokas AT otenet.gr>
* device/lib/pic16/libsdcc/gptr/gptrput[234].c: an external