fw/sdcc
19 years agobug fixes
drdani [Tue, 27 Jul 2004 13:42:53 +0000 (13:42 +0000)]
bug fixes

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

19 years agofix of includes
drdani [Mon, 26 Jul 2004 17:41:39 +0000 (17:41 +0000)]
fix of includes

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

19 years ago* support/valdiag/tests/overflow.c: fixed warning on (1 >> 40)
bernhardheld [Mon, 26 Jul 2004 07:36:24 +0000 (07:36 +0000)]
* support/valdiag/tests/overflow.c: fixed warning on (1 >> 40)

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

19 years ago* doc/sdccman.lyx: updated example in section "Absolute Addressing"
frief [Sun, 25 Jul 2004 22:28:13 +0000 (22:28 +0000)]
* doc/sdccman.lyx: updated example in section "Absolute Addressing"
* src/mcs51/peeph.def: added contributed fix for "bug" #995347 as peephole 177.e. Thanks to anonymous

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

19 years agoupdated example in section "Absolute Addressing"
frief [Sun, 25 Jul 2004 22:26:59 +0000 (22:26 +0000)]
updated example in section "Absolute Addressing"

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

19 years agoadded contributed fix for "bug" #995347 as peephole 177.e. Thanks to anonymous
frief [Sun, 25 Jul 2004 22:25:49 +0000 (22:25 +0000)]
added contributed fix for "bug" #995347 as peephole 177.e. Thanks to anonymous

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

19 years agoAdded dependency of ChangeLog to version.h
jesusc [Sun, 25 Jul 2004 02:15:03 +0000 (02:15 +0000)]
Added dependency of ChangeLog to version.h

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

19 years ago* src/pic16/glue.c (pic16_printIvalFuncPtr): when an extern
vrokas [Sat, 24 Jul 2004 22:08:23 +0000 (22:08 +0000)]
* src/pic16/glue.c (pic16_printIvalFuncPtr): when an extern
function isn't used in the source but referenced as a
variable initializer then declare it as extern in .asm file

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

19 years ago* (rule Makefile.dep): added dependency version.h,
vrokas [Sat, 24 Jul 2004 18:01:53 +0000 (18:01 +0000)]
* (rule Makefile.dep): added dependency version.h,

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

19 years ago* (rule dep): added dependency version.h,
vrokas [Sat, 24 Jul 2004 17:59:02 +0000 (17:59 +0000)]
* (rule dep): added dependency version.h,

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

19 years agoAdded creation of version.h to project
jesusc [Sat, 24 Jul 2004 16:27:29 +0000 (16:27 +0000)]
Added creation of version.h to project

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

