fw/sdcc
19 years ago* src/z80/gen.c (genFunction, genEndFunction): avoided generating
epetrich [Fri, 12 Nov 2004 05:53:56 +0000 (05:53 +0000)]
* src/z80/gen.c (genFunction, genEndFunction): avoided generating
  *_start and *_end symbols for static functions

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3573 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* src/SDCCmain.c (linkEdit): don't suppress crt0 if --nostdlib is used
maartenbrock [Thu, 11 Nov 2004 12:10:48 +0000 (12:10 +0000)]
* 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

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3572 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agoPIC14 - Added support to generate code for struct bit fields.
slade_rich [Tue, 9 Nov 2004 23:57:01 +0000 (23:57 +0000)]
PIC14 - Added support to generate code for struct bit fields.

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3571 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agoAdded support to generate code for struct bit fields.
slade_rich [Tue, 9 Nov 2004 23:55:49 +0000 (23:55 +0000)]
Added support to generate code for struct bit fields.

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3570 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* Added support/regression/tests/bug1057979.c
maartenbrock [Sat, 6 Nov 2004 20:00:41 +0000 (20:00 +0000)]
* Added support/regression/tests/bug1057979.c

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3569 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* as/xa51/xa_version.h,
maartenbrock [Sat, 6 Nov 2004 19:56:53 +0000 (19:56 +0000)]
* 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

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3568 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* initial revision, PIC16 C Library headers
vrokas [Fri, 5 Nov 2004 08:35:55 +0000 (08:35 +0000)]
* initial revision, PIC16 C Library headers

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3567 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* initial import, various character functions
vrokas [Fri, 5 Nov 2004 01:35:47 +0000 (01:35 +0000)]
* initial import, various character functions

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3566 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* device/examples/ds390/ow390/ad26.h,
maartenbrock [Thu, 4 Nov 2004 21:19:23 +0000 (21:19 +0000)]
* 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

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3565 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago2004-11-04 Vangelis Rokas <vrokas AT otenet.gr>
vrokas [Thu, 4 Nov 2004 12:34:49 +0000 (12:34 +0000)]
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

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3564 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* doc/sdccman.lyx: updated SDCC version,
vrokas [Sat, 30 Oct 2004 11:15:15 +0000 (11:15 +0000)]
* 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,

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3563 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agoPIC ports - fixed inefficient code produced when compiling a complimented bit operation.
slade_rich [Tue, 26 Oct 2004 00:41:33 +0000 (00:41 +0000)]
PIC ports - fixed inefficient code produced when compiling a complimented bit operation.

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3561 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agofixed inefficient code for compiling complimented bit.
slade_rich [Tue, 26 Oct 2004 00:38:32 +0000 (00:38 +0000)]
fixed inefficient code for compiling complimented bit.

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3560 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agotidied it up a little.
slade_rich [Tue, 26 Oct 2004 00:37:46 +0000 (00:37 +0000)]
tidied it up a little.

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3559 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agosrc/mcs51/peeph.def: disabled 259.a,b for removing redundant ret, thanks to Martin...
frief [Mon, 25 Oct 2004 17:57:07 +0000 (17:57 +0000)]
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)

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3558 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agoremoved 259.a,b. See comment at peephole 259.a
frief [Mon, 25 Oct 2004 17:55:52 +0000 (17:55 +0000)]
removed 259.a,b. See comment at peephole 259.a

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3557 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago single step withou run, disassemble of
mhelmling [Mon, 25 Oct 2004 11:51:32 +0000 (11:51 +0000)]
 single step withou run, disassemble of
