fw/sdcc
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

19 years ago* src/SDCCpeeph.c (labelIsReturnOnly): support hc08 rts opcode also
epetrich [Tue, 31 Aug 2004 07:46:41 +0000 (07:46 +0000)]
* 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)

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

19 years ago* device/lib/acosf.c (acosf),
epetrich [Tue, 31 Aug 2004 04:19:16 +0000 (04:19 +0000)]
* 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

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

19 years ago* device/lib/pic16/Makefile.common.in: added MODELFLAGS again, it was erroneously...
bernhardheld [Mon, 30 Aug 2004 06:30:48 +0000 (06:30 +0000)]
* device/lib/pic16/Makefile.common.in: added MODELFLAGS again, it was erroneously deleted

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

19 years ago* src/hc08/gen.c (loadRegFromAop): better use of clra & clrx
epetrich [Mon, 30 Aug 2004 05:04:03 +0000 (05:04 +0000)]
* 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

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

19 years agooops
bernhardheld [Sun, 29 Aug 2004 12:58:18 +0000 (12:58 +0000)]
oops

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

19 years ago* device/lib/pic16/Makefile.common.in: added $(MM) to fix `make clean`
bernhardheld [Sun, 29 Aug 2004 12:57:07 +0000 (12:57 +0000)]
* 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

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

19 years ago* device/lib/pic16/Makefile.common.in: added $(MM) to fix `make clean`
bernhardheld [Sun, 29 Aug 2004 12:47:49 +0000 (12:47 +0000)]
* 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

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

19 years ago* src/pic16/gen.c (genFunction, genEndFunction): fixed return
vrokas [Sun, 29 Aug 2004 10:26:33 +0000 (10:26 +0000)]
* src/pic16/gen.c (genFunction, genEndFunction): fixed return
instruction for interrupt handlers, use fast returns when returning
from high priority interrupts

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

19 years ago* src/hc08/gen.c (genAnd, genOr, transferAopAop, rmwWithAop): optimized
epetrich [Sun, 29 Aug 2004 07:44:29 +0000 (07:44 +0000)]
* 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)

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

19 years ago* src/hc08/gen.c (shiftL2Left2Result): fix for bug-500536 regression
epetrich [Sat, 28 Aug 2004 06:54:24 +0000 (06:54 +0000)]
* src/hc08/gen.c (shiftL2Left2Result): fix for bug-500536 regression
test

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

19 years ago* src/SDCCsymt.c (processFuncArgs): make sure parameter types
epetrich [Sat, 28 Aug 2004 05:48:48 +0000 (05:48 +0000)]
* 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

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

19 years ago* src/hc08/gen.c (genPackBitsImmed, genUnpackBitsImmed): fix offset
epetrich [Sat, 28 Aug 2004 00:10:41 +0000 (00:10 +0000)]
* src/hc08/gen.c (genPackBitsImmed, genUnpackBitsImmed): fix offset
problem in bitfields >= 8 bits.

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

19 years ago* src/SDCCsymt.c: undid changes that were not meant to be committed
maartenbrock [Fri, 27 Aug 2004 15:46:51 +0000 (15:46 +0000)]
* src/SDCCsymt.c: undid changes that were not meant to be committed

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

19 years ago* support/regression/ports/hc08spec.mk: REENTRANT must be reentrant
maartenbrock [Fri, 27 Aug 2004 14:06:35 +0000 (14:06 +0000)]
* support/regression/ports/hc08spec.mk: REENTRANT must be reentrant

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

19 years ago* src/hc08/gen.c (genUminusFloat): fixed bug where only 3 bytes were
maartenbrock [Fri, 27 Aug 2004 13:52:48 +0000 (13:52 +0000)]
* src/hc08/gen.c (genUminusFloat): fixed bug where only 3 bytes were
  copied and wrong bit got inverted

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

19 years ago* src/hc08/gen.c (genPointerSet, genFarPointerSet): moved code from
epetrich [Fri, 27 Aug 2004 06:46:26 +0000 (06:46 +0000)]
* 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

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

