+2004-11-19 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+ * src/mcs51/peeph.def: added peepholes 3.d-g and 177.g,h provided
+ by anonymous in RFE #1067986, thanks
+
+2004-11-18 Maarten Brock <sourceforge.brock AT dse.nl>
+
+ * .version: bumped version to 2.4.7
+ * device/lib/_gptrget.c (_gptrget): is now _naked
+ * device/lib/_gptrgetc.c (_gptrgetc): is now _naked
+ * device/lib/_gptrput.c (_gptrput): is now _naked
+ * src/SDCCast.c (createBlock): removed ridiculous self-assignment,
+ (createFunction): fixed xstack
+ * src/SDCCglue.c (emitMaps): set allocation required for bit area
+ * src/SDCCicode.c (geniCodeCast): don't change SPEC_OCLS for literal
+ or bit either,
+ (geniCodeCritical): store original interrupt state in an iTemp bit
+ var unless stack-auto
+ * src/SDCCicode.h: added CRITICAL and ENDCRITICAL to SKIP_IC2
+ * src/SDCCmain.c (setIncludePath): added include/target to search path
+ * src/SDCCmem.c (allocParms): store bit vars in bit space, not overlay
+ * src/SDCCsymt.c (checkFunction): don't check regbank for isr's against
+ prototype,
+ (processFuncArgs): put bit vars in bit area
+ * src/mcs51/gen.c (saveRegisters, unsaveRegisters, genXpush, saveRBank,
+ unsaveRBank): fixed xstack,
+ (genFunction): bugfix: replaced (global!) reentrant with fReentrant,
+ (genFunction, genEndFunction): fixed xstack,
+ (genAssign): optimization don't walk backwards through mem
+ * src/mcs51/main.c (_mcs51_regparm): don't pass bit params in registers
+ * src/mcs51/ralloc.c (createStackSpil): spill bits to bit area
+ * support/regression/Makefile: also make library (for stack-auto) when
+ making "all" and added "test-mcs51-xstack-auto"
+ * support/regression/fwk/lib/testfwk.c: added T2_isr prototype for mcs51
+ * support/regression/ports/mcs51/T2_isr.c: added this file as a stub
+ * support/regression/ports/mcs51/fwk.lib: added to link T2_isr stub
+ * support/regression/ports/mcs51/spec.mk: added rules for fwk.lib
+ * support/regression/ports/mcs51-stack-auto/spec.mk: replaced
+ make-library by MAKE_LIBRARY
+ * support/regression/ports/mcs51-xstack-auto/spec.mk: file added to run
+ regression tests for xstack
+ * support/regression/tests/bitvars.c: test for bit vars (bug 938782)
+ * support/regression/tests/critical.c: test for critical on mcs51
+
+2004-11-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * support/regression/ports/ucz80/spec.mk: use include and lib files from
+ built version of sdcc instead of installed version
+
+2004-11-14 Maarten Brock <sourceforge.brock AT dse.nl>
+
+ * src/mcs51/gen.c (toBoolean): fixed bug 1065458
+ * device/lib/Makefile.in: z80 uses printf_large.c, sprintf.c and
+ vprintf.c now
+ * device/lib/printf_large.c (calculate_digit): fixed bug 1057979
+ * device/lib/z80/Makefile: don't use printf.c as it fails bug 1057979
+ WARNING: remove device/lib/build/z80/printf.o by hand when
+ updating from previous build!
+ * device/lib/z80/printf.c: updated comment
+ * support/regression/tests/bug1057979.c: test all ports now
+ * support/regression/tests/bug1065458.c: file added
+
+2004-11-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/z80/gen.c (genFunction, genEndFunction): avoided generating
+ *_start and *_end symbols for static functions
+
+2004-11-11 Maarten Brock <sourceforge.brock AT dse.nl>
+
+ * src/SDCCmain.c (linkEdit): don't suppress crt0 if --nostdlib is used
+ and search crt0.o in all library paths,
+ (setIncludePath): proper handling of --nostdinc,
+ (setLibPath): proper handling of --nostdlib
+ * support/regression/Makefile,
+ * support/regression/ports/ds390/spec.mk,
+ * support/regression/ports/gbz80/spec.mk,
+ * support/regression/ports/hc08/spec.mk,
+ * support/regression/ports/mcs51/spec.mk,
+ * support/regression/ports/mcs51-large/spec.mk,
+ * support/regression/ports/mcs51-stack-auto/spec.mk,
+ * support/regression/ports/z80/spec.mk: use include and lib files from
+ built version of sdcc instead of installed version
+ * doc/sdccman.lyx: fixed typo in --nostdinc
+
+2004-11-10 Slade Rich <slade_rich AT users.sourceforge.net>
+
+ * src/pic/pcode.c,
+ * src/pic/device.c,
+ * src/pic/ralloc.c,
+ * src/pic/gen.c : added support to generate code for struct bit fields.
+
+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
+ * support/regression/tests/bug1057979.c: added
+
+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,
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
+ 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
+ * 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