onknown code

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3556 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* src/SDCCast.c (reverseParms): fixed bug #1040577 (part 2)
epetrich [Fri, 22 Oct 2004 17:20:11 +0000 (17:20 +0000)]
* src/SDCCast.c (reverseParms): fixed bug #1040577 (part 2)

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3555 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agoPeephole 256.c,d zeroing data from accumulator after jnz comparison
frief [Fri, 22 Oct 2004 14:56:11 +0000 (14:56 +0000)]
Peephole 256.c,d zeroing data from accumulator after jnz comparison

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3554 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agozeroing data from acculator after jnz comparison
frief [Fri, 22 Oct 2004 14:52:59 +0000 (14:52 +0000)]
zeroing data from acculator after jnz comparison

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3553 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* device/lib/ser_ir_cts_rts.c: integer promotion caused a call to the
frief [Fri, 22 Oct 2004 11:29:13 +0000 (11:29 +0000)]
* 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
* doc/Makefile: added option -t for rsync

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3552 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agoadded 259.a,b for removing redundant ret
frief [Fri, 22 Oct 2004 11:27:53 +0000 (11:27 +0000)]
added 259.a,b for removing redundant ret

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3551 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agoadded option -t for rsync, (this has little effect as a cvs checkout usually spoils...
frief [Fri, 22 Oct 2004 11:26:17 +0000 (11:26 +0000)]
added option -t for rsync, (this has little effect as a cvs checkout usually spoils this anyway)

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3550 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agointeger promotion caused a call to the non-reentrant function __modsint in the interrupt
frief [Fri, 22 Oct 2004 11:24:48 +0000 (11:24 +0000)]
integer promotion caused a call to the non-reentrant function __modsint in the interrupt
function (thus corrupting math operations during serial I/O),
ser_ir.c: as above, changed buffersize

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3549 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* src/SDCCast.h (struct ast),
epetrich [Fri, 22 Oct 2004 04:02:03 +0000 (04:02 +0000)]
* src/SDCCast.h (struct ast),
* src/SDCCast.c (reverseParms, copyAst): fixed bug #1040577

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3548 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* support/scripts/sdcc.nsi: added include/pic16/*.h to the setup package
borutr [Wed, 20 Oct 2004 21:05:47 +0000 (21:05 +0000)]
* support/scripts/sdcc.nsi: added include/pic16/*.h to the setup package

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3547 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* device/lib/pic16/libsdcc/Makefile: added lregs directory in
vrokas [Wed, 20 Oct 2004 14:02:16 +0000 (14:02 +0000)]
* 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,

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3546 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* src/mcs51/ralloc.c (packRegisters): fixed bug #1044601
epetrich [Wed, 20 Oct 2004 04:50:40 +0000 (04:50 +0000)]
* src/mcs51/ralloc.c (packRegisters): fixed bug #1044601

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3545 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* as/mcs51/lkarea.c: removed old K&R style,
maartenbrock [Tue, 19 Oct 2004 11:10:37 +0000 (11:10 +0000)]
* 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

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3544 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* support/scripts/sdcc.nsi: cross compiling of WIN32 setup.exe on Linux
borutr [Sun, 17 Oct 2004 09:40:03 +0000 (09:40 +0000)]
* support/scripts/sdcc.nsi: cross compiling of WIN32 setup.exe on Linux
as a part of nightly build

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3543 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago2004-10-16 Vangelis Rokas <vrokas AT otenet.gr>
vrokas [Sat, 16 Oct 2004 14:48:33 +0000 (14:48 +0000)]
2004-10-16 Vangelis Rokas <vrokas AT otenet.gr>

* device/include/pic16/math.h: included sdcc-lib.h,
* device/lib/pic16/startup/crt*.c: startup function marked _naked
* 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,

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3541 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agocheck now pop stack result
mhelmling [Fri, 15 Oct 2004 04:37:19 +0000 (04:37 +0000)]
check now pop stack result

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3540 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agoPIC14 - modifications.
slade_rich [Wed, 13 Oct 2004 01:26:34 +0000 (01:26 +0000)]
PIC14 - modifications.

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3539 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agoincreased count on regUsedinRange to prevent unnecessary warning.
slade_rich [Wed, 13 Oct 2004 01:24:29 +0000 (01:24 +0000)]
increased count on regUsedinRange to prevent unnecessary warning.

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3538 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agoremoved VC warning.
slade_rich [Wed, 13 Oct 2004 01:23:50 +0000 (01:23 +0000)]
removed VC warning.

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3537 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agochanged comment.
slade_rich [Wed, 13 Oct 2004 01:23:24 +0000 (01:23 +0000)]
changed comment.

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3536 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* device/lib/pic16/libsdcc/gptr/gptrput[234].c: an external
vrokas [Tue, 12 Oct 2004 09:49:27 +0000 (09:49 +0000)]
* device/lib/pic16/libsdcc/gptr/gptrput[234].c: an external
reference to a deprecated symbol _GPTRREG was causing failure to
link. Thanks G. M. Gallant for the info.

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3535 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* device/lib/pic16/libsdcc/gptr/gptrput[234].c: an external
vrokas [Tue, 12 Oct 2004 09:48:19 +0000 (09:48 +0000)]
* device/lib/pic16/libsdcc/gptr/gptrput[234].c: an external
reference to a deprecated symbol _GPTRREG was causing failure to
link. Thanks G. M. Gallant for the info.
* src/pic16/*.dsp: added CR-LF at eol so MSVC can read them

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3534 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agofix of need_config bug
drdani [Tue, 12 Oct 2004 07:52:09 +0000 (07:52 +0000)]
fix of need_config bug

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3533 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agoPIC14 : Applied a code patch supplied by Paul Ashmore in comments for Bugs item ...
slade_rich [Tue, 12 Oct 2004 00:43:29 +0000 (00:43 +0000)]
PIC14 : Applied a code patch supplied by Paul Ashmore in comments for Bugs item #954788.

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3532 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agoApplied a code patch supplied by Paul Ashmore in comments for Bugs item #954788.
slade_rich [Tue, 12 Oct 2004 00:42:08 +0000 (00:42 +0000)]
Applied a code patch supplied by Paul Ashmore in comments for Bugs item #954788.

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3531 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* in genGenPointerSet forgot to use postdec1
vrokas [Sun, 10 Oct 2004 21:05:13 +0000 (21:05 +0000)]
* in genGenPointerSet forgot to use postdec1

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3530 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* minor corrections between previous commit
vrokas [Sun, 10 Oct 2004 21:02:46 +0000 (21:02 +0000)]
* minor corrections between previous commit

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3529 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* src/pic16/device.c (pic16_dump_gsection,
vrokas [Sun, 10 Oct 2004 20:50:36 +0000 (20:50 +0000)]
* src/pic16/device.c (pic16_dump_gsection,
* pic16_groupRegistersInSection): handle symbols declared to be in
access bank differently,
* src/pic16/gen.c (struct _G): added field resDirect,
* (aopForSym): if symbol on stack and iCode is '=' and result exists,
send values read from stack directly to result and don't allocate
temporary values,
* (pic16_sameRegs): fixed bug that allowed MOVFF to move between
same registers,
* (pic16_sameRegsOfs): NEW,
* (freeAsmop): if _G.resDirect is set then do not mark registers as
free because they were not allocated from temporary pool,
* pic16_popRegFromString): workaround to fix a problem with
allocating variables twice or never,
* (genGenPointerGet): using PRODL instead of FSR0H,
* (genGenPointerSet): using POSTDEC1 (that is a stack location)
instead of FSR0H,
* (genAssign): take advantage of the _G.resDirect flag,
* (genCast): around line 11844, use mov2f instead of directly
MOVFF'ing between operands to account for literal values,
* src/pic16/genutils.c: some new debug functions for gpsim have been
added,
* src/pic16/glue.c (pic16_printIvalType): fixed bug that initialized
float with integer part only,
* src/pic16/main.c (_process_pragma): handle pragma udata access to
place variables in access bank
* device/lib/pic16/libsdcc/gptr/gptr*.c: using BRA instead of GOTO,
updated sources to reflect recent changes in gen.c

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3528 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* src/pic16/device.c (pic16_dump_gsection,
vrokas [Sun, 10 Oct 2004 20:45:19 +0000 (20:45 +0000)]
* src/pic16/device.c (pic16_dump_gsection,
* pic16_groupRegistersInSection): handle symbols declared to be in
access bank differently,
* src/pic16/gen.c (struct _G): added field resDirect,
* (aopForSym): if symbol on stack and iCode is '=' and result exists,
send values read from stack directly to result and don't allocate
temporary values,
* (pic16_sameRegs): fixed bug that allowed MOVFF to move between
same registers,
* (pic16_sameRegsOfs): NEW,
* (freeAsmop): if _G.resDirect is set then do not mark registers as
free because they were not allocated from temporary pool,
* pic16_popRegFromString): workaround to fix a problem with
allocating variables twice or never,
* (genGenPointerGet): using PRODL instead of FSR0H,
* (genGenPointerSet): using POSTDEC1 (that is a stack location)
instead of FSR0H,
* (genAssign): take advantage of the _G.resDirect flag,
* (genCast): around line 11844, use mov2f instead of directly
MOVFF'ing between operands to account for literal values,
* src/pic16/genutils.c: some new debug functions for gpsim have been
added,
* src/pic16/glue.c (pic16_printIvalType): fixed bug that initialized
float with integer part only,
* src/pic16/main.c (_process_pragma): handle pragma udata access to
place variables in access bank
* device/lib/pic16/libsdcc/gptr/gptr*.c: using BRA instead of GOTO,
updated sources to reflect recent changes in gen.c

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3527 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* device/lib/pic16/libsdcc/Makefile.rules: fixed bug concerning
vrokas [Wed, 6 Oct 2004 01:07:12 +0000 (01:07 +0000)]
* device/lib/pic16/libsdcc/Makefile.rules: fixed bug concerning
sources that searched for headers in installation path, now the
device/include/pic16 is used,
* src/pic16/glue.c (pic16glue),
* src/pic16/pcode.c (pCode2str, genericPrint): don't print .file or
.line directives if not in debug mode, this suppresses assembler's
warnings for ignored directives

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3525 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* src/port.h: made reset_regparms prototype void parameter explicit.
maartenbrock [Tue, 5 Oct 2004 10:59:23 +0000 (10:59 +0000)]
* src/port.h: made reset_regparms prototype void parameter explicit.
* src/SDCCsymt.c (processFuncArgs): removed argument "func".
* src/mcs51/ralloc.c (packRegisters): new fix for bugs 898889 & 979599.
* doc/sdccman.lyx: documented warning disabling and how to use
  printf_large to make it print floats.
* device/include/stdbool.h: NEW
* device/lib/_atof.c,
* device/lib/_divuint.c,
* device/lib/_divulong.c,
* device/lib/expf.c,
* device/lib/printf_large.c,
* device/lib/sincosf.c,
* device/lib/sincoshf.c: used stdbool.h, all compile with stack-auto now
* device/lib/Makefile.in: added target for model-mcs51-reentrant to build
  a completely reentrant lib.

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3524 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* device/lib/pic16/libsdcc/gptr/gptr*.c: added return statements
vrokas [Tue, 5 Oct 2004 00:00:25 +0000 (00:00 +0000)]
* device/lib/pic16/libsdcc/gptr/gptr*.c: added return statements
* device/include/pic16/stdio.h: fixed bug with colon

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3523 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* device/include/pic16/math.h, stdarg.h, stdio.h, stdlib.h: minor mistakes
vrokas [Sun, 3 Oct 2004 12:12:40 +0000 (12:12 +0000)]
* device/include/pic16/math.h, stdarg.h, stdio.h, stdlib.h: minor mistakes
updated

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3522 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* device/include/pic16/stdio.h,
vrokas [Sun, 3 Oct 2004 12:05:16 +0000 (12:05 +0000)]
* device/include/pic16/stdio.h,
* device/include/pic16/stdlib.h,
* device/include/pic16/math.h: NEW
* device/lib/pic16/libsdcc/gptr/*.c (gptrget*, gptrput*): functions
declared as _naked to reduce overhead

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3521 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* device/lib/Makefile.in (target port-specific-objects-pic16):
vrokas [Sun, 3 Oct 2004 01:10:21 +0000 (01:10 +0000)]
* device/lib/Makefile.in (target port-specific-objects-pic16):
changed * to *.* so to ignore the CVS directory,
* src/pic16/gen.c (pic16_freeAsmop): added code to store result of
stacked variables back in stack,
* (genEndFunction): fixed bug reported by G.M. Gallant with stack
corruption

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3520 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* device/include/lib/pic16/libsdcc/gptr/{*.c, Makefile}: NEW,
vrokas [Fri, 1 Oct 2004 14:59:19 +0000 (14:59 +0000)]
* device/include/lib/pic16/libsdcc/gptr/{*.c, Makefile}: NEW,

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3515 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* device/lib/pic16/libsdcc/gptr/{*.c, Makefile}: NEW
vrokas [Fri, 1 Oct 2004 14:57:24 +0000 (14:57 +0000)]
* device/lib/pic16/libsdcc/gptr/{*.c, Makefile}: NEW

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3514 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* .version: bumped version number to 2.4.5
vrokas [Fri, 1 Oct 2004 14:49:51 +0000 (14:49 +0000)]
* .version: bumped version number to 2.4.5
* support/Util/SDCCerr.h: added warning W_POSSBUG2.
* support/Util/SDCCerr.c (messages structure): added entry for
W_POSSBUG2
Large cumulative patch for pic16 port and libraries.
* device/include/pic16/sdcc-lib.h,
* device/include/asm/pic16/features.h: NEW,
* device/include/pic16/float.h: changes reentrant keyword with
_FS_REENTRANT, added prototype for __fsneq, included sdcc-lib.h
* device/lib/pic16/libsdcc/Makefile: added target directory gptr,
updated target build-libraries to include objects from gptr,
* device/lib/pic16/libsdcc/{char,int,long}/*.c: added macro
_IL_REENTRANT to all function headings, included sdcc-lib.h header,
* device/lib/pic16/libsdcc/float/*.c: added macro _FS_REENTRANT to
all function headings,
* src/SDCCmain.c: added global parameter userIncDirsSet,
* (parseCmdLine): when option -I is encountered add directory to
userIncDirsSet too,
* src/version.awk: added space between control and long,
* src/pic16/NOTES: added some notes for the port,
* src/pic16/gen.c: added prototype for mov2fp function,
* (fReturnpic16[]): properly named return value registers,
* (_G structure): added fields stackRegSet, fregsUsed, stack_lat,
* (aopForSym): added code to handle symbols with onStack flag set,
symbols onStack are allocated PTRSIZE bytes,
* (aopFreeAsmop): handles special case where asmops are stack objects,
* (aopGet, pic16_popGet): adde cod to handle new asmop AOP_STA,
* (pic16_popGetTempReg, pic16_popGetTempRegCond, pic16_popReleaseTempReg):
added argument lock to trace flaws in allocating temporary registers
when developing port,
* (pic16_popGetLit, pic16_popGetLit2): changed lit from unsigned to signed
* (pic16_popRegFromString): reenabled allocating a direct register
from string,
* (assignResultValue): various beautifications,
* fixed bug #1037717 (patch from R. Neider & D. Wrinkler) with mistaken
referenced function argument,
* (genIpush): reenabled to allow stacked arguments, handles only
ic->parmPush iCodes,
* (genCall, genPcall): major changes to allow for variable argument
functions, fixed a bug with falsely restoring stack pointer after
returning from call,
* (genFunction): pending code for critical function,
* (shiftR1Left2ResultSigned, shiftR1Left2Result, shiftL2Left2Result,
* (shiftR2Left2Result, shiftLLong) applied patch #1032155 from R.Neider,
* (genNearPointerGet): fixed bug with indirect reading, was always
reading from INDF0
* (genGenPointerGet, genGenPointerSet): rewrote to support generic
pointers,
* (genAddrOf): rewrote code to take address of a stacked function parameter
* (genCast): fixed casting to generic pointer type,
* src/pic16/gen.h: added AOP_STA,
* (struct asmop): added field stk,
* src/pic16/genarith.c (pic16_AopType): handle AOP_STA,
* (pic16_genPlusIncr): changed emitSKPNZ to emitSKPNZ,
* (pic16_genAddLit, pic16_genPlus): applied patch #1034042 by tecodev,
* (pic16_genMinus): fixed bug #1035119 with patch submitted by tecodev,
* src/pic16/genutils.c (pic16_genNot): removed symbol *tlbl,
* src/pic16/glue.c (pic16_printGPPointerType): fixed to support new
generic pointers,
* src/pic16/main.c (_pic16_initPaths): ignores default SDCC include
and library paths,
* (pic16_port structure): generic pointer size is set to 3,
* src/pic16/pcode.c (pic16_newpCodeOpLit): correctly print literal integer,
* (insertBankSwitch): cast to (char *) to prevent 64bit CPUs'
compiler warning,
* src/pic16/ralloc.c (allocReg): prevent allocating register when
operand is an iTemp,

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3513 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* device/include/pic16/sdcc-lib.h: NEW,
vrokas [Fri, 1 Oct 2004 14:32:06 +0000 (14:32 +0000)]
* device/include/pic16/sdcc-lib.h: NEW,
* device/include/pic16/float.h: changes reentrant keyword with
_FS_REENTRANT, added prototype for __fsneq, included sdcc-lib.h

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3512 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agodevice/include/asm/pic16/features.h: NEW
vrokas [Fri, 1 Oct 2004 14:31:24 +0000 (14:31 +0000)]
device/include/asm/pic16/features.h: NEW

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3511 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agoa new function for startup (_main)
mhelmling [Mon, 27 Sep 2004 05:17:31 +0000 (05:17 +0000)]
a new function for startup (_main)
to step throu

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3510 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago*** empty log message ***
mhelmling [Fri, 24 Sep 2004 17:24:28 +0000 (17:24 +0000)]
*** empty log message ***

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3509 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agoset PC if a symbol at pc reg is set
mhelmling [Fri, 24 Sep 2004 17:18:36 +0000 (17:18 +0000)]
set PC if a symbol at pc reg is set

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3508 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agoaddapt new syntax of s51
mhelmling [Fri, 24 Sep 2004 17:17:27 +0000 (17:17 +0000)]
addapt new syntax of s51

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3507 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* src/pic16/genutils.c (pic16_genNot): fixed bug #1032265,
vrokas [Fri, 24 Sep 2004 08:13:07 +0000 (08:13 +0000)]
* src/pic16/genutils.c (pic16_genNot): fixed bug #1032265,
* src/pic16/pcode.c: commented out some calls to free() in order to
fix bug #989576,

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3506 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* src/SDCCicode.h,
epetrich [Thu, 23 Sep 2004 05:11:43 +0000 (05:11 +0000)]
* src/SDCCicode.h,
* src/SDCCicode.c (isiCodeInFunctionCall),
* src/avr/ralloc.c (selectSpil),
* src/pic/ralloc.c (selectSpil),
* src/pic16/ralloc.c (selectSpil),
* src/ds390/ralloc.c (selectSpil),
* src/hc08/ralloc.c (selectSpil),
* src/xa51/ralloc.c (selectSpil),
* src/mcs51/ralloc.c (selectSpil): Don't use remainSpil to spill to the
stack in the middle of a function call sequence (fixes bug #1020268)
* src/SDCCicode.c (geniCodeJumpTable): fixed error in computing the
costs associated with the minimum switch case.

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3505 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agoDS5000 bug corected
bela [Wed, 22 Sep 2004 06:03:21 +0000 (06:03 +0000)]
DS5000 bug corected

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3504 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agoDallas DS5000 MCON register definition corrected
bela [Tue, 21 Sep 2004 06:19:39 +0000 (06:19 +0000)]
Dallas DS5000 MCON register definition corrected

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3503 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* src/SDCC.lex: fixed bug #1030549
epetrich [Sun, 19 Sep 2004 17:01:25 +0000 (17:01 +0000)]
* src/SDCC.lex: fixed bug #1030549

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3502 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* src/SDCCcse.h (struct cseDef),
epetrich [Sun, 19 Sep 2004 01:09:16 +0000 (01:09 +0000)]
* src/SDCCcse.h (struct cseDef),
* src/SDCCcse.c (cseBBlock, newCseDef, ifFromAddrTaken): purge CSEs
over a function call if the CSE is derived from a symbol whose
address has been taken (fixes bug #1029883)
* support/regression/tests/bug-1029883: a new regression test for
this bug

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3501 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* src/hc08/gen.c (emitinline): fixed bug #1029778
epetrich [Sat, 18 Sep 2004 03:07:25 +0000 (03:07 +0000)]
* src/hc08/gen.c (emitinline): fixed bug #1029778
* src/SDCC.y (assignment_expr): fixed the grammer so that assignment
to a cast object is no longer a syntax error ("fixes" bug #1030006,
and starts toward RFE #905167)

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3500 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* src/pic16/gen.c (mov2f): New function to move an operand to
vrokas [Fri, 17 Sep 2004 00:27:35 +0000 (00:27 +0000)]
* src/pic16/gen.c (mov2f): New function to move an operand to
another without considering if it is a literal or a register,
* (pic16_sameRegs): don't check if they are both AOP_REG,
* (AccRsh): removed andmask=0 lines,
* (genLeftShift): duplicated to be improved in future versions,
* src/pic16/main.c (_process_pragma): emit stack default size in hex,
* src/pic16/pcode.c: added POC_INFSNZW, updated inverted_op fields
in POC_INCFSZ, POC_INCFSZW, POC_INFSNZ,
* (pic16initMnemonics): added initialization for POC_INFSNZW,
* (insertBankSwitch): fixed inserting banksel directives algorithm
for instructions that follow a skip instruction, this fixes a report
for broken subtraction code generation,
* src/pic16/ralloc.c (deassignLRs): do not free register if current
iCode is a left op, just in case result and right share the same
registers

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3499 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* src/hc08/main.c,
epetrich [Thu, 16 Sep 2004 07:10:57 +0000 (07:10 +0000)]
* src/hc08/main.c,
* src/hc08/gen.c (genJumpTable): more efficient jump table, supports
preservation of HX
* src/hc08/gen.c (pullRegs): fixed order of HX & XA pairs
* src/mcs51/ralloc.c (packRegisters): removed the patch applied
on 2004-09-12; it was buggy

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3498 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* src/SDCCsymt.h: removed RESULT_CHECK
bernhardheld [Wed, 15 Sep 2004 12:06:05 +0000 (12:06 +0000)]
* 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

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3497 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* src/SDCCicode.c (piCode): applied patch from Raphael Neider,
vrokas [Wed, 15 Sep 2004 00:17:07 +0000 (00:17 +0000)]
* 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

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3496 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* src/pic16/main.c (_parseOptions): removed unused variable tmp
vrokas [Mon, 13 Sep 2004 21:50:07 +0000 (21:50 +0000)]
* src/pic16/main.c (_parseOptions): removed unused variable tmp

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3495 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* src/pic16/device.h (pic16_options): removed field use_crt,
vrokas [Mon, 13 Sep 2004 21:48:14 +0000 (21:48 +0000)]
* 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,

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3494 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* src/mcs51/ralloc.c (packRegisters): applied fix by Bernhard Held
maartenbrock [Sun, 12 Sep 2004 17:04:57 +0000 (17:04 +0000)]
* src/mcs51/ralloc.c (packRegisters): applied fix by Bernhard Held
  for bugs 898889 & 979599. Fixed sigsegv in previous fix.

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3493 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* src/mcs51/ralloc.c (packRegisters): applied fix by Bernhard Held
maartenbrock [Sun, 12 Sep 2004 16:41:06 +0000 (16:41 +0000)]
* src/mcs51/ralloc.c (packRegisters): applied fix by Bernhard Held
  for bugs 898889 & 979599. Also used some safer print instructions.

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3492 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* src/pic16/device.h (pic16_options_t): added field use_crt,
vrokas [Sun, 12 Sep 2004 11:43:22 +0000 (11:43 +0000)]
* 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,
* pcode.c,
* pcode.h: added some structures and functions for a new
optimization scheme to compansete 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

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3491 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agoAdded ucsim and as docs to archive
bernhardheld [Sun, 12 Sep 2004 08:42:29 +0000 (08:42 +0000)]
Added ucsim and as docs to archive

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3490 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* doc/Makefile,
bernhardheld [Sun, 12 Sep 2004 08:19:47 +0000 (08:19 +0000)]
* 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

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3489 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* doc/sdccman.lyx: fixed a problem with my new index entries (thanks
epetrich [Fri, 10 Sep 2004 19:00:44 +0000 (19:00 +0000)]
* doc/sdccman.lyx: fixed a problem with my new index entries (thanks
Frieder) and clarified the default code optimization mode

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3488 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* src/SDCC.lex (doPragma, process_pragma),
epetrich [Fri, 10 Sep 2004 06:38:16 +0000 (06:38 +0000)]
* 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

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3487 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* src/SDCCicode.c (geniCodePostInc, geniCodePreInc, geniCodePostDec,
maartenbrock [Thu, 9 Sep 2004 16:44:26 +0000 (16:44 +0000)]
* 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

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3486 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agoPIC port changes.
slade_rich [Thu, 9 Sep 2004 02:15:27 +0000 (02:15 +0000)]
PIC port changes.

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3485 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agoCopy C code comments to optimised replacement code.
slade_rich [Thu, 9 Sep 2004 02:13:05 +0000 (02:13 +0000)]
Copy C code comments to optimised replacement code.

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3484 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agoWhen no max ram set validate full memory range.
slade_rich [Thu, 9 Sep 2004 02:09:13 +0000 (02:09 +0000)]
When no max ram set validate full memory range.

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3483 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* device/lib/_gptrget.c,
maartenbrock [Wed, 8 Sep 2004 05:46:46 +0000 (05:46 +0000)]
* 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

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3482 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* doc/sdccman.lyx: updated section on switch statements, added section about semaphor...
frief [Tue, 7 Sep 2004 07:02:35 +0000 (07:02 +0000)]
* 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

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3481 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agoadded option -info for latex2html
frief [Tue, 7 Sep 2004 07:01:30 +0000 (07:01 +0000)]
added option -info for latex2html

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3480 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago__XPAGE instead of P2 in outcommented code
frief [Tue, 7 Sep 2004 07:00:17 +0000 (07:00 +0000)]
__XPAGE instead of P2 in outcommented code

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3479 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agoupdated section on switch statements, added section about semaphore locking
frief [Tue, 7 Sep 2004 06:59:12 +0000 (06:59 +0000)]
updated section on switch statements, added section about semaphore locking

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3478 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agoChanged PIC14 code to not set bit RP1 when maxram is less than 0x100.
slade_rich [Mon, 6 Sep 2004 01:45:35 +0000 (01:45 +0000)]
Changed PIC14 code to not set bit RP1 when maxram is less than 0x100.

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3477 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years agoBug fixes for PIC14 - signed RSHIFT problem. Patch supplied by Allen(agschrum).
slade_rich [Mon, 6 Sep 2004 00:19:51 +0000 (00:19 +0000)]
Bug fixes for PIC14 - signed RSHIFT problem. Patch supplied by Allen(agschrum).

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3476 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* src/port.h,
epetrich [Mon, 6 Sep 2004 00:06:24 +0000 (00:06 +0000)]
* 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.

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3475 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* src/hc08/ralloc.c (canDefAccResult): multi-byte shift is unsafe for
epetrich [Thu, 2 Sep 2004 14:24:21 +0000 (14:24 +0000)]
* src/hc08/ralloc.c (canDefAccResult): multi-byte shift is unsafe for
accumulator result if it needs sign extension

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3474 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* src/hc08/ralloc.c (canUseAccOperand): fixed comparison bug
maartenbrock [Thu, 2 Sep 2004 14:18:03 +0000 (14:18 +0000)]
* src/hc08/ralloc.c (canUseAccOperand): fixed comparison bug

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3473 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* device/lib/gbz80/printf.c,
maartenbrock [Thu, 2 Sep 2004 13:56:05 +0000 (13:56 +0000)]
* device/lib/gbz80/printf.c,
* device/lib/z80/printf.c: removed define for NULL

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3472 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* as/xa51/xa_link.c,
maartenbrock [Thu, 2 Sep 2004 11:49:18 +0000 (11:49 +0000)]
* 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

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3471 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* src/hc08/ralloc.c (canDefAccResult, canUseAccOperand,
epetrich [Thu, 2 Sep 2004 05:48:13 +0000 (05:48 +0000)]
* 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

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3470 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* device/lib/sprintf.c: forgot to add this file before previous commit
maartenbrock [Wed, 1 Sep 2004 18:31:27 +0000 (18:31 +0000)]
* device/lib/sprintf.c: forgot to add this file before previous commit

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3469 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* src/pic16/gen.c (genPackBits): added operand right in function
vrokas [Wed, 1 Sep 2004 10:16:29 +0000 (10:16 +0000)]
* 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,

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3468 4a8a32a2-be11-0410-ad9d-d568d2c75423

19 years ago* device/include/stdio.h: added NULL, size_t, typedef pfn_outputchar,
maartenbrock [Tue, 31 Aug 2004 17:06:35 +0000 (17:06 +0000)]
* 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

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3467 4a8a32a2-be11-0410-ad9d-d568d2c75423