19 years ago* src/mcs51/gen.c (genPointerGet, genNearPointerGet, genPagedPointerGet,
epetrich [Tue, 24 Aug 2004 06:41:21 +0000 (06:41 +0000)]
* src/mcs51/gen.c (genPointerGet, genNearPointerGet, genPagedPointerGet,
genFarPointerGet, genCodePointerGet, genGenPointerGet, genUnpackBits),
* src/mcs51/ralloc.c (packRegisters): optimze pointer get values used as
conditionals

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

19 years agosrc/mcs51/peeph.def: peepholes 248.i-m for xdata bitfields. See thread on [Sdcc-user...
frief [Sun, 22 Aug 2004 18:38:39 +0000 (18:38 +0000)]
src/mcs51/peeph.def: peepholes 248.i-m for xdata bitfields. See thread on [Sdcc-user] Using bit fields

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

19 years ago* src/mcs51/ralloc.c (packRegsForOneuse): fixed bug #1012650 and some
epetrich [Sat, 21 Aug 2004 21:10:18 +0000 (21:10 +0000)]
* src/mcs51/ralloc.c (packRegsForOneuse): fixed bug #1012650 and some
related problems

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

19 years agobison's rule makes trouble too
bernhardheld [Sat, 21 Aug 2004 12:54:16 +0000 (12:54 +0000)]
bison's rule makes trouble too

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

19 years ago* sim/ucsim/cmd.src/Makefile.in: run lex only if $(PRJDIR)/devel exists
bernhardheld [Fri, 20 Aug 2004 22:32:32 +0000 (22:32 +0000)]
* sim/ucsim/cmd.src/Makefile.in: run lex only if $(PRJDIR)/devel exists

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

19 years ago* src/z80/ralloc.c (packRegsForAssign): ported some bug fixes from the
epetrich [Wed, 18 Aug 2004 05:06:00 +0000 (05:06 +0000)]
* src/z80/ralloc.c (packRegsForAssign): ported some bug fixes from the
mcs51 port

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

19 years agoPic port - Restored fn genRet as previous fix was incorrect.
slade_rich [Mon, 16 Aug 2004 00:15:43 +0000 (00:15 +0000)]
Pic port - Restored fn genRet as previous fix was incorrect.

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

19 years agoRestored fn genRet as previous fix was incorrect.
slade_rich [Mon, 16 Aug 2004 00:14:42 +0000 (00:14 +0000)]
Restored fn genRet as previous fix was incorrect.

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

19 years ago2004-08-14 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
frief [Sat, 14 Aug 2004 14:10:03 +0000 (14:10 +0000)]
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

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

19 years agosrc/mcs51/gen.c (genJumpTab): jumptables for more than 16 switch cases use more compa...
frief [Sat, 14 Aug 2004 14:07:58 +0000 (14:07 +0000)]
src/mcs51/gen.c (genJumpTab): jumptables for more than 16 switch cases use more compact code

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

19 years agoPic port - Fixed problem with fn returning a variable bigger than a char.
slade_rich [Thu, 12 Aug 2004 23:46:26 +0000 (23:46 +0000)]
Pic port - Fixed problem with fn returning a variable bigger than a char.

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

19 years agoFixed problem with fn returning a variable bigger than a char.
slade_rich [Thu, 12 Aug 2004 23:45:26 +0000 (23:45 +0000)]
Fixed problem with fn returning a variable bigger than a char.

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

19 years ago* src/SDCClrange.c (findPrevUse): fixed bug #1007371
epetrich [Thu, 12 Aug 2004 04:42:43 +0000 (04:42 +0000)]
* src/SDCClrange.c (findPrevUse): fixed bug #1007371

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

19 years ago* src/SDCCsymt.h,
epetrich [Thu, 12 Aug 2004 02:32:05 +0000 (02:32 +0000)]
* 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

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

19 years agoPic code - Added struct initialisation fn printIvalStruct.
slade_rich [Thu, 12 Aug 2004 00:19:09 +0000 (00:19 +0000)]
Pic code - Added struct initialisation fn printIvalStruct.

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

19 years agoAdded struct initialisation fn printIvalStruct.
slade_rich [Thu, 12 Aug 2004 00:15:31 +0000 (00:15 +0000)]
Added struct initialisation fn printIvalStruct.

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

19 years agoPic port - Printing rIdx on internal verbose debug.
slade_rich [Wed, 11 Aug 2004 01:18:08 +0000 (01:18 +0000)]
Pic port - Printing rIdx on internal verbose debug.

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

19 years agoPrinting rIdx on internal verbose debug.
slade_rich [Wed, 11 Aug 2004 01:17:18 +0000 (01:17 +0000)]
Printing rIdx on internal verbose debug.

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

19 years agosab80515 dapr address corrected
bela [Tue, 10 Aug 2004 12:16:33 +0000 (12:16 +0000)]
sab80515 dapr address corrected

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

19 years agoport P6 added to sab80515.h
bela [Tue, 10 Aug 2004 12:05:59 +0000 (12:05 +0000)]
port P6 added to sab80515.h

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

19 years agoPic port - Will no longer exit if #pragma maxram has not been defined.
slade_rich [Tue, 10 Aug 2004 01:25:01 +0000 (01:25 +0000)]
Pic port - Will no longer exit if #pragma maxram has not been defined.

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

19 years agoWill no longer exit if #pragma maxram has not been defined.
slade_rich [Tue, 10 Aug 2004 01:23:04 +0000 (01:23 +0000)]
Will no longer exit if #pragma maxram has not been defined.

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