19 years ago* .version: increased version number to 2.4.3
vrokas [Sat, 24 Jul 2004 11:38:30 +0000 (11:38 +0000)]
* .version: increased version number to 2.4.3
Adding version extension according to ChangeLog CVS revision
* src/Makefile.in (target all): added dependency 'version.h'
* (rule version.h): added rule to create version.h from ChangeLog
* src/version.awk: AWK script to create version.h
* src/SDCCdwarf2.c (dwWriteModule),
* src/SDCCglue.c (initialComments),
* src/SDCCmain.c (printVersionInfo): modified to write after
version string the version extension number,
* src/SDCCutil.c: included "version.h"
* (getBuildNumber): NEW, returns SDCC's ChangeLog minor revision
number,
* src/SDCCutil.h: added prototype for getBuildNumber
* src/SDCCmain.c (parseCmdLine): when sOpt is 'I' add rest in
includeDirsSet, too,
* src/SDCCsymt.c (checkSClass): don't emit error when a variable,
const char [] is found in function prototype...
* src/pic16/genarith.c (pic16_genUMult8XLit_8): optimization to omit
moving to WREG with source is already in WREG,
* src/pic16/gen.h: added AOP_FSR0 and AOP_FSR2 in enum,
* src/pic16/gen.c (getFreePtr): updated to look for FSR0 and FSR2,
* (aopForSym): stack'ed symbols are partially supported, added
if-clause to support symbols in FARSPACE,
* (sameRegs): added test for AOP_ACC to see if registers are same,
* (pic16_freeAsmop): added case for AOP_FSR0 and AOP_FSR2,
* (pic16_aopGet): added case for AOP_FSR0 and AOP_FSR2,
* (pic16_popRegFromString): will not allocate a new register if it
doesn't find one by name, bug may have introduced...
* (pic16_popGet): added case for AOP_FSR0 and AOP_FSR2,
* (genIpush): revived to use pic16 port's stack,
* (genAddrOf): added incomplete case for stack'ed operand,
* (genCast): optimized a pair of MOVFW,MOVWF to MOVFF
* src/pic16/genutils.c (pic16_genNot): almot new vesrion for NOT,
can handle multibyte operands,
* src/pic16/glue.c (pic16_printIval*): some debug info added,
* (pic16initialComments): added message for MPLAB compatibility
mode enabled,
* src/pic16/main.h: prototype for pic16_mplab_comp,
* src/pic16/main.c (pic16_optionsTable): new option --mplab-comp,
which enabled MPLAB compatibility mode (i.e. no #LINE/#FILE, BANKED)
* (_pic16_linkEdit): NEW, handles link stage, transferred here
because of increased complexity of procedure,
* (_process_pragma): stack pragma changed to format 'stack pos len',
emit symbol '_stack_end' to conform with gplink,
* src/pic16/pcode.c (pic16_newpCodeOpBit): using pic16_regWithName
to search for register,
* (pic16_get_op, pic16_get_op2): added case for PO_W, PO_WREG and
PO_GPR_REGISTER,
* (pic16_pCode2str): when in MPLAB compatibility mode, comment out
#LINE directives and replace 'B' with 'BANKED' in instruction opcodes
* (pic16_getRegFromInstruction, pic16_getRegFromInstruction2): added
case for PO_GPR_REGISTER,
* (pic16_AnalyzeBanking): removed the old message for inc2h.pl, past
dies, the new era is ahead !...
* src/pic16/ralloc.c: added hash reposits pic16_dynAllocRegNames and
pic16_dynInternalRegs,
* (pic16_allocregWithName, pic16_procregWithName, pic16_regWithname): NEW,
* (pic16_allocDirReg): minor optimizations and bug fixes,
* (pic16_allocWithIdx): when searching pic16_dynProcessorRegs use fixed,
* device/lib/pic16/startup/crt0*.c: extern definition of stack_end,
load stack and frame pointer with address of 'stack_end' symbol

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

19 years ago* src/SDCCmain.c (parseCmdLine): when sOpt is 'I' add rest in
vrokas [Sat, 24 Jul 2004 11:25:56 +0000 (11:25 +0000)]
* src/SDCCmain.c (parseCmdLine): when sOpt is 'I' add rest in
includeDirsSet, too,
* src/SDCCsymt.c (checkSClass): don't emit error when a variable,
const char [] is found in function prototype...

* src/pic16/genarith.c (pic16_genUMult8XLit_8): optimization to omit
moving to WREG with source is already in WREG,
* src/pic16/gen.h: added AOP_FSR0 and AOP_FSR2 in enum,
* src/pic16/gen.c (getFreePtr): updated to look for FSR0 and FSR2,
* (aopForSym): stack'ed symbols are partially supported, added
if-clause to support symbols in FARSPACE,
* (sameRegs): added test for AOP_ACC to see if registers are same,
* (pic16_freeAsmop): added case for AOP_FSR0 and AOP_FSR2,
* (pic16_aopGet): added case for AOP_FSR0 and AOP_FSR2,
* (pic16_popRegFromString): will not allocate a new register if it
doesn't find one by name, bug may have introduced...
* (pic16_popGet): added case for AOP_FSR0 and AOP_FSR2,
* (genIpush): revived to use pic16 port's stack,
* (genAddrOf): added incomplete case for stack'ed operand,
* (genCast): optimized a pair of MOVFW,MOVWF to MOVFF
* src/pic16/genutils.c (pic16_genNot): almot new vesrion for NOT,
can handle multibyte operands,
* src/pic16/glue.c (pic16_printIval*): some debug info added,
* (pic16initialComments): added message for MPLAB compatibility
mode enabled,
* src/pic16/main.h: prototype for pic16_mplab_comp,
* src/pic16/main.c (pic16_optionsTable): new option --mplab-comp,
which enabled MPLAB compatibility mode (i.e. no #LINE/#FILE, BANKED)
* (_pic16_linkEdit): NEW, handles link stage, transferred here
because of increased complexity of procedure,
* src/pic16/pcode.c (pic16_newpCodeOpBit): using pic16_regWithName
to search for register,
* (pic16_get_op, pic16_get_op2): added case for PO_W, PO_WREG and
PO_GPR_REGISTER,
* (pic16_pCode2str): when in MPLAB compatibility mode, comment out
#LINE directives and replace 'B' with 'BANKED' in instruction opcodes
* (pic16_getRegFromInstruction, pic16_getRegFromInstruction2): added
case for PO_GPR_REGISTER,
* (pic16_AnalyzeBanking): removed the old message for inc2h.pl, past
dies, the new era is ahead !...
* src/pic16/ralloc.c: added hash reposits pic16_dynAllocRegNames and
pic16_dynInternalRegs,
* (pic16_allocregWithName, pic16_procregWithName, pic16_regWithname): NEW,
* (pic16_allocDirReg): minor optimizations and bug fixes,
* (pic16_allocWithIdx): when searching pic16_dynProcessorRegs use fixed,

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

19 years agoAdding version extension according to ChangeLog CVS revision
vrokas [Sat, 24 Jul 2004 09:30:14 +0000 (09:30 +0000)]
Adding version extension according to ChangeLog CVS revision
* src/Makefile.in (target all): added dependency 'version.h'
* (rule version.h): added rule to create version.h from ChangeLog
* src/version.awk: AWK script to create version.h
* src/SDCCdwarf2.c (dwWriteModule),
* src/SDCCglue.c (initialComments),
* src/SDCCmain.c (printVersionInfo): modified to write after
version string the version extension number,
* src/SDCCutil.c: included "version.h"
* (getBuildNumber): NEW, returns SDCC's ChangeLog minor revision
number,
* src/SDCCutil.h: added prototype for getBuildNumber

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

19 years ago* src/pic16/glue.c (pic16emitStaticSeg): fixed bug with files
vrokas [Fri, 23 Jul 2004 13:45:51 +0000 (13:45 +0000)]
* src/pic16/glue.c (pic16emitStaticSeg): fixed bug with files
without source code but only variable initializers

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

19 years ago* src/pic16/glue.c (pic16emitRegularMap): unused functions marked as
vrokas [Tue, 20 Jul 2004 12:59:59 +0000 (12:59 +0000)]
* src/pic16/glue.c (pic16emitRegularMap): unused functions marked as
external are not declared as extern to reduce overhead while linking

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

19 years ago* src/pic16/glue.c (pic16_emitRegularMap): unused functions marked as
vrokas [Tue, 20 Jul 2004 12:50:09 +0000 (12:50 +0000)]
* src/pic16/glue.c (pic16_emitRegularMap): unused functions marked as
external are not declared as extern to reduce overhead while linking

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

19 years ago* src/SDCCast.c (decorateType): removed buggy fix for bug #979599
maartenbrock [Tue, 20 Jul 2004 10:54:24 +0000 (10:54 +0000)]
* src/SDCCast.c (decorateType): removed buggy fix for bug #979599

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

19 years agoeliminate need of flex
drdani [Sun, 18 Jul 2004 10:27:59 +0000 (10:27 +0000)]
eliminate need of flex

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

19 years agoversion 0.5.2
drdani [Sat, 17 Jul 2004 07:13:06 +0000 (07:13 +0000)]
version 0.5.2

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

19 years agoversion 0.5.2
drdani [Fri, 16 Jul 2004 16:36:33 +0000 (16:36 +0000)]
version 0.5.2

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

19 years agonew files of 0.5.2
drdani [Fri, 16 Jul 2004 16:32:30 +0000 (16:32 +0000)]
new files of 0.5.2

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

19 years agoupdating uCsim script files for new version of uCsim
drdani [Fri, 16 Jul 2004 14:27:54 +0000 (14:27 +0000)]
updating uCsim script files for new version of uCsim

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

19 years ago* src/SDCCglue.c (printIvalArray): fixed bug #984229, thanks to Phuah
maartenbrock [Sun, 11 Jul 2004 10:45:26 +0000 (10:45 +0000)]
* src/SDCCglue.c (printIvalArray): fixed bug #984229, thanks to Phuah
  Yee Keat for the patch
* src/SDCCast.c (decorateType): fixed bug #979599
* src/ds390/gen.h: removed local fReturnSizeDS390
* src/ds390/gen.c: made fReturnSizeDS390 signed short to remove a warning
* src/ds390/gen.c (genAnd, genOr, genXor),
* src/mcs51/gen.c (genAnd, genOr, genXor): generate better optimized code

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

19 years ago* device/lib/pic16/libsdcc/float/ updated contents of all sources,
vrokas [Fri, 9 Jul 2004 23:35:21 +0000 (23:35 +0000)]
* device/lib/pic16/libsdcc/float/ updated contents of all sources,
* device/include/pic16/float.h: enabled prototypes of float support
functions,
* src/pic16/pcode.c: fixed bug #974733, nothing to do with _naked
attribute though

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

19 years ago* prototypes for floating point support functions enabled
vrokas [Fri, 9 Jul 2004 23:29:17 +0000 (23:29 +0000)]
* prototypes for floating point support functions enabled

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

19 years ago* sources in device/lib/pic16/libsdcc/float/*.c were empty,
vrokas [Fri, 9 Jul 2004 23:28:16 +0000 (23:28 +0000)]
* sources in device/lib/pic16/libsdcc/float/*.c were empty,
contents updated

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

19 years ago* src/SDCCmain.c (linkEdit): modifications only for pic16 port,
vrokas [Mon, 5 Jul 2004 15:49:34 +0000 (15:49 +0000)]
* src/SDCCmain.c (linkEdit): modifications only for pic16 port,
add relFilesSet to $3, manipulate $2 to handle linking of object
files without source files in command line,
* device/include/pic16 (all headers): added ID location macros,
* src/pic16/device.c (struct PIC16_device Pics16[]): added field
entries for ID location bytes,
* (pic16_assignIdByteValue): NEW,
* src/pic16/device.h: new structures idRegInfo_t and idBytesInfo_t,
added field dumpcalltree to pic16_options_t,
* src/pic16/gen.c (genCmp): fixed bug case so a temporary register
is used instead of pic16_Gstack_base_addr, check if (ifx) before
emitting rFalseIfx label after check_carry label,
* src/pic16/glue.c (PIC16_IS_IDLOC_ADDRESS, PIC16_IS_HWREG_ADDRESS,
pic16_emitDIRegs), NEW
* (pic16glue): dump .calltree file when option --calltree found,
* src/pic16/main.c (OPTION _pic16_optionsTable): new option --calltree
* (_pic16_genAssemblerPreamble): emit ID locations after
configuration registers,
* (pic16_linkCmd): modifications of the link command,
* src/pic16/pcode.c (pic16_pciMOVFF): PCC_REGISTER replaces PCC_REGISTER2
* (pic16_pCodeInitRegisters): don't init stack registers,
* (pic16_findPrevInstruction): fixed bug,
* (pic16_getRegFromInstruction, pic16_getRegFromInstruction2): fixed
bug with immediate registers,
* (buildCallTree): traces stack push and pop,
* (pct2): dump also stack usage for each function,
* src/pic16/ralloc.c (dynrIdx): registers names start from 0x00
* (pic16_allocDirReg): various modifications,
* (pic16_typeRegWithIdx): when searching pic16_dynProcessorRegs set
fixed to 1,

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

19 years agoreplaced lost contents
vrokas [Sun, 4 Jul 2004 09:45:54 +0000 (09:45 +0000)]
replaced lost contents

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

19 years ago* src/SDCCmain.c (linkEdit): modifications only for pic16 port,
vrokas [Sun, 4 Jul 2004 09:30:49 +0000 (09:30 +0000)]
* src/SDCCmain.c (linkEdit): modifications only for pic16 port,
add relFilesSet to $3, manipulate $2 to handle linking of object
files without source files in command line,
* device/include/pic16 (all headers): added ID location macros,
* src/pic16/device.c (struct PIC16_device Pics16[]): added field
entries for ID location bytes,
* (pic16_assignIdByteValue): NEW,
* src/pic16/device.h: new structures idRegInfo_t and idBytesInfo_t,
added field dumpcalltree to pic16_options_t,
* src/pic16/gen.c (genCmp): fixed bug case so a temporary register
is used instead of pic16_Gstack_base_addr, check if (ifx) before
emitting rFalseIfx label after check_carry label,
* src/pic16/glue.c (PIC16_IS_IDLOC_ADDRESS, PIC16_IS_HWREG_ADDRESS,
pic16_emitDIRegs), NEW
* (pic16glue): dump .calltree file when option --calltree found,
* src/pic16/main.c (OPTION _pic16_optionsTable): new option --calltree
* (_pic16_genAssemblerPreamble): emit ID locations after
configuration registers,
* (pic16_linkCmd): modifications of the link command,
* src/pic16/pcode.c (pic16_pciMOVFF): PCC_REGISTER replaces PCC_REGISTER2
* (pic16_pCodeInitRegisters): don't init stack registers,
* (pic16_findPrevInstruction): fixed bug,
* (pic16_getRegFromInstruction, pic16_getRegFromInstruction2): fixed
bug with immediate registers,
* (buildCallTree): traces stack push and pop,
* (pct2): dump also stack usage for each function,
* src/pic16/ralloc.c (dynrIdx): registers names start from 0x00
* (pic16_allocDirReg): various modifications,
* (pic16_typeRegWithIdx): when searching pic16_dynProcessorRegs set
fixed to 1,

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

19 years ago* src/pic16/pcode.c: removed buggy double colon
vrokas [Fri, 2 Jul 2004 16:21:01 +0000 (16:21 +0000)]
* src/pic16/pcode.c: removed buggy double colon

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

19 years agosupport/scripts/sdcc.nsi: added include/pic16 to setup
borutr [Thu, 1 Jul 2004 18:08:07 +0000 (18:08 +0000)]
support/scripts/sdcc.nsi: added include/pic16 to setup

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

19 years ago* device/lib/Makefile.in: fixed bug in target objects-pic16,
vrokas [Wed, 30 Jun 2004 15:20:58 +0000 (15:20 +0000)]
* device/lib/Makefile.in: fixed bug in target objects-pic16,
* device/lib/pic16/Makefile: prefixed with dash (-) command under
target 'clean',
* doc/sdccman.lyx: changed version to 2.4.2 and added some port
specific command line arguments. Also added sample lkr script
for placing a variable at a specific memory bank.
* src/pic16/device.c (pic16_dump_gsection): NEW, to dump variables
at a specific memory bank,
* (pic16_dump_isection): fixed bug which caused string literals to
be omitted when dumping idata section,
* (pic16_groupRegistersInSection): added code to handle registers
in specific memory banks,
* src/pic16/gen.c: labelOffset is prefixed with pic16_ and made
public, all references are renamed too,
* (pic16_aopGet): removed switch cases for AOP_R0,AOP_R1,AOP_DPTR,
AOP_DPTR2,
* (pic16_storeForReturn): added case to handle when dest is WREG,
* src/pic16/genarith.c (pic16_pCodeOpSubType): NEW,
* src/pic16/glue.c (pic16emitRegularMap): when adding a register in
pic16_rel_udata, check to see if that register is marked as being
a member of a specific memory bank,
* (pic16_printIvalCharPtr): added code to add string literals either
to code or the idata sections,
* src/pic16/main.c (_process_pragma): added \n to WHITE constant,
also accept the 'udata' pragma,
* src/pic16/main.h: new structure types sectName and sectSym
* src/pic16/pcode.c: added new pCodeInstruction entry for BANKSEL
* (newpCodeOpBit): added PIC_OPTYPE subt in function prototype,
* (pic16_findPrevInstruction): fixed, it returned nothing,
* (insertBankSwitch): fixed to emit banksel/skip and skip/banksel
instruction combinations,
* (pic16_FixRegisterBanking): heavily reorganised,
* (pic16_AnalyzeBanking): if generating banksel directives is
disabled, then don't call FixRegisterBanking at all,
* src/pic16/ralloc.c (bitEQUs, aliasEQUs, allDefsOutOfRange):
completely removed,
* (pic16_writeUsedRegisters): added call to pic16_dump_gsection

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

19 years ago* src/SDCCglue.c (printChar): fixed bug #973350, patch provided by Phuah Yee Keat...
bernhardheld [Tue, 29 Jun 2004 20:52:05 +0000 (20:52 +0000)]
* src/SDCCglue.c (printChar): fixed bug #973350, patch provided by Phuah Yee Keat <yk.phuah AT nestac.com>

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

19 years ago* src/pic16/glue.c (pic16createInterruptVect): function now emits
vrokas [Mon, 28 Jun 2004 20:17:24 +0000 (20:17 +0000)]
* src/pic16/glue.c (pic16createInterruptVect): function now emits
correctly the IVT even if it is relocated to some other location

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

19 years ago* device/include/pic16/pic18fregs.h: added case for pic18f2220.h
vrokas [Mon, 28 Jun 2004 17:46:22 +0000 (17:46 +0000)]
* device/include/pic16/pic18fregs.h: added case for pic18f2220.h
* device/include/pic16/pic18f2220.h: NEW,
* device/lib/pic16/libdev/pic18f2220.c: NEW,
* device/lib/pic16/libdev/Makefile: added 18f2220 in DEVS,
* src/pic16/device.c (struct Pics16): added info for 18f2220,
* src/pic16/device.h (struct pic16_options): added ivt_loc and
nodefaultlibs, ivt_loc is the location of the interrupt vector
table, and nodefaultlibs signs that default libraries should not be
linked in link stage,
* src/pic16/gen.c (genFunction): relocate interrupt vector functions
according to --ivt-loc argument,
* src/pic16/main.c (_process_pragma): emit '_stack' as public symbol
when pragma stack is found,

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

19 years ago* src/mcs51/peeph.def: added peepholes 182.d (return 0.0), 256 (range check), 257...
frief [Fri, 25 Jun 2004 15:16:49 +0000 (15:16 +0000)]
* src/mcs51/peeph.def: added peepholes 182.d (return 0.0),  256 (range check), 257 (do while), 258.a-f (bit banging f.e. on 3-wire SPI bus),
* Changelog: corrected date of checkin for .version 2.4.2

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

19 years agoadded peepholes 182.d (return 0.0), 256 (range check), 257 (do while), 258.a-f ...
frief [Fri, 25 Jun 2004 15:14:24 +0000 (15:14 +0000)]
added peepholes 182.d (return 0.0),  256 (range check), 257 (do while), 258.a-f (bit banging f.e. on 3-wire SPI bus)

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

19 years ago* src/SDCClrange.c (findNextUseSym): fixed a live range bug with
epetrich [Mon, 21 Jun 2004 15:31:04 +0000 (15:31 +0000)]
* src/SDCClrange.c (findNextUseSym): fixed a live range bug with
variables used exclusively within a loop

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

19 years ago* src/mcs51/gen.c (genCpl): quick fix for bug #974835
bernhardheld [Mon, 21 Jun 2004 11:13:43 +0000 (11:13 +0000)]
* src/mcs51/gen.c (genCpl): quick fix for bug #974835

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

19 years ago* src/SDCClrange.c (computeClash): fixed bug #971834
epetrich [Mon, 21 Jun 2004 04:05:19 +0000 (04:05 +0000)]
* src/SDCClrange.c (computeClash): fixed bug #971834

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

19 years ago* src/mcs51/gen.c (genCmp): fixed bug #975903
epetrich [Sun, 20 Jun 2004 23:02:43 +0000 (23:02 +0000)]
* src/mcs51/gen.c (genCmp): fixed bug #975903
* src/hc08/gen.c (operandsEqu),
* src/ds390/gen.c (operandsEqu),
* src/z80/gen.c (operandsEqu),
* src/pic/gen.c (operandsEqu),
* src/pic16/gen.c (operandsEqu),
* src/mcs51/gen.c (operandsEqu): fixed bug #976283
* src/SDCCmain.c (parseCmdLine): report --unknown-option only once

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

19 years ago* src/SDCCcse.c (cseBBlock): fixed bug #966963
epetrich [Tue, 15 Jun 2004 04:53:51 +0000 (04:53 +0000)]
* src/SDCCcse.c (cseBBlock): fixed bug #966963

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

19 years ago* src/pic16/gen.c (genPointerGet): added E_INTERNAL_ERROR for
vrokas [Sat, 12 Jun 2004 14:18:45 +0000 (14:18 +0000)]
* src/pic16/gen.c (genPointerGet): added E_INTERNAL_ERROR for
default case in switch statement,
* glue.c (pic16_initPointer): expr is initialised via decoarteType
to eliminate problem with initialisation of pointers, but problem
still exists,
* (pic16_pointerTypeToGPByte): removed, no needed for pic16,
* (emitStaticSegment): removed various lines emitting debug info,
* src/pic16/pcode.c, src/pic16/pcode.h, src/pic16/ralloc.h:
added processor registers for utilizing EEPROM,
* src/pic16/pcode.c (pic16_emitDB): number of DBs emitted is not
configurable and set 8

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

19 years ago* commenting out itype declaration to eliminate warnings
vrokas [Wed, 9 Jun 2004 15:31:00 +0000 (15:31 +0000)]
* commenting out itype declaration to eliminate warnings

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

19 years ago* .version: increased version number to 2.4.2,
vrokas [Tue, 8 Jun 2004 14:30:25 +0000 (14:30 +0000)]
* .version: increased version number to 2.4.2,
Cumulative patch for pic16 port
* src/pic16/device.c: changed scheme to dump initial values for
variables in idata segment, all print_idata* functions were removed,
now the pic16_printIval* will be called,
* src/pic16/glue.c: (pic16_initPointer, pic16_pointerTypeToGPByte,
* _pic16_printPointerType, pic16_printPointerType,
* pic16_printGPointerType, pic16_printIvalArray, pic16_printIvalStruct,
* pic16_printIvalBitFields, pic16_printIvalFuncPtr, pic16_printIvalPtr:
NEW, similar to the respective functions in SDCCglue.c,
* src/pic16/pcode.c (pic16_emitDB, pic16_flushDB): reverted to old
way, emitting hex bytes,
* (pic16_emitDS): NEW, emits a string for pointer initialisation,

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

19 years ago* src/avr/ralloc.c (serialRegAssign),
epetrich [Tue, 8 Jun 2004 06:05:47 +0000 (06:05 +0000)]
* src/avr/ralloc.c (serialRegAssign),
* src/xa51/ralloc.c (serialRegAssign),
* src/pic/ralloc.c (serialRegAssign),
* src/pic16/ralloc.c (serialRegAssign),
* src/hc08/ralloc.c (serialRegAssign),
* src/z80/ralloc.c (serialRegAssign),
* src/ds390/ralloc.c (serialRegAssign),
* src/mcs51/ralloc.c (serialRegAssign): fixed bug #964479

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

19 years ago* src/SDCCicode.c (geniCodeJumpTable): fixed bug #967601
epetrich [Tue, 8 Jun 2004 04:04:41 +0000 (04:04 +0000)]
* src/SDCCicode.c (geniCodeJumpTable): fixed bug #967601
* src/SDCCpeeph.c (labelIsReturnOnly): fixed bug #966505

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

19 years agoCumulative patch for pic16 port
vrokas [Sun, 6 Jun 2004 21:25:57 +0000 (21:25 +0000)]
Cumulative patch for pic16 port
* src/pic16/device.h (typedef PIC16_device) modified fields for
defining microcontrollers,
* src/pic16/device.c: added new info for all devices in Pics16 array,
* src/pic16/gen.c (genPcall): fixed bug that caused the return label
to be optimised out by the pCode optimiser,
* src/pic16/glue.c (pic16emitRegularMap): treat implicit aggragates
specially, bug reported by G.M. Gallant,
* src/pic16/pcode.c (pic16_newpCodeLabelFORCE): NEW, marks a label
as force'd so that cannot be optimised out by pCode optimiser,
* src/pic16/pcode.c,
* src/pic16/pcodepeeph.c,
* src/pic16/pcoderegs.c: many modifications to re-enable peepholes,
they are disabled by default, but can be enabled explicit with
command argument --denable-peeps, for testing,
* device/lib/pic16/startup/Makefile: added --no-peep,--pomit-config-words,
--pomit-ivt in COMPILE_FLAGS

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

19 years ago* src/pic16/pcode.c (pic16_emitDB): removed double semicolon which fails
maartenbrock [Sun, 6 Jun 2004 13:17:42 +0000 (13:17 +0000)]
* src/pic16/pcode.c (pic16_emitDB): removed double semicolon which fails
  compilation on MSVC

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

19 years ago* device/include/sab80515.h: added sfr P6, changed GPL to LGPL
maartenbrock [Sun, 6 Jun 2004 09:32:11 +0000 (09:32 +0000)]
* device/include/sab80515.h: added sfr P6, changed GPL to LGPL

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

19 years agodevice/include/sab80515.h: fixed bug #967492, DAPR is defined at adress 0xd8, but...
frief [Sun, 6 Jun 2004 09:20:33 +0000 (09:20 +0000)]
device/include/sab80515.h: fixed bug #967492, DAPR is defined at adress  0xd8, but the correct adress is 0xda. Thanks to anonymous for reporting

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

19 years agofixed bug #967492, DAPR is defined at adress 0xd8, but the correct adress is 0xda...
frief [Sun, 6 Jun 2004 09:16:51 +0000 (09:16 +0000)]
fixed bug #967492, DAPR is defined at adress 0xd8, but the correct adress is 0xda. Thanks to anonymous for reporting

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

19 years ago* src/pic16/device.c (pic16_assignConfigWord): fixed bug that
vrokas [Sun, 6 Jun 2004 08:58:21 +0000 (08:58 +0000)]
* src/pic16/device.c (pic16_assignConfigWord): fixed bug that
would only assign 0x300001 register.

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

19 years ago* device/lib/pic16/startup/Makefile: added $(MODELFLAGS)
vrokas [Sat, 5 Jun 2004 16:19:00 +0000 (16:19 +0000)]
* device/lib/pic16/startup/Makefile: added $(MODELFLAGS)
in COMPILE_FLAGS. Thanks to G. Gallant for report.

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

19 years agodoc/sdccman.lyx: minor changes, mentioned beta vendor support for ds80c400
frief [Sat, 5 Jun 2004 14:00:22 +0000 (14:00 +0000)]
doc/sdccman.lyx: minor changes, mentioned beta vendor support for ds80c400
src/mcs51/peeph.def: ran unexpand -a over peeph.def
src/mcs51/peeph.def: removed obsolete peephole 100.a, added peephole 254 (left shift), 255 (jump table)

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

19 years agoran unexpand -a over peeph.def
frief [Sat, 5 Jun 2004 13:58:11 +0000 (13:58 +0000)]
ran unexpand -a over peeph.def

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

19 years agopeephole 254 disturbed 255
frief [Sat, 5 Jun 2004 13:55:21 +0000 (13:55 +0000)]
peephole 254 disturbed 255

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

19 years agominor changes, mentioned beta vendor support for ds80c400
frief [Sat, 5 Jun 2004 13:43:13 +0000 (13:43 +0000)]
minor changes, mentioned beta vendor support for ds80c400

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

19 years agoremoved obsolete peephole 100.a, added peephole 254 (left shift), 255 (jump table)
frief [Sat, 5 Jun 2004 13:38:49 +0000 (13:38 +0000)]
removed obsolete peephole 100.a, added peephole 254 (left shift), 255 (jump table)

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

19 years ago* initial versions
vrokas [Fri, 4 Jun 2004 23:30:16 +0000 (23:30 +0000)]
* initial versions

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

19 years ago* device/lib/Makefile.in: removed comment line with model-pic16,
vrokas [Fri, 4 Jun 2004 22:44:09 +0000 (22:44 +0000)]
* device/lib/Makefile.in: removed comment line with model-pic16,
* (target port-specific-objects-pic16): the libraries and objects
are copied to the build directory form the device/lib/pic16/bin
directory

Cumulative patch concerning pic16 port:
* library directory has been re-organized,
* added support for PIC18F1220,
* added headers and library sources for chips 18f1220,18f6520,
18f6620,18f6680,18f6720,18f8520,18f8620,18f8680,18f8720

* configuration registers setting has changed, now each supported
device has a complete description of the registers it uses,
* all initialisations are moved to idata sections, these section
can be absolute or relocatable,
* fixed initialisation of codespace variables,
* fixed warning about PCLATU and gpsim,
* src/pic16/gen.c (genCmp): now can handle partially iCodes with no ifx,
* (genAssign): use table reads when assigning from variables in codespace,
* src/pic16/glue.c (pic16emitStaticSeg): fixed to correctly initialise
char/int variables placed in codespace,
* (pic16_emitConfigRegs): NEW, emits a list with configuration
registers set in .asm file, no need for --pomit-config-words anymore,
* (pic16glue): some 8051 legacy segments are commented out
(to be removed completely),
* added support for alternative assembler and linker with --asm=
and --link= command line arguments,
* peepholes are disabled automatically in the port, no need to
specify on command line,
* port supports natively char/int/long multiplication, but converts
all divisions to support functions,
* main.c: pic16_linkCmd and pic16_asmCmd changed to force output
to the file set in variable $2,
* pcode.c (pic16_emitDB, pic16_flushDB): modified to print printable
strings in ASCII format and not in hex,
* ralloc.c (serialRegAssign): added a triplet of conditional calls
to pic16_allocDirReg for IC_RESULT, IC_LEFT and IC_RIGHT so to
allocate proper register if iCodes aren't temporary,

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

19 years ago* support/regression/tests/zeropad.c: added TEST_G macro for alpha build
maartenbrock [Wed, 2 Jun 2004 18:32:25 +0000 (18:32 +0000)]
* support/regression/tests/zeropad.c: added TEST_G macro for alpha build

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

19 years ago* src/pic16/gen.c (genPcall): warning about gpsim and PCLATU
vrokas [Tue, 1 Jun 2004 23:21:47 +0000 (23:21 +0000)]
* src/pic16/gen.c (genPcall): warning about gpsim and PCLATU
is commented out

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

19 years ago* src/hc08/gen.c (genPointerGetSetOfs): disabled optimization if
epetrich [Tue, 1 Jun 2004 21:35:14 +0000 (21:35 +0000)]
* src/hc08/gen.c (genPointerGetSetOfs): disabled optimization if
computed address is reused
* src/hc08/gen.c (genPackBits): fixed offsets in assignments to
multi-byte bitfields

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

19 years ago* src/z80/gen.c: (genArrayInit): must check for pointers too
maartenbrock [Tue, 1 Jun 2004 17:15:57 +0000 (17:15 +0000)]
* src/z80/gen.c: (genArrayInit): must check for pointers too

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

19 years ago * support/regression/tests/zeropad.c: never meant to commit the
maartenbrock [Tue, 1 Jun 2004 11:46:57 +0000 (11:46 +0000)]
* support/regression/tests/zeropad.c: never meant to commit the
  nestedstruct test: removed, added check for GCC version

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

19 years ago* src/SDCCast.c (createIvalArray): fixed bug 770487 SIGSEGV
maartenbrock [Tue, 1 Jun 2004 07:28:02 +0000 (07:28 +0000)]
* src/SDCCast.c (createIvalArray): fixed bug 770487 SIGSEGV
* src/SDCCglue.c (emitRegularMap): fixed bug 770484 allocation problem
* src/SDCCglue.c (initPointer, printIvalType, printIvalStruct, printIvalArray, printIvalFuncPtr, printIvalPtr, printIval): fixed bugs 928906 and 954082 half-empty initializers
* src/SDCCsymt.h,
* src/SDCCsymt.c (getAllocSize): added for above fix
* src/z80/gen.c (genArrayInit): fixed bug 741044
* support/regression/tests/zeropad.c: added tests

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

19 years ago* src/hc08/gen.c (genPointerGetSetOfs): disabled optimization if
epetrich [Tue, 1 Jun 2004 04:46:09 +0000 (04:46 +0000)]
* src/hc08/gen.c (genPointerGetSetOfs): disabled optimization if
computed address is reused
* src/hc08/gen.c (genPackBits): fixed offsets in assignments to
multi-byte bitfields
* support/regression/tests/zeropad.c: disabled the declarations
and tests associated with struct z nestedstruct

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

19 years ago* src/SDCCast.c (createIvalArray): fixed bug 770487 SIGSEGV
maartenbrock [Mon, 31 May 2004 16:22:41 +0000 (16:22 +0000)]
* src/SDCCast.c (createIvalArray): fixed bug 770487 SIGSEGV
* src/SDCCglue.c (emitRegularMap): fixed bug 770484 allocation problem
* src/SDCCglue.c (initPointer, printIvalType, printIvalStruct, printIvalArray, printIvalFuncPtr, printIvalPtr, printIval): fixed bugs 928906 and 954082 half-empty initializers
* src/SDCCsymt.h,
* src/SDCCsymt.c (getAllocSize): added for above fix
* src/z80/gen.c (genArrayInit): fixed bug 741044
* support/regression/tests/zeropad.c: added tests

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

19 years ago* src/pic16/device.c (pic16_dump_section): corrected bug which
vrokas [Sun, 30 May 2004 17:14:59 +0000 (17:14 +0000)]
* src/pic16/device.c (pic16_dump_section): corrected bug which
caused some symbols of the libraries to be misplaced

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

19 years ago* src/pic16/glue.c,
vrokas [Fri, 28 May 2004 14:04:42 +0000 (14:04 +0000)]
* src/pic16/glue.c,
* src/pic16/ralloc.h,
* src/pic16/ralloc.cc: prefixed IS_CONFIG_ADDRESS with PIC16_
to fix conflict with pic port

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

19 years ago* src/pic16/glue.c (pic16emitStaticSeg): do not print as publics or
vrokas [Thu, 27 May 2004 22:19:52 +0000 (22:19 +0000)]
* src/pic16/glue.c (pic16emitStaticSeg): do not print as publics or
externs configuration variables,
* src/pic16/ralloc.h,
* src/pic16/ralloc.cc: IS_CONFIG_ADDRESS is made public and added
prototype in header, commented out some debug messages

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

19 years ago* src/pic16/glue.c,
vrokas [Wed, 26 May 2004 20:23:19 +0000 (20:23 +0000)]
* src/pic16/glue.c,
* src/pic16/main.c,
* src/pic16/pcode.c: added gpasm directives #FILE/#LINE
for gpasm COFF object generation. Thanks to D. Hawkins for
his patch info

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

19 years ago* src/ds390/main.c,
epetrich [Tue, 25 May 2004 22:30:39 +0000 (22:30 +0000)]
* src/ds390/main.c,
* src/mcs51/main.c: fixed sort order of mnemonics (thanks to Maarten
Brock for spotting this)
* src/ds390/gen.c (genEndFunction),
* src/mcs51/gen.c (genEndFunction): always save psw if function is an
interrupt handler and critical. Disable push/pop optimizations when
peephole optimizations disabled.

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

19 years agofixed missing entry of initPaths in xa51, z80, gbz80 port structures
vrokas [Tue, 25 May 2004 11:34:19 +0000 (11:34 +0000)]
fixed missing entry of initPaths in xa51, z80, gbz80 port structures

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

19 years ago* src/pic16/glue.c,
vrokas [Tue, 25 May 2004 11:16:10 +0000 (11:16 +0000)]
* src/pic16/glue.c,
* src/pic16/main.c,
* src/pic16/pcode.c: added gpasm directives #FILE/#LINE
for gpasm COFF object generation. Thanks to D. Hawkins for
his patch info

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

19 years agoUpdated pic16 library sources and headers.
vrokas [Tue, 25 May 2004 10:41:26 +0000 (10:41 +0000)]
Updated pic16 library sources and headers.
* device/lib/pic16/pic18f*/ ,
* device/include/pic16/*.h: modified to handle structured SFR
definitions

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

19 years ago* src/port.h (PORT structure): added hook initPaths, now each
vrokas [Tue, 25 May 2004 10:37:15 +0000 (10:37 +0000)]
* src/port.h (PORT structure): added hook initPaths, now each
port can declare its own default search paths,
which can been seen with the --print-search-dirs option,
see pic16 port for example,
* src/SDCCmain.c (setBinPaths, setIncludePaths, setLibPath,
setDataPaths): test to options.printSearchDirs is ifdef'ed out,
* (doPrintSearchDirs): NEW, replaces in a central manner the
printing of search dirs which was split in set*Paths functions,
* (main): added call to port->initPaths and doPrintSearchDirs,
* src/avr/main.c,
* src/ds390/main.c,
* src/hc08/main.c,
* src/izt/i186.c,
* src/izt/tlcs900h.c,
* src/mcs51/main.c,
* src/pic/main.c,
* src/pic16/main.c: modified port structures to reflect addition of
initPaths hook,

* src/pic16/device.c (regCompare): registers are finally sorted by name,
* (pic16_dump_section): for registers in same address reserve memory once,
* src/pic16/device.h (struct PIC16_device): changed variable gen_banksel
to no_banksel,
* src/pic16/genarith.c (pic16_genPlus): added code to handle cases where
result is greater in size than right or left,
* (pic16_genUMult8X8_8): there are some cases where the result can
be 16 bits size, so handle these,
* src/pic16/gen.c: changed some pic16_emitpcomment to DEBUGpic16_emitcode,
* (pic16_outBitC): modified to emit pcodes,
* (pic16_storeForReturn): using is_LitOp to see if operand is literal
or not,
* (genDivOneByte): implemented algorithm to divide 8-bits,
* (genCmp): uncommented goto, but issues still exist,
* (genAnd): fixed a bug with variables >8bits,
* (genPackBits): optimization added that uses BCF/BSF to change a
single bit,
* (genAssign): fixed bug when assigning floating point literals,
* src/pic16/glue.c (pic16glue): added assembler directive 'code' before
__sdcc_gsinit_startup label,
* src/pic16/main.c (_pic16_init): removed search directory
initialisations,
* (_pic16_initPaths): NEW, used to initialise search directories,
* (_hasNativeMulFor): support functions for all except char/int
multiplication, and char division,
* (PIC16_port struct): modified entry for native mul support,
* src/pic16/pcode.c (insertBankSwitch): modified to support the renamed
no_banksel option,
* (buildCallTree): call to register_usage is ifdef'ed out,

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

19 years ago* src/port.h (PORT structure): added hook initPaths, now each
vrokas [Tue, 25 May 2004 10:30:27 +0000 (10:30 +0000)]
* src/port.h (PORT structure): added hook initPaths, now each
port can declare its own default search paths,
which can been seen with the --print-search-dirs option,
see pic16 port for example,
* src/SDCCmain.c (setBinPaths, setIncludePaths, setLibPath,
setDataPaths): test to options.printSearchDirs is ifdef'ed out,
* (doPrintSearchDirs): NEW, replaces in a central manner the
printing of search dirs which was split in set*Paths functions,
* (main): added call to port->initPaths and doPrintSearchDirs,
* src/avr/main.c,
* src/ds390/main.c,
* src/hc08/main.c,
* src/izt/i186.c,
* src/izt/tlcs900h.c,
* src/mcs51/main.c,
* src/pic/main.c,
* src/pic16/main.c: modified port structures to reflect addition of
initPaths hook,

* src/pic16/device.c (regCompare): registers are finally sorted by name,
* (pic16_dump_section): for registers in same address reserve memory once,
* src/pic16/device.h (struct PIC16_device): changed variable gen_banksel
to no_banksel,
* src/pic16/genarith.c (pic16_genPlus): added code to handle cases where
result is greater in size than right or left,
* (pic16_genUMult8X8_8): there are some cases where the result can
be 16 bits size, so handle these,
* src/pic16/gen.c: changed some pic16_emitpcomment to DEBUGpic16_emitcode,
* (pic16_outBitC): modified to emit pcodes,
* (pic16_storeForReturn): using is_LitOp to see if operand is literal
or not,
* (genDivOneByte): implemented algorithm to divide 8-bits,
* (genCmp): uncommented goto, but issues still exist,
* (genAnd): fixed a bug with variables >8bits,
* (genPackBits): optimization added that uses BCF/BSF to change a
single bit,
* (genAssign): fixed bug when assigning floating point literals,
* src/pic16/glue.c (pic16glue): added assembler directive 'code' before
__sdcc_gsinit_startup label,
* src/pic16/main.c (_pic16_init): removed search directory
initialisations,
* (_pic16_initPaths): NEW, used to initialise search directories,
* (_hasNativeMulFor): support functions for all except char/int
multiplication, and char division,
* (PIC16_port struct): modified entry for native mul support,
* src/pic16/pcode.c (insertBankSwitch): modified to support the renamed
no_banksel option,
* (buildCallTree): call to register_usage is ifdef'ed out,

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

19 years ago* device/include/string.h: applied Stas Sergeev's patch to make this
epetrich [Sat, 22 May 2004 06:03:56 +0000 (06:03 +0000)]
* device/include/string.h: applied Stas Sergeev's patch to make this
header file compatible with the preprocessor -Wundef option
* src/SDCCmain.c (main): abort compilation if preprocessor reports
failure (fixes bug #941458)

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

19 years ago* src/SDCCopt.c (killDeadCode): fixed bug #907733
epetrich [Fri, 21 May 2004 07:09:29 +0000 (07:09 +0000)]
* src/SDCCopt.c (killDeadCode): fixed bug #907733
* support/Util/SDCCerr: reworded E_AUTO_ASSUMED diagnostic to clarify
that the variable, not the function, should be static
* src/SDCCval.c (valCastLiteral): fixed bit initialization from literal
to be consistent with non-literal case

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

19 years ago* src/SDCCast.c (isConformingBody): fixed bug #949967
epetrich [Wed, 19 May 2004 06:27:20 +0000 (06:27 +0000)]
* src/SDCCast.c (isConformingBody): fixed bug #949967
* src/SDCCopt.c (cnvToFcall, cnvToFloatCast, cnvFromFloatCast,
convilong): fixed bug #952086

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

19 years ago* src/SDCCmem.c (allocVariables): fixed bug #955321
epetrich [Tue, 18 May 2004 08:21:26 +0000 (08:21 +0000)]
* src/SDCCmem.c (allocVariables): fixed bug #955321

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

19 years ago* src/hc08/main.c (_hc08_genAssemblerEnd),
epetrich [Tue, 18 May 2004 06:03:07 +0000 (06:03 +0000)]
* src/hc08/main.c (_hc08_genAssemblerEnd),
* src/SDCCdwarf2.c (dwOpenFile, dwCloseFile, dwWriteFunction,
dwWriteModule, dwWriteCLine, dwWriteALine, dwarf2FinalizeFile):
completely eliminated the use of a temporary file
* src/SDCCdwarf2.c (dwWriteAttr): fixed bug with location list offset
when more than one file linked
* src/SDCCloop.c (pointerAssigned): fixed bug #954163

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

19 years ago* src/SDCCval.c (valForArray): applied Maarteen Brock's patch #947682
epetrich [Mon, 17 May 2004 07:15:32 +0000 (07:15 +0000)]
* src/SDCCval.c (valForArray): applied Maarteen Brock's patch #947682
which fixes bug #543481
* support/regression/tests/bug-751703.c: fixed comments left from a
cut and paste error
* src/SDCCdwarf2.c (dwCloseFile): don't explicitly close a temp file
* src/SDCCdwarf2.c (dwTagFromType): added bitfield support
* src/SDCCdwarf2.c (dwWriteSymbolInternal): handle extern within local
scopes
* src/SDCCdwarf2.c (dwWriteLineNumber): line number deltas are signed
* src/SDCCmain.c (processFile, parseCmdLine): non-alphanumeric chars
are now changed to underscores in moduleName

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

19 years agobetter fix for bug #954173
jesusc [Sun, 16 May 2004 02:33:59 +0000 (02:33 +0000)]
better fix for bug #954173

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

19 years ago2004-05-15 Maarten Brock <sourceforge.brock AT dse.nl>
frief [Sat, 15 May 2004 20:59:10 +0000 (20:59 +0000)]
2004-05-15 Maarten Brock <sourceforge.brock AT dse.nl>
        committed by Frieder Ferlemann <Frieder.Ferlemann AT web.de>

        * device/include/c8051f020.h: newly added SiLabs (Cygnal) header file
        * device/include/c8051f000.h,
        * device/include/c8051f120.h,
        * device/include/c8051f300.h,
        * device/include/c8051f310.h,
        * device/include/c8051f320.h: updated (added _XPAGE, CAPN, CAPP,
        PWM16) and detab'ed

2004-05-15 Frieder Ferlemann <Frieder.Ferlemann AT web.de>

        * doc/sdccman.lyx: mentioned sourceforge's delay between web frontend
        and mailing lists, doc'ed --no-peep-comments, removed reference
        to knoppix (newest version has no LyX/LaTeX), other minor changes
        * src/SDCCglue.c (glue): save 2 bytes stack space with
        option --main-return. The ljmp could probably be avoided too

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

19 years agonewly added SiLabs (Cygnal) header file, contributed by Maarten Brock <sourceforge...
frief [Sat, 15 May 2004 20:56:49 +0000 (20:56 +0000)]
newly added SiLabs (Cygnal) header file, contributed by Maarten Brock <sourceforge.brock AT dse.nl>

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

19 years ago* device/include/c8051f000.h, c8051f120.h, c8051f300.h, c8051f310.h, c8051f320.h...
frief [Sat, 15 May 2004 20:55:23 +0000 (20:55 +0000)]
* device/include/c8051f000.h, c8051f120.h, c8051f300.h, c8051f310.h, c8051f320.h: updated (added _XPAGE, CAPN, CAPP, PWM16) and detab'ed

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

19 years agomentioned sourceforge's delay between web frontend and mailing lists,
frief [Sat, 15 May 2004 20:51:52 +0000 (20:51 +0000)]
mentioned sourceforge's delay between web frontend and mailing lists,
doc'ed --no-peep-comments, removed reference to knoppix (newest version has no LyX/LaTeX),
other minor changes

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

19 years agosave 2 bytes stack space with the option --main-return. The ljmp could probably be...
frief [Sat, 15 May 2004 20:48:32 +0000 (20:48 +0000)]
save 2 bytes stack space with the option --main-return. The ljmp could probably be avoided too?

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

19 years agoI forgot to change the date in the last entry.
jesusc [Fri, 14 May 2004 22:27:02 +0000 (22:27 +0000)]
I forgot to change the date in the last entry.

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

19 years agofixed bug [ 954173 ] code size miscalculation
jesusc [Fri, 14 May 2004 21:31:28 +0000 (21:31 +0000)]
fixed bug [ 954173 ] code size miscalculation

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

20 years ago* src/SDCCsymt.h: added IS_AUTO(symbol) test macro
epetrich [Fri, 14 May 2004 21:04:19 +0000 (21:04 +0000)]
* src/SDCCsymt.h: added IS_AUTO(symbol) test macro
* src/SDCCopt.c (isLocalWithoutDef),
* src/SDCCicode.c (operandFromSymbol): use the IS_AUTO test macro
which adds a !IS_EXTERN codition. Fixes bugs #877426 and #751703.
(credit to Maarten Brock for patch #949363, on which this is based)
* support/regression/tests/bug-751703.c: some test cases of extern used
within inner scopes.

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

20 years ago* src/SDCCsymt.h: added IS_AUTO(symbol) test macro
epetrich [Fri, 14 May 2004 20:35:21 +0000 (20:35 +0000)]
* src/SDCCsymt.h: added IS_AUTO(symbol) test macro
* src/SDCCopt.c (isLocalWithoutDef),
* src/SDCCicode.c (operandFromSymbol): use the IS_AUTO test macro
which adds a !IS_EXTERN codition. Fixes bugs #877426 and #751703.
(credit to Maarten Brock for patch #949363, on which this is based)
* support/regression/tests/bug-751703.c: some test cases of extern used
within inner scopes.

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

20 years ago* src/SDCCdwarf2.c (dwMatchTypes): structs must have matching
epetrich [Fri, 14 May 2004 06:30:27 +0000 (06:30 +0000)]
* src/SDCCdwarf2.c (dwMatchTypes): structs must have matching
SPEC_STRUCT
* src/SDCCdwarf2.c (dwTagFromType): fix to handle recursive
struct definitions
* src/SDCCdwarf2.c (dwWriteModule, dwNewDebugSymbol, dwWriteEndFunction,
dwWriteLabel): fix to create valid debugger symbols even when
the module name has non-alphanumeric symbols in it
* src/SDCCdwarf2.c (dwWriteSymbolInternal): better detection for
when a variable's allocation has been optimized away

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

20 years ago * src/hc08/gen.c (hc08_emitDebuggerSymbol),
epetrich [Thu, 13 May 2004 22:10:41 +0000 (22:10 +0000)]
* src/hc08/gen.c (hc08_emitDebuggerSymbol),
* src/hc08/main.c,
* src/mcs51/gen.c (mcs51_emitDebuggerSymbol),
* src/mcs51/main.c,
* src/ds390/gen.c (ds390_emitDebuggerSymbol),
* src/ds390/main.c,
* src/z80/gen.c (z80_emitDebuggerSymbol),
* src/z80/main.c,
* src/pic/gen.c (pic14_emitDebuggerSymbol),
* src/pic/main.c,
* src/pic16/gen.c (pic14_emitDebuggerSymbol),
* src/pic16/main.c,
* src/avr/gen.c (avr_emitDebuggerSymbol),
* src/avr/main.c,
* src/xa51/gen.c (xa51_emitDebuggerSymbol),
* src/xa51/main.c,
* src/SDCCdebug.c (emitDebuggerSymbol),
* src/SDCCdebug.h,
* src/port.h: added a debugger struct to the port struct. Added a
callback for defining debugger symbols

* src/SDCCast.c (createLabel),
* src/SDCC.y (labeled_statement): mark all compiler generated labels
with isitmp = 1
* src/SDCCicode.h,
* src/SDCCicode.c (geniCodeFunctionBody): added a link from the FUNCTION
iCode back to the ast for the function

* src/hc08/ralloc.c (hc08_assignRegisters),
* src/hc08/ralloc.h: define a regs struct for the stack pointer. Removed
unneeded fields from the regs struct.
* src/hc08/gen.c (transferRegReg, genFunction, genEndFunction): use the
pushReg() & pullReg() functions instead of emitcode()

* src/hc08/gen.c (genLabel, genhc08Code),
* src/SDCCdebug.h: Added additional debugger hooks needed for DWARF

* src/cdbFile.c (cdbWriteLabel, cdbWriteScope): Added stubs for unneeded
debugger hooks

* src/hc08/gen.c (genEndFunction, genhc08Code),
* src/hc08/gen.h,
* src/mcs51/gen.c (genEndFunction, gen51Code),
* src/mcs51/gen.h,
* src/ds390/gen.c (genEndFunction, gen390Code),
* src/ds390/gen.h,
* src/z80/gen.c (genEndFunction, genZ80Code),
* src/z80/gen.h,
* src/z80/z80.h,
* src/pic/gen.c (genEndFunction, genpic14Code),
* src/pic/gen.h,
* src/pic16/gen.c (genEndFunction, genpic16Code),
* src/pic16/gen.h,
* src/avr/gen.c (genEndFunction, genAVRCode),
* src/avr/gen.h,
* src/xa51/gen.c (genEndFunction, genXA51Code),
* src/xa51/gen.h,
* src/cdbFile.c (cdbWriteFunction, cdbWriteEndFunction): moved cdb
specific code to cdbFile.c and out of the backend code generators

* as/hc08/lkmain.c (main): removed OMF51 support from link-hc08
* as/hc08/lkarea.c (lnkarea): areas with NOLOAD attribute default
starting address is now 0

* as/hc08/asm.h,
* as/hc08/m08pst.c,
* as/hc08/asmain.c (asmbl): implemented the .sleb128 and .uleb128
assembler directive for DWARF support
* as/hc08/lkelf.c (elf): only increment address when rtflg[] set

* src/src.dsp,
* src/Makefile.in,
* src/SDCCdwarf2.c: preliminary DWARF (ver 2) debugger data generator

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

20 years ago * src/hc08/gen.c (hc08_emitDebuggerSymbol),
epetrich [Thu, 13 May 2004 21:51:54 +0000 (21:51 +0000)]
* src/hc08/gen.c (hc08_emitDebuggerSymbol),
* src/hc08/main.c,
* src/mcs51/gen.c (mcs51_emitDebuggerSymbol),
* src/mcs51/main.c,
* src/ds390/gen.c (ds390_emitDebuggerSymbol),
* src/ds390/main.c,
* src/z80/gen.c (z80_emitDebuggerSymbol),
* src/z80/main.c,
* src/pic/gen.c (pic14_emitDebuggerSymbol),
* src/pic/main.c,
* src/pic16/gen.c (pic14_emitDebuggerSymbol),
* src/pic16/main.c,
* src/avr/gen.c (avr_emitDebuggerSymbol),
* src/avr/main.c,
* src/xa51/gen.c (xa51_emitDebuggerSymbol),
* src/xa51/main.c,
* src/SDCCdebug.c (emitDebuggerSymbol),
* src/SDCCdebug.h,
* src/port.h: added a debugger struct to the port struct. Added a
callback for defining debugger symbols

* src/SDCCast.c (createLabel),
* src/SDCC.y (labeled_statement): mark all compiler generated labels
with isitmp = 1
* src/SDCCicode.h,
* src/SDCCicode.c (geniCodeFunctionBody): added a link from the FUNCTION
iCode back to the ast for the function

* src/hc08/ralloc.c (hc08_assignRegisters),
* src/hc08/ralloc.h: define a regs struct for the stack pointer. Removed
unneeded fields from the regs struct.
* src/hc08/gen.c (transferRegReg, genFunction, genEndFunction): use the
pushReg() & pullReg() functions instead of emitcode()

* src/hc08/gen.c (genLabel, genhc08Code),
* src/SDCCdebug.h: Added additional debugger hooks needed for DWARF

* src/cdbFile.c (cdbWriteLabel, cdbWriteScope): Added stubs for unneeded
debugger hooks

* src/hc08/gen.c (genEndFunction, genhc08Code),
* src/hc08/gen.h,
* src/mcs51/gen.c (genEndFunction, gen51Code),
* src/mcs51/gen.h,
* src/ds390/gen.c (genEndFunction, gen390Code),
* src/ds390/gen.h,
* src/z80/gen.c (genEndFunction, genZ80Code),
* src/z80/gen.h,
* src/z80/z80.h,
* src/pic/gen.c (genEndFunction, genpic14Code),
* src/pic/gen.h,
* src/pic16/gen.c (genEndFunction, genpic16Code),
* src/pic16/gen.h,
* src/avr/gen.c (genEndFunction, genAVRCode),
* src/avr/gen.h,
* src/xa51/gen.c (genEndFunction, genXA51Code),
* src/xa51/gen.h,
* src/cdbFile.c (cdbWriteFunction, cdbWriteEndFunction): moved cdb
specific code to cdbFile.c and out of the backend code generators

* as/hc08/lkmain.c (main): removed OMF51 support from link-hc08
* as/hc08/lkarea.c (lnkarea): areas with NOLOAD attribute default
starting address is now 0

* as/hc08/asm.h,
* as/hc08/m08pst.c,
* as/hc08/asmain.c (asmbl): implemented the .sleb128 and .uleb128
assembler directive for DWARF support
* as/hc08/lkelf.c (elf): only increment address when rtflg[] set

* src/src.dsp,
* src/Makefile.in,
* src/SDCCdwarf2.c: preliminary DWARF (ver 2) debugger data generator

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

20 years ago* src/hc08/gen.c (genJumpTab, emitcode, genhc08code): fixed stack error
epetrich [Tue, 4 May 2004 19:10:40 +0000 (19:10 +0000)]
* src/hc08/gen.c (genJumpTab, emitcode, genhc08code): fixed stack error
and inappropriate peephole optimization in jump tables

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