fw/sdcc
18 years ago* src/SDCCloop.c (loopInvariants): fixed bug #1234048
epetrich [Sat, 23 Jul 2005 03:31:19 +0000 (03:31 +0000)]
* src/SDCCloop.c (loopInvariants): fixed bug #1234048

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

18 years ago* src/hc08/gen.c (genMinus): fixed bug #1241835,
epetrich [Fri, 22 Jul 2005 22:12:41 +0000 (22:12 +0000)]
* src/hc08/gen.c (genMinus): fixed bug #1241835,
  (genModOneByte): removed needless psha/pula

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

18 years ago* src/SDCCmain.c (linkEdit): initialized linkerScriptFileName,
tecodev [Fri, 22 Jul 2005 21:17:53 +0000 (21:17 +0000)]
* src/SDCCmain.c (linkEdit): initialized linkerScriptFileName,
  have PIC14 handled like PIC16, fixes broken pic14 linker calls
* src/pic/gen.c (resolveIfx): do not "invent" labels
* (genSkipc): changed to positive logic
* (genSkipCond): removed as no longer needed
* (pic14_mov2w_regOrLit,genCmp): NEW, replacement for buggy version,
  backport from PIC16
* (genLeftShift): check operands are in different registers
* src/pic/genarith.c (genPlus): replaced INCF with ADDLW as
  INCF does not update CARRY...
* src/pic/main.c: fixed _linkCmd
* src/pic/pcode.c (unlinkpCode): added inactive code
* src/pic/ralloc.c (deassignLRs): keep arguments to shift operations
  alive (do not assign result and operand overlapping registers)

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

18 years ago* src/pic/device.c (dump_sfr): replaced register declaration with
tecodev [Fri, 22 Jul 2005 16:04:56 +0000 (16:04 +0000)]
* src/pic/device.c (dump_sfr): replaced register declaration with
  call to emitSymbolToFile() to avoid duplicate symbols
* (assignRelocatableRegisters): do not declare external symbols
* src/pic/ralloc.c (allocNewDirReg): fixed to get size of arrays
  right (take size of type, not etype)
* (allocDirReg): fixed call to allocNewDirReg() to pass OP_SYM_TYPE
* (writeUsedRegs): also dump dynDirectRegs (e.g. local variables)
* (packRegsForAccUse): disabled assignment of WREG as
  the result reg to prevent occurence of just fixed #1235003,
  fixes #1242954
* src/pic/glue.c (emitSymbolToFile): NEW, central place to declare
  symbols (avoids duplicate symbols in .asm file)
* (pic14emitRegularMap): use emitSymbolToFile()
* src/pic/gen.c (aopOp): fixed spillLocation handling
* (gen{Unp,P}ackBits): fixed acquiring bit-operands
* (genDataPointerSet): removed unneccessary variables/output

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

18 years ago* as/mcs51/lkarea.c: enlarged codemap for banked memory
maartenbrock [Fri, 22 Jul 2005 10:15:23 +0000 (10:15 +0000)]
* as/mcs51/lkarea.c: enlarged codemap for banked memory
* device/lib/mcs51/crtbank.asm: added # to 0x0F

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

18 years ago* src/pic/gen.c (aopOp): do not generate AOP_ACC operands as pic14
tecodev [Thu, 21 Jul 2005 17:39:06 +0000 (17:39 +0000)]
* src/pic/gen.c (aopOp): do not generate AOP_ACC operands as pic14
  architecture cannot handle them efficiently, fixes bug #1235003
* src/pic16/device.c (pic16_dump_{u,i}section,pic16_dump_int_registers):
  check for empty sets before using them (fixes bug #1232190)

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

18 years ago* as/mcs51/lkarea.c (lnkarea, lnkarea2): improved BSEG size calculation,
maartenbrock [Tue, 19 Jul 2005 17:26:34 +0000 (17:26 +0000)]
* as/mcs51/lkarea.c (lnkarea, lnkarea2): improved BSEG size calculation,
  (lnksect2): generate warnings for memory overlap
* src/SDCC.lex (doPragma, process_pragma): added pragma's codeseg and
  constseg to set the name of these segments so you can instruct the linker
  to place them in banks
* src/SDCCast.c (decorateType): use new macro IS_FUNCPTR()
* src/SDCCglobl.h: added MODEL_HUGE to enum,
  added code_seg and const_seg to options
* src/SDCCglue.c (emitMaps): use options.const_seg,
  (createInterruptVect): put interrupt vectors in segment HOME,
  (glue): put HOME before static segment and put the main glue in HOME,
  (glue): use options.code_seg
* src/SDCCicode.c (geniCodeCall): use new macro IS_FUNCPTR()
* src/SDCCmain.c: added option --codeseg and --constseg to set the name of
  these segments so you can instruct the linker to place them in banks
  (linkEdit): use code_loc for HOME segment which should be the first
  segment in code memory now
* src/SDCCmem.c: fixed more stuff like bug 1238386
* src/SDCCsymt.c (getSize): use generic pointer size for banked functions,
  (changePointer): don't change function pointers to code pointers for
  banked functions,
  (compareType): added exceptional check for banked function pointers
* src/SDCCsymt.h: changed IFFUNC_ISBANKEDCALL, added IS_FUNCPTR
* src/hc08/main.c (_hc08_genAssemblerPreamble): put HOME first, put CSEG
  after static in code memory
* src/mcs51/gen.c: added aopLiteralLong prototype,
  (aopForSym): use getSize for functions,
  (genCall): generate banked calls over one trampoline __sdcc_banked_call
  in HOME with lsb of address in r0, msb in r1 and bank in r2, use
  -Wl-bBANKSEG=0xbbaaaa option to set the address (aaaa) and bank (bb) of
  the segment,
  (genPcall): use call for literal function pointers and generate banked
  calls over the one trampoline so there's only one place for the user to
  modify according to his/hers hardware,
  (genEndFunction): jump to __sdcc_banked_ret in HOME for banked functions,
  (genPlusIncr): moved check icount>4 beyond inc dptr optimization
* src/mcs51/main.c: added keyword banked,
  (_mcs51_genExtraAreas): put HOME first followed by GSINIT, STATIC and CSEG
* support/Util/SDCCerr.c,
* support/Util/SDCCerr.h: added E_BANKED_WITH_CALLEESAVES, registers are
  needed for passing the bank and address to the trampoline
* device/lib/mcs51/crtbank.asm: added for bankswitching
* device/lib/mcs51/Makefile: added crtbank

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

18 years ago* src/SDCCcse.c (algebraicOpts): fixed loss of volatility
epetrich [Sat, 16 Jul 2005 03:36:25 +0000 (03:36 +0000)]
* src/SDCCcse.c (algebraicOpts): fixed loss of volatility
  for fields at offset 0 of a struct or union as reported
  on 2005-07-07 in the developer mailing list.

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

18 years ago* src/SDCCmem.c: fixed bug 1238386
maartenbrock [Fri, 15 Jul 2005 19:09:39 +0000 (19:09 +0000)]
* src/SDCCmem.c: fixed bug 1238386

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

18 years agosrc/mcs51/peeph.def: added labelrefcounting for peepholes (patch #1144962), added...
frief [Tue, 12 Jul 2005 21:22:26 +0000 (21:22 +0000)]
src/mcs51/peeph.def: added labelrefcounting for peepholes (patch #1144962), added peephole 300, enabled 259.x

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

18 years agodoc/sdccman.lyx: removed screenshot and provided link instead
frief [Tue, 12 Jul 2005 17:46:06 +0000 (17:46 +0000)]
doc/sdccman.lyx: removed screenshot and provided link instead

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

18 years agoremoved screenshot and provided link instead.
frief [Tue, 12 Jul 2005 17:44:51 +0000 (17:44 +0000)]
removed screenshot and provided link instead.

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

18 years agoAdded missing T2MOD sfr
jesusc [Fri, 8 Jul 2005 16:34:33 +0000 (16:34 +0000)]
Added missing T2MOD sfr

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

18 years agodoc/sdccman.lyx: added section about debugging with ddd
frief [Tue, 5 Jul 2005 19:26:13 +0000 (19:26 +0000)]
doc/sdccman.lyx: added section about debugging with ddd
doc/figures/ddd_example.eps: screenshot of debugging session

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

18 years agoadded section about debugging with ddd
frief [Tue, 5 Jul 2005 19:24:48 +0000 (19:24 +0000)]
added section about debugging with ddd

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

18 years agoscreenshot of debugging session
frief [Tue, 5 Jul 2005 19:23:47 +0000 (19:23 +0000)]
screenshot of debugging session

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

18 years ago* src/pic/gen.c (genPointerGet): handle pointers to CONST values
tecodev [Mon, 4 Jul 2005 15:31:05 +0000 (15:31 +0000)]
* src/pic/gen.c (genPointerGet): handle pointers to CONST values
  like CODE pointers, fixes #1115683
* src/pic/pcode.c (DoBankSelect): forget LastRegIdx during function
  call, fixes bugs #1232211, #1228110,
  fixed wrong casts to pCodeFlow from pCodeInstructions

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

18 years ago* src/pic/gen.c (popGet): changed assert to allow for
tecodev [Mon, 4 Jul 2005 10:48:49 +0000 (10:48 +0000)]
* src/pic/gen.c (popGet): changed assert to allow for
  bit operands
* (popGetAddr): changed signature to provide
  an additional index, patched all call sites
* (genCmpEq): handle literal-like operands correctly
* (genAddrOf): added sanity checks on __code/__data pointers
* (genAssign): added handling of symbols from __code section
* (gencjne): do not generate code for comparisons whose result
  is neither stored nor used, fixes bug #1171114
* (AccLsh, AccRsh): operate on operand instead of WREG
* (shift{Left,Right}_Left2ResultLit): NEW, size independant
  replacement for Shift{LR}{12}Left2Result; shift (byte/int/long)
  by known count
* rewrote complete shift-by-literal logic, commented unused
  functions out
* (genConstPointerGet): get multiple bytes (if result size > 1),
  fixed handling of non-immediate addresses
* (genPointerGet): handle CODE pointers like CONST pointers
* (genpic14Code): insert C-SRC lines as Cource-pCodes
* ({aop,op}_isLitLike): NEW, single place to decide whether an
  operand is to be treated as a literal or not
* (mov2w,genPcall,genCmpEq),
  src/pic/genarith.c: use aop_isLitLike() to decide between
  literal/register contents
* (addSign): added missing offset
* src/pic/gen.h: remove newline after FENTRY/FEXIT comments,
  only emit comment in debug-mode,
  use {aop,op}_isLitLike throughout the file
* src/pic/glue.c: fix initializers for pointers (work in progress)
* src/pic/pcode.c (get_op): honor index on _const symbols
* ({reset,dump}pCodeStatistics): NEW, estimate code size
* (dumppBlock): added pCode size estimation
* src/pic/ralloc.c (deassignLRs,serialRegAssign,packRegisters):
  check for IS_SYMOP before OP_SYMBOL'ing
* fixed indentation, compacted switch-statements
* (allocReg): find free register and allocate it instead of
  allocating new registers all the time
* (deassignLRs): prevent POINTER_GET's from being assigned the same
  registers as its operands (necessary only for multibyte GETs)

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

18 years ago* src/pic/gen.h: added prototypes emitpComment, popGetAddr and
tecodev [Fri, 1 Jul 2005 02:06:44 +0000 (02:06 +0000)]
* src/pic/gen.h: added prototypes emitpComment, popGetAddr and
  debugging .asm-output macros FENRY + FEXIT
* src/pic/gen.c (Safe_vsnprintf): NEW, is there a more generic
  way... I wonder...
* (emitpComment): NEW, printf to pCode
* (popGet): added assert on too large offsets, fixed PO_IMMEDIATE's
  offset handling
* (popGetAddr): NEW, variant of popGet to access an immediates
  high(er) bytes instead of the n'th byte of memory they reference,
  replaced popGet with popGetAddr where neccessary
* (genDataPointerGet): reactivated and fixed implementation
* (genNearPointerGet): enabled call to genDataPointerGet, fixes array-
  accesses
* (genDataPointerSet): fixed multibyte assignments
* (genpic14Code): fixed --i-code-in-asm handling
* src/pic/genarith.c: fixed PO_IMMEDIATE issue using popGetAddr,
* (genPlus): fixed index-out-of-bounds error
* src/pic/pcode.c (get_op): fixed PO_IMMEDIATE's index/offset handling
* src/pic/ralloc.c: added debugging output macro FENTRY2
* (spillThis): fixed indentation, enbraced for-body for clarity
* (rematStr): commented out as now unused
* (regTypeNum): commented out special spill case (overwrites
  arbitrary values)
* fixes bugs #1229346, #1216476 (both arrays) and #1115667 (SIGSEGV)

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

18 years ago* doc/sdccman.lyx: documented sfr16/sfr32,
maartenbrock [Thu, 30 Jun 2005 18:03:33 +0000 (18:03 +0000)]
* doc/sdccman.lyx: documented sfr16/sfr32,
  added example for using storage class with function pointers
* src/mcs51/gen.c (genPlusIncr): optimized small offsets from dptr

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

18 years ago* device/lib/_gptrget.c: also push/pop _PSBANK, added # to 0x03
maartenbrock [Tue, 28 Jun 2005 20:34:12 +0000 (20:34 +0000)]
* device/lib/_gptrget.c: also push/pop _PSBANK, added # to 0x03
* device/lib/_itoa.c,
* device/lib/_ltoa.c: optimized codesize
* src/SDCCsymt.c (checkSClass): added sanity check for sfr at addresses,
  but don't know how to suppress the double warning.
* src/mcs51/gen.c (genPlusIncr): fixed bug when incrementing volatile int's
* support/Util/SDCCerr.c,
* support/Util/SDCCerr.h: added warning W_SFR_ABSRANGE for sanity check

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

18 years ago* as/mcs51/asexpr.c (expr): disabled warning "not in .flat24 mode",
maartenbrock [Mon, 27 Jun 2005 06:03:52 +0000 (06:03 +0000)]
* as/mcs51/asexpr.c (expr): disabled warning "not in .flat24 mode",
  fixed old K&R prototypes
* as/mcs51/asout.c (outrb): always output as if generating 24bit addresses
* device/lib/_gptrget.c,
* device/lib/_gptrgetc.c,
* device/lib/_gptrput.c: changed versions for new memory indicator values,
  also new versions for small generic pointers and banked generic pointers
* src/port.h: added const_name
* src/SDCC.lex: added keywords sfr16, __sfr16, sfr32, __sfr32
* src/SDCC.y: added tokens SFR16, SFR32 and their sfr_attributes
* src/SDCCcse.c (findPrevIc): check all associative operators
* src/SDCCglue.c (emitMaps): use CONST_NAME if defined
* src/SDCCicode.h: added macro IS_ASSOCIATIVE
* src/SDCCmem.c: updated comments,
  set far-space to 0 for pdata, results in optimized code
* src/SDCCmem.h: added macro CONST_NAME
* src/SDCCsymt.h: renumerated generic pointer types GPTYPE_... thereby
  moving the info into the highest bits, see also gptrget/gptrput
* src/src.dsp: added sdcc.ico to project files
* src/avr/gen.c (genCast): fixed bug 0x%d
* src/avr/main.c (avr_port): added "CONST (CODE)" for const_name
* src/ds390/gen.c (aopForRemat, adjustArithmeticResult): disconnected direct
  relation between ptr_type and DCL_TYPE,
  (genCast): fixed bug 0x%d
* src/ds390/main.c (ds390_port, tininative_port, ds400_port): added "CONST
  (CODE)" for const_name
* src/hc08/gen.c (genCast): fixed bug 0x%d
* src/hc08/main.c (_hc08_genAssemblerPreamble): added .area ...const_name,
  (hc08_port): added "CONST (CODE)" for const_name
* src/mcs51/gen.c (aopForSym): optimized pushing ACC,
  (aopForRemat, adjustArithmeticResult): disconnected direct relation
  between ptr_type and DCL_TYPE,
  (aopGetUsesAcc, aopGet, aopPut): changed first parameter from asmop* to
  operand* and took AOP() inside function so sfr-ness can be checked,
  (all over): repaired calls to aopGetUsesAcc, aopGet, aopPut to comply with
  new prototype,
  (genFunction, genEndFunction): optimized stack setup,
  (genMinus): optimized for literals with ending zeroes (in bytes),
  (genCast): fixed bug 0x%d
* src/mcs51/main.c (_mcs51_keywords): added sfr16 and sfr32,
  (mcs51_port): added "CONST (CODE)" for const_name
* src/mcs51/peeph.def: made rule 226 more generic
* src/pic/main.c (pic_port): added "CONST (CODE)" for const_name
* src/pic16/main.c (pic16_port): added "CONST (CODE)" for const_name
* src/xa51/main.c (xa51_port): added "CONST (CODE)" for const_name
* src/z80/main.c (z80_port): added NULL for const_name,
  (gbz80_port): added NULL for const_name
* support/regression/tests/bug663539.c,
* support/regression/tests/sfr16.c: new tests

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

18 years agoFixed typo: device/include/mcs51/p89v51rd2.h, device/include/mcs51/at89s53.h: added.
jesusc [Sat, 25 Jun 2005 10:20:54 +0000 (10:20 +0000)]
Fixed typo: device/include/mcs51/p89v51rd2.h, device/include/mcs51/at89s53.h: added.

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

18 years agodevice/lib/mcs51/p89v51rd2.h, device/lib/mcs51/at89s53.h: added
jesusc [Sat, 25 Jun 2005 10:17:21 +0000 (10:17 +0000)]
device/lib/mcs51/p89v51rd2.h, device/lib/mcs51/at89s53.h: added

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

18 years ago* device/lib/pic16/libdev/pic18f[68][567]20.c:
tecodev [Fri, 24 Jun 2005 15:59:33 +0000 (15:59 +0000)]
* device/lib/pic16/libdev/pic18f[68][567]20.c:
  corrected typos...
* device/include/pic16/signal.h: added USBIF
  and SIG_USB

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

18 years ago* device/lib/pic16/libdev/pic18f2455.c,
tecodev [Fri, 24 Jun 2005 14:19:36 +0000 (14:19 +0000)]
* device/lib/pic16/libdev/pic18f2455.c,
  device/include/pic16/pic18f2455.h: NEW
* device/include/pic16/pic18fregs.h,
  device/lib/pic16/pics.all,
  src/pic/device.c: added 18f2455
* device/lib/pic16/libdev/pic18f[68][567]20.c,
  device/include/pic16/{pic18f[68][567].h,usart.h}:
  replaced MULTIPLE_USARTS define with more relaible
  compatibility sfrs (for USART access)

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

18 years agoPIC14: Fixed problem when a string constant contains a "\\r\\n" and the output asm...
slade_rich [Mon, 20 Jun 2005 01:43:04 +0000 (01:43 +0000)]
PIC14: Fixed problem when a string constant contains a "\\r\\n" and the output asm file line is printed on two lines.

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

18 years agoFixed problem when a string constant contains a "\\r\\n" and the output asm file...
slade_rich [Mon, 20 Jun 2005 01:42:03 +0000 (01:42 +0000)]
Fixed problem when a string constant contains a "\\r\\n" and the output asm file line is printed on two lines.

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

18 years ago* sim/ucsim/hc08.src/inst.cc (inst_condbranch): fixed simulation of
epetrich [Sat, 18 Jun 2005 23:56:01 +0000 (23:56 +0000)]
* sim/ucsim/hc08.src/inst.cc (inst_condbranch): fixed simulation of
  BGT, BLE, BHI, and BLS instructions
* src/hc08/gen.c (outAcc, outBitC, outBitNV, genCmpLt, genCmpGt,
  genCmpEq): removed
* src/hc08/gen.c (genCmpEQorNE, genCmp, branchopCmp, nameCmp,
  negatedCmp, exchangedCmp, genhc08Code): rewrite of comparison handling,
  fixes bug #1216342
* src/hc08/peeph.def: added rules 2g - 2l for new conditional branches

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

18 years ago* src/pic16/NOTES: moved Vangelis from active developers to people to contact
tecodev [Wed, 15 Jun 2005 19:50:54 +0000 (19:50 +0000)]
* src/pic16/NOTES: moved Vangelis from active developers to people to contact
* device/include/pic16/{6520.h,8520.h}: fixed configuration bits
* src/pic16/gen.c (): prevent iTemps from being considered to be in CODESPACE,
  fixes bug #1221120; for symbols in CODESPACE get number of bytes to read from
  OP_SYM_TYPE() instead of OP_SYM_ETYPE()

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

18 years agodevice/include/mcs51/reg764.h: Changed PB0 to PBO as requested by Marcel Telka in...
frief [Mon, 6 Jun 2005 17:57:38 +0000 (17:57 +0000)]
device/include/mcs51/reg764.h: Changed PB0 to PBO as requested by Marcel Telka in bug #1215704

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

18 years agoChanged PB0 to PBO as requested by Marcel Telka in bug #1215704
frief [Mon, 6 Jun 2005 17:56:08 +0000 (17:56 +0000)]
Changed PB0 to PBO as requested by Marcel Telka in bug #1215704

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

19 years agoPIC14: Changed pseudo stack size to 15 to allow WSAVE to be located in shared memory...
slade_rich [Thu, 2 Jun 2005 03:09:45 +0000 (03:09 +0000)]
PIC14: Changed pseudo stack size to 15 to allow WSAVE to be located in shared memory bank.

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

19 years agoChanged pseudo stack size to 15 to allow WSAVE to be located in shared memory bank.
slade_rich [Thu, 2 Jun 2005 03:08:03 +0000 (03:08 +0000)]
Changed pseudo stack size to 15 to allow WSAVE to be located in shared memory bank.

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

19 years ago* src/pic16/{gen.c,genarith.c}: replaced sign-extension
tecodev [Tue, 31 May 2005 08:51:23 +0000 (08:51 +0000)]
* src/pic16/{gen.c,genarith.c}: replaced sign-extension
  "CLRF, BTFSC <signbit>, DECF/COMF" with side-effect-free
  "CLRF, BTFSC <signbit>, SETF"; fixes "long>>9"

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

19 years ago* device/lib/_strncpy.c: fixed the fix
maartenbrock [Fri, 27 May 2005 07:33:47 +0000 (07:33 +0000)]
* device/lib/_strncpy.c: fixed the fix

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

19 years ago* src/pic16/glue.c (pic16_printIvalChar): fixed _constant_ string
tecodev [Thu, 26 May 2005 21:52:37 +0000 (21:52 +0000)]
* src/pic16/glue.c (pic16_printIvalChar): fixed _constant_ string
  initializers with \0, bug #1208187
* src/pic/glue.c (printIvalChar): fixed (non- and constant) string
  intializers with \0, bug #1208187

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

19 years ago* src/pic16/glue.c (pic16_printIvalChar): fixed string
tecodev [Thu, 26 May 2005 15:25:48 +0000 (15:25 +0000)]
* src/pic16/glue.c (pic16_printIvalChar): fixed string
  initializers with \0, bug #1208187
* src/pic16/main.c (_process_pragma): added sanity checks
  for stack position and size, emit warnings when appropriate

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

19 years ago* device/lib/_strncpy.c: fixed not filling with \0
maartenbrock [Thu, 26 May 2005 08:29:18 +0000 (08:29 +0000)]
* device/lib/_strncpy.c: fixed not filling with \0

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

19 years ago* src/SDCCast.c (funcOfType, funcOfTypeVarg, stringToSymbol,
epetrich [Thu, 26 May 2005 01:25:09 +0000 (01:25 +0000)]
* src/SDCCast.c (funcOfType, funcOfTypeVarg, stringToSymbol,
  createFunction),
* src/SDCC.y (external_definition, enumerator, parameter_declaration,
  compound_statement),
* src/SDCCsymt.h,
* src/SDCCsymt.c (addSymChain, processFuncArgs): fixed bug #1159134

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

19 years ago* src/pic16/glue.c (pic16_printGPointerType): fixed #1207796
tecodev [Tue, 24 May 2005 16:06:27 +0000 (16:06 +0000)]
* src/pic16/glue.c (pic16_printGPointerType): fixed #1207796

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

19 years ago* device/include/pic16/pic18f{442,452,458}.h: fixed wrong
tecodev [Tue, 24 May 2005 11:22:24 +0000 (11:22 +0000)]
* device/include/pic16/pic18f{442,452,458}.h: fixed wrong
  TRISE definitions, closes bug #1162453

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

19 years ago* src/pic16/main.c (_process_pragma): check for missing
tecodev [Sun, 22 May 2005 12:39:39 +0000 (12:39 +0000)]
* src/pic16/main.c (_process_pragma): check for missing
  arguments to pragmas code and udata
* device/include/pic16/pic18f{2550,4331,4455,4520}.h:
  consistency fixes to match other headers (thanks to Jim Paris)
* device/lib/pic16/libio/i2c.ignore: 18f4331 provides no I2C

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

19 years ago* src/SDCCicode.c (isOperandEqual): fixed missing ;
maartenbrock [Sat, 21 May 2005 17:03:56 +0000 (17:03 +0000)]
* src/SDCCicode.c (isOperandEqual): fixed missing ;

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

19 years ago* support/regression/tests/bug1198642.c: new test
maartenbrock [Thu, 19 May 2005 15:25:23 +0000 (15:25 +0000)]
* support/regression/tests/bug1198642.c: new test
* src/SDCCicode.c (isOperandEqual): fixed bug 1198642
* src/SDCCcse.c (findPrevIc): added comment, please have a look
* support/scripts/resource.h,
* support/scripts/resource.rc,
* src/src.dsp: added sdcc.ico to project as icon for sdcc.exe
* support/scripts/sdcc.ico: added 32x32 icon

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

19 years ago* device/lib/pic16/libdev/pic18f*.c,
tecodev [Wed, 18 May 2005 20:32:06 +0000 (20:32 +0000)]
* device/lib/pic16/libdev/pic18f*.c,
* device/include/pic16/pic18f*.h: updated "sfr" and "at X"
  keywords to "__sfr" and "__at (X)"
* device/include/pic16/pic18fregs.h: added pic18f4520
* src/pic16/pcode.c (pic16_pCode2str): fixed (?) bug
  #1203088 (MPLAB compatibility)

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

19 years ago* device/include/pic18f{2550,4331,4455,4520}.h: NEW
tecodev [Tue, 17 May 2005 21:28:45 +0000 (21:28 +0000)]
* device/include/pic18f{2550,4331,4455,4520}.h: NEW
* device/lib/pic16/libdev/pic18f{2550,4331,4455,4520}.c: NEW
* device/lib/pic16/pics.all: added new devices
* src/pic16/device.c: added support for pic18f4520

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

19 years ago* src/pic16/gen.{c,h}: s/mov2f/pic16_mov2f made public
tecodev [Mon, 16 May 2005 19:11:21 +0000 (19:11 +0000)]
* src/pic16/gen.{c,h}: s/mov2f/pic16_mov2f made public
* src/pic16/genarith.c (genAddit): fixed bug 1202480
* src/pic16/pcode.{c,h} (pic16_newpCodeOpBit_simple): NEW
  convenience function for bit access

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

19 years ago* device/lib/printf_large.c: fixed bug 1193299
maartenbrock [Sun, 15 May 2005 19:18:08 +0000 (19:18 +0000)]
* device/lib/printf_large.c: fixed bug 1193299
* support/regression/tests/bug1057979.c: added test %3.3s

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

19 years agodevice/include/mcs51/8051.h,
frief [Sun, 15 May 2005 19:08:10 +0000 (19:08 +0000)]
device/include/mcs51/8051.h,
device/include/mcs51/8052.h: made parseable with lint
device/include/mcs51/lint.h: added include file for (sp)lint
doc/sdccman.lyx: added doc about use of splint (syntax checking tool)
doc/cdbfileformat.lyx,
doc/test_suite_spec.lyx: hardcoded date to the date of last text change

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

19 years agoadded doc about use of splint (syntax checking tool)
frief [Sun, 15 May 2005 19:06:50 +0000 (19:06 +0000)]
added doc about use of splint (syntax checking tool)

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

19 years agohardcoded date to the date of last text change
frief [Sun, 15 May 2005 19:05:52 +0000 (19:05 +0000)]
hardcoded date to the date of last text change

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

19 years agoadded include file for (sp)lint
frief [Sun, 15 May 2005 19:04:57 +0000 (19:04 +0000)]
added include file for (sp)lint

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

19 years agomade parseable with lint
frief [Sun, 15 May 2005 19:03:51 +0000 (19:03 +0000)]
made parseable with lint

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

19 years ago* device/lib/pic16/Makefile.common.in: add --optimize-df to OPT_FLAGS
tecodev [Sat, 14 May 2005 12:11:22 +0000 (12:11 +0000)]
* device/lib/pic16/Makefile.common.in: add --optimize-df to OPT_FLAGS
* device/lib/pic16/libc/stdlib/itoa.c (new)
* device/lib/pic16/libc/stdlib/Makefile: have itoa.c built
* device/lib/pic16/libio/Makefile: exclude subdir according to
  ${subdir}.ignore for certain PICs (lacking e.g. i2c)
* device/lib/pic16/libio/i2c.ignore (new): pic18f1220 has no I2C support
* src/pic16/gen.c (genFunction): prevent annoying warning
* src/pic16/pcode.c: renamed stack_t to dynstack_t to prevent
  nameclashes on BeOS
* support/cpp2/cppmain.c (cpp_output_string): new
* support/cpp2/cpplib.c (_cpp_do__Pragma): fixed _Pragma (""),
  fixes bug 1116802

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

19 years ago* src/SDCCmain.c (linkEdit): fixed bug 1195202
borutr [Fri, 13 May 2005 20:46:41 +0000 (20:46 +0000)]
* src/SDCCmain.c (linkEdit): fixed bug 1195202

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

19 years ago* .version: changed to version 2.5.1; back to bleeding edge development
epetrich [Thu, 12 May 2005 20:28:04 +0000 (20:28 +0000)]
* .version: changed to version 2.5.1; back to bleeding edge development

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

19 years ago* doc/sdccman.lyx doc/cdbfileformat.lyx doc/test_suite_spec.lyx:
borutr [Wed, 11 May 2005 18:22:52 +0000 (18:22 +0000)]
* doc/sdccman.lyx doc/cdbfileformat.lyx doc/test_suite_spec.lyx:
  generate PDF version 1.3 documents

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

19 years agofixed error in date of last entry
epetrich [Sat, 7 May 2005 21:02:46 +0000 (21:02 +0000)]
fixed error in date of last entry

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

19 years ago* .version: changed to version 2.5.0
epetrich [Sat, 7 May 2005 19:23:09 +0000 (19:23 +0000)]
* .version: changed to version 2.5.0

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

19 years agodoc/sdccman.lyx: updated weblinks, index and smaller updates
frief [Wed, 27 Apr 2005 17:22:11 +0000 (17:22 +0000)]
doc/sdccman.lyx: updated weblinks, index and smaller updates

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

19 years agoupdated weblinks, index and smaller updates
frief [Wed, 27 Apr 2005 17:19:48 +0000 (17:19 +0000)]
updated weblinks, index and smaller updates

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

19 years ago* doc/sdccman.lyx: changed version 2.5.0, documented --std-c89,
epetrich [Tue, 26 Apr 2005 22:47:47 +0000 (22:47 +0000)]
* doc/sdccman.lyx: changed version 2.5.0, documented --std-c89,
--std-sdcc89, --std-c99, --std-sdcc99, and the corresponding #pragmas, as
well as many smaller updates.
* .version: changed to version 2.5.0-pre1

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

19 years agosrc/SSDCCmain.c (setIncludePath): added port->target to SDCC_INCLUDE_NAME
jesusc [Tue, 26 Apr 2005 17:13:25 +0000 (17:13 +0000)]
src/SSDCCmain.c (setIncludePath): added port->target to SDCC_INCLUDE_NAME

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

19 years ago* support/regression/tests/bug1185672.c: added
maartenbrock [Tue, 26 Apr 2005 10:14:27 +0000 (10:14 +0000)]
* support/regression/tests/bug1185672.c: added
* src/mcs51/gen.c (aopGetUsesAcc, genCpl, genAnd, genOr, genXor): fixed
  bug 1185672
* src/mcs51/gen.c (genCall): added comments, made it look safer
* src/mcs51/gen.c (genEndFunction): simplified

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

19 years ago* src/mcs51/ralloc.c (serialRegAssign): fixed bug 1189609
maartenbrock [Mon, 25 Apr 2005 19:02:56 +0000 (19:02 +0000)]
* src/mcs51/ralloc.c (serialRegAssign): fixed bug 1189609

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

19 years ago* fixed Changelog entry
maartenbrock [Sun, 17 Apr 2005 11:50:24 +0000 (11:50 +0000)]
* fixed Changelog entry

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

19 years ago* fixed bug 1045046 - SIGSEGV with really simple code?:
borutr [Thu, 14 Apr 2005 18:45:46 +0000 (18:45 +0000)]
* fixed bug 1045046 - SIGSEGV with really simple code?:
  src/pic16/pcode.c (pCodeInitRegisters)- pseudo stack size increased to 16
  src/pic16/ralloc.c (typeRegWithIdx) - error message on pseudo stack overflow

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

19 years ago* src/pic16/gen.c (genInline), src/pic16/main.c (_process_pragma),
borutr [Thu, 14 Apr 2005 16:58:38 +0000 (16:58 +0000)]
* src/pic16/gen.c (genInline), src/pic16/main.c (_process_pragma),
  src/pic16/device.h: temporarily disabled experimental #inline pragma
  for 2.5.0 release

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

19 years ago* device/include/z80/stdio.h,
maartenbrock [Thu, 14 Apr 2005 16:50:05 +0000 (16:50 +0000)]
* device/include/z80/stdio.h,
* device/include/z80/string.h: removed these highly incomplete files so
  SDCC can use the default ones in device/include/

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

19 years ago* src/mcs51/gen.c (genEndFunction): removed unused variable to fix
epetrich [Thu, 14 Apr 2005 13:42:22 +0000 (13:42 +0000)]
* src/mcs51/gen.c (genEndFunction): removed unused variable to fix
gcc warning.
* device/lib/Makefile.in: default PORTINCDIR to the mcs51 subdir to
fix sdcpp warnings.

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

19 years ago* device/include/malloc.h: removed redundant __reentrant prototypes
maartenbrock [Tue, 12 Apr 2005 16:09:15 +0000 (16:09 +0000)]
* device/include/malloc.h: removed redundant __reentrant prototypes
* device/lib/_mullong.c: added working xstack variant in asm (C version
  doesn't pass regression tests)
* device/lib/bpx.c: used __data and made bpx char for mcs51
* src/SDCCast.c (decorateType): removed unused GPTYPE_IDATA,
  (createFunction): fixed bug with xstackPtr
* src/SDCCcse.c: corrected comments
* src/SDCCopt.c (convertToFcall): fixed warning in MSVC,
  (killDeadCode, eBBlockFromiCode): removed unused code
* src/SDCCsymt.h: removed unused GPTYPE_GPTR and GPTYPE_IDATA,
  corrected comments
* src/mcs51/gen.c (aopForSym, aopPut, toBoolean, unsaveRegisters,
  assignResultValue, genCall, genFunction, genEndFunction, genAnd,
  genOr, genXor, genAddrOf): fixed several bugs concerning xstack
  (genModOneByte): fixed warning in MSVC
* src/mcs51/main.c (): added comments
* src/mcs51/peeph.def: changed 129 to 129.a, added 129.b, 129.c & 129.d

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

19 years ago* src/SDCCmain.c (linkEdit): oops, changed one line too many
maartenbrock [Tue, 12 Apr 2005 06:41:59 +0000 (06:41 +0000)]
* src/SDCCmain.c (linkEdit): oops, changed one line too many

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

19 years ago* src/SDCCmain.c (linkEdit): fixed bug with finding crt0.o for z80
maartenbrock [Mon, 11 Apr 2005 19:23:33 +0000 (19:23 +0000)]
* src/SDCCmain.c (linkEdit): fixed bug with finding crt0.o for z80

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

19 years ago* src/pic16/glue.c (printIvalChar): bug introduced by previous patch fixed
vrokas [Sun, 10 Apr 2005 21:00:34 +0000 (21:00 +0000)]
* src/pic16/glue.c (printIvalChar): bug introduced by previous patch fixed

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

19 years ago* src/pic16/glue.c (printIvalChar): fixed bug when emitting
vrokas [Sun, 10 Apr 2005 16:08:23 +0000 (16:08 +0000)]
* src/pic16/glue.c (printIvalChar): fixed bug when emitting
characters arrays of larger size than the declared one.

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

19 years ago* src/pic/gen.c (genInline),
borutr [Sun, 10 Apr 2005 09:44:23 +0000 (09:44 +0000)]
* src/pic/gen.c (genInline),
  src/pic/pcode.c (newpCodeAsmDir), (pCode2str),
  (genericPrint), (unlinkpCodeFromBranch), (compareLabel),
  (findNextInstruction), (findPrevInstruction),
  (findInstructionUsingLabel),
  src/pic/pcode.h: fixed bug #1164907 - Labels not being recognized
* src/pic/pcode.c (findLabel): added missing '\\n'
* src/src.dsp: added SDCCdwarf2.c to the project

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

19 years ago* support/scripts/sdcc.nsi: added include/hc08/* h to NSIS setup
borutr [Sat, 9 Apr 2005 09:50:09 +0000 (09:50 +0000)]
* support/scripts/sdcc.nsi: added include/hc08/* h to NSIS setup

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

19 years ago* src/pic16/pcode.c: added helpers defmapInsertAfter (insert a new item
tecodev [Fri, 8 Apr 2005 21:12:15 +0000 (21:12 +0000)]
* src/pic16/pcode.c: added helpers defmapInsertAfter (insert a new item
  into the chain after a given one) and mergeDefmapSymbols (combine
  defmap entries for each symbol per pcode)
* (createDefmap): have defmap entries merged in the end
* (defmapReplaceSymRef): split defmap entries covering two accesses to
  a symbol before replacing one access type's symbol, merge symbols in
  the end (replacement symbol might already have an entry)
* (assignValnums): keep defmap entry for written WREG intact

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

19 years ago* src/pic16/pcode.c (struct defmap_s): named anonymous union (for
tecodev [Fri, 8 Apr 2005 10:26:06 +0000 (10:26 +0000)]
* src/pic16/pcode.c (struct defmap_s): named anonymous union (for
  Alpha)

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

19 years ago* src/pic16/pcode.c (pic16_get_op2): enlarged size of array b to 128
vrokas [Fri, 8 Apr 2005 06:11:00 +0000 (06:11 +0000)]
* src/pic16/pcode.c (pic16_get_op2): enlarged size of array b to 128
bytes

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

19 years ago* device/include/pic16/usart.h: added compatibility defines for
tecodev [Thu, 7 Apr 2005 17:19:42 +0000 (17:19 +0000)]
* device/include/pic16/usart.h: added compatibility defines for
  devices with more than one USART
* device/include/pic16/pic18f[68][567]20.h: activated above defines

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

19 years ago* device/lib/Makefile.in: updated for port specific include
maartenbrock [Thu, 7 Apr 2005 16:10:30 +0000 (16:10 +0000)]
* device/lib/Makefile.in: updated for port specific include

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

19 years ago* support/regression/ports/mcs51/spec.mk: added mcs51 include
maartenbrock [Thu, 7 Apr 2005 11:24:52 +0000 (11:24 +0000)]
* support/regression/ports/mcs51/spec.mk: added mcs51 include

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

19 years ago* device/include/8051.h,
maartenbrock [Thu, 7 Apr 2005 09:52:11 +0000 (09:52 +0000)]
* device/include/8051.h,
* device/include/8052.h,
* device/include/at89S8252.h,
* device/include/at89c55.h,
* device/include/at89x051.h,
* device/include/at89x51.h,
* device/include/at89x52.h,
* device/include/mcs51reg.h,
* device/include/reg51.h,
* device/include/reg764.h,
* device/include/regc515c.h,
* device/include/sab80515.h: (re)moved these 12 files
* device/include/mcs51/8051.h,
* device/include/mcs51/8052.h,
* device/include/mcs51/at89S8252.h,
* device/include/mcs51/at89c55.h,
* device/include/mcs51/at89x051.h,
* device/include/mcs51/at89x51.h,
* device/include/mcs51/at89x52.h,
* device/include/mcs51/mcs51reg.h,
* device/include/mcs51/reg51.h,
* device/include/mcs51/reg764.h,
* device/include/mcs51/regc515c.h,
* device/include/mcs51/sab80515.h: and added them here

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

19 years ago* device/include/stdarg.h: changed SDCC specific keywords to double
maartenbrock [Wed, 6 Apr 2005 20:09:07 +0000 (20:09 +0000)]
* device/include/stdarg.h: changed SDCC specific keywords to double
  underlined form.
* device/include/stdint.h: changed intptr_t and uintptr_t for others than
  mcs51 and ds390.
* device/include/hc08/mc68hc908gp32.h,
* device/include/hc08/mc68hc908jb8.h,
* device/include/hc08/mc68hc908jkjl.h,
* device/include/hc08/mc68hc908qy.h: fixed comments
* device/include/mcs51/README: updated
* device/include/mcs51/c8051f120.h: added PINRSF
* device/lib/pic16/libc/stdlib/crc16.c: fixed comments
* src/pic16/pcode.c: MSVC6 doesn't accept declaring new variables
  amidst code. Also inline is not supported.

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

19 years ago* src/pic16/pcode.c (pic16_pCodeReplace): also update pcflow->end
tecodev [Wed, 6 Apr 2005 07:55:10 +0000 (07:55 +0000)]
* src/pic16/pcode.c (pic16_pCodeReplace): also update pcflow->end
* (createDefmap): fixed CALLs to depend on FSR1 and RETLW to restore
  callers stack/frame pointers

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

19 years ago* device/lib/pic16/libio/Makefile.rules: moved $(CSTD) from CFLAGS to
vrokas [Wed, 6 Apr 2005 06:11:08 +0000 (06:11 +0000)]
* device/lib/pic16/libio/Makefile.rules: moved $(CSTD) from CFLAGS to
COMPILE_FLAGS because sdcpp complains for unrecognised option

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

19 years ago* device/include/pic16/usart.h: added, missing in previous commit,
vrokas [Wed, 6 Apr 2005 06:06:20 +0000 (06:06 +0000)]
* device/include/pic16/usart.h: added, missing in previous commit,
* device/include/pic16/adc.h: fixed typo,
* device/lib/pic16/libc/utils/cvtdec.S: added missing in previous
commit,
* device/lib/pic16/libc/stdlib/g_ftoa.S: modified to include
<p18fxxx.inc>
* device/lib/pic16/libc/stdio/streams.c: leave stdin, stdout
uninitialized because a bug appears with gplink
* device/lib/pic16/{some makefiles}: moved $(CSTD) from CFLAGS to
COMPILE_FLAGS and added CPPFLAGS with -nostdinc because sdcpp
complains for unrecognised option

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

19 years ago* src/pic16/gen.c (pic16_popCopyReg): made copying work for extended
tecodev [Tue, 5 Apr 2005 11:34:14 +0000 (11:34 +0000)]
* src/pic16/gen.c (pic16_popCopyReg): made copying work for extended
  structs as well (using memcpy)
* (genFunction): fixed comparison, used pCodeOpLabel to reduce warning
  on ISRs (GOTO has no label)
* src/pic16/device.h: added OF_OPTIMIZE_DF
* src/pic16/main.c: added compiler switch --optimize-df to enable the
  new data flow analysis/optimization
* src/pic16/pcode.c: added (prototypes for and implementation of)
  dataflow analysis functions, fixed pCodeInstructions' inCond and
  outCond values, made RCALL a branch instruction
* (pic16_unlinkpCode): keep C line if possible
* (pic16_pCodeUnlink): removed cast on left side of assignment, have
  C line moved if possible
* (pic16_getRegFrompCodeOp): NEW, improved version of...
* (pic16_getRegFromInstruction,pic16_getRegFromInstruction2): changed
  to use new pic16_getRegFrompCodeOp (works for more SFRs)
* (pic16_BuildFlow): fixed skip instructions with label (did not start
  new flow)
* (pic16_getJumptabpCode): NEW, needed in...
* (LinkFlow): fixed handling of jumptables, calls and conditional
  branches
* (pic16_InsertCommentAfter): NEW
* (pic16_pCodeReplace): made verbose and flow preserving
* (AnalyzeFlow): added call to data flow analysis
* src/pic16/pcode.h: added defmaps to pCodeFlow struct
* src/pic16/pcodeflow.h: added PCC_STATUS to mean all STATUS bits
* src/pic16/ralloc.c (packRegsForAssign): added return 1 in the end

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

19 years ago* src/SDCCast.c (decorateType): fixed bug #1105626
epetrich [Sun, 3 Apr 2005 03:20:57 +0000 (03:20 +0000)]
* src/SDCCast.c (decorateType): fixed bug #1105626

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

19 years ago* new missed to commit in SDCC v2.4.8 #1.988
vrokas [Sat, 2 Apr 2005 13:35:31 +0000 (13:35 +0000)]
* new missed to commit in SDCC v2.4.8 #1.988

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

19 years ago* device/include/asm/pic16/features.h,
vrokas [Sat, 2 Apr 2005 13:13:53 +0000 (13:13 +0000)]
* device/include/asm/pic16/features.h,
* pic18f*.h headers,
* device/include/pic16/adc.h,
* device/include/pic16/delay.h,
* device/include/pic16/i2c.h,
* device/include/pic16/malloc.h,
* device/include/pic16/stdio.h,
* device/include/pic16/stdlib.h,
* device/include/pic16/string.h,
* device/lib/pic16/libc/stdio/printf_tiny.c,
* device/lib/pic16/libc/stdio/printf_small.c,
* device/lib/pic16/libc/stdio/strmgpsim.c,
* device/lib/pic16/libc/stdio/strmmssp.c,
* device/lib/pic16/libc/stdio/strmusart.c,
* device/lib/pic16/libc/stdio/vfprintf.c,
* device/lib/pic16/libc/stdlib/ltoa.c,
* device/lib/pic16/libc/stdlib/putchar.c,
* device/lib/pic16/libc/stdlib/x_ftoa.c,
* device/lib/pic16/libc/stdlib/memchrpgm.c,
* device/lib/pic16/libc/stdlib/memchrram.c,
* device/lib/pic16/libc/stdlib/memcpypgm2ram.c,
* device/lib/pic16/libc/stdlib/memcpyram2ram.c,
* device/lib/pic16/libio/adc/adcbusy.c,
* device/lib/pic16/libio/adc/adcread.c,
* device/lib/pic16/libio/adc/adcsetch.c,
* device/lib/pic16/libio/usart/ubaud.c,
* device/lib/pic16/libio/usart/ubusy.c,
* device/lib/pic16/libio/usart/udrdy.c,
* device/lib/pic16/libio/usart/uopen.c,
* device/lib/pic16/libio/usart/uputc.c,
* device/lib/pic16/libsdcc/gptr/gptrget1.c,
* device/lib/pic16/libsdcc/gptr/gptrget2.c,
* device/lib/pic16/libsdcc/gptr/gptrget3.c,
* device/lib/pic16/libsdcc/gptr/gptrget4.c,
* device/lib/pic16/libsdcc/gptr/gptrput1.c,
* device/lib/pic16/libsdcc/gptr/gptrput2.c,
* device/lib/pic16/libsdcc/gptr/gptrput3.c,
* device/lib/pic16/libsdcc/gptr/gptrput4.c: modified all SDCC
specific keywords to double underlined form,
* device/lib/pic16/libc/Makefile.rules,
* device/lib/pic16/libsdcc/Makefile.rules,
* device/lib/pic16/libm/Makefile,
* device/lib/pic16/libio/Makefile.rules: added CSTD macro in CFLAGS
to compile with C standard set in Makefile.common
* device/lib/pic16/libc/stdlib/Makefile: added new C sources
rand.c and crc.c in compilation process,
* device/lib/pic16/libsdcc/int/divuint.c,
* device/lib/pic16/libsdcc/long/divulong.c: changed declaration of
`c' from signed to unsigned,
* device/lib/pic16/startup/crt0.c,
* device/lib/pic16/startup/crt0i.c,
* device/lib/pic16/startup/crt0iz.c: adopted to all SDCC specific
keywords to double underlined form, bug fixes in _do_cinit function
which prevented the correct initialization of the .idata segment,
* src/pic16/pcoderegs.c (insideLRBlock): fixed a bug that caused the
core to enter a infinite loop
* device/lib/pic16/libc/stdlib/rand.c, crc.c: new files

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

19 years ago* src/SDCCicode.c (getArraySizePtr): fixed bug #1122171
epetrich [Sat, 2 Apr 2005 07:06:41 +0000 (07:06 +0000)]
* src/SDCCicode.c (getArraySizePtr): fixed bug #1122171

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

19 years ago* device/include/Makefile.in: add support for hc08 subdirectory
epetrich [Fri, 1 Apr 2005 04:05:27 +0000 (04:05 +0000)]
* device/include/Makefile.in: add support for hc08 subdirectory
* device/include/hc08/: new subdirectory
* device/include/hc08/mc68hc908jkjl.h: new header contributed by
Lucas Loizaga, thanks!
* device/include/hc08/mc68hc908qy.h,
* device/include/hc08/mc68hc908gp32.h,
* device/include/hc08/mc68hc908jb8.h: moved hc08 register defs to
their own directory. Changed internal macro names to use the compiler
reserved namespace. Changed SDCC specific keywords to double
underlined form.
* device/include/math.h,
* device/include/malloc.h,
* device/include/stdarg.h,
* device/include/stdbool.h
* device/include/string.h,
* device/include/tinibios.h,
* device/include/ds400rom.h,
* device/include/8051.h,
* device/include/8052.h,
* device/include/80c51xa.h,
* device/include/at89c55.h,
* device/include/at89S8252.h,
* device/include/at89x51.h,
* device/include/at89x52.h,
* device/include/ds80c390.h,
* device/include/reg764.h,
* device/include/regc515c.h,
* device/include/sab80515.h,
* device/include/mcs51/c8051f000.h,
* device/include/mcs51/c8051f018.h,
* device/include/mcs51/c8051f020.h,
* device/include/mcs51/c8051f040.h,
* device/include/mcs51/c8051f060.h,
* device/include/mcs51/c8051f120.h,
* device/include/mcs51/c8051f300.h,
* device/include/mcs51/c8051f310.h,
* device/include/mcs51/c8051f320.h,
* device/include/mcs51/c8051f330.h,
* device/include/mcs51/c8051f350.h,
* device/include/z180.h: Changed SDCC specific keywords to double
underlined form.

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

19 years ago* src/pic16/device.c (Pics16[]): added devices 18F2550, 18F4331,
vrokas [Thu, 31 Mar 2005 16:25:17 +0000 (16:25 +0000)]
* src/pic16/device.c (Pics16[]): added devices 18F255018F4331,
18F4455,
* (pic16_assignConfigWordValue): disable testing of configuration
register value with config mask,
* src/pic16/gen.c (pic16_testStackOverflow): prefix stack test
function with port->fun_prefix,
* (genFunction): when generating a naked interrupt function never
create an absolute segment placed in interrupt vector address, place
the actual interrupt function at IVA instead, when an interrupt
function is generated with unspecified interrupt then do not create
the absolute section,
* (genGenPointerGet, genGenPointerSet, genPackBits): replace all
code for generating a call to generic pointer get/put function with
a call to function pic16_callGenericPointer(),
* src/pic16/genutils.c (pic16_callGenericPointerRW): NEW, generates
the call to the generic pointer get/put functions with prefixing the
function name with port->fun_prefix,
* src/pic16/glue.c (pic16glue): ifdef-out test of OF_LR_SUPPORT,
* src/pic16/main.c (_process_pragma): prefix function with
port->fun_prefix,
* (_pic16_finaliseOptions): define macro __18Fxxxx macro when
calling assembler, old 18Fxxxx macro is deprecated,
* src/pic16/pcode.c (unlinkpCodeFromBranch): added PC_INLINE and
PC_ASMDIR in while condition,
* (findInstruction): add PC_ASMDIR in while condition,
* (buildCallTree): prefix main with port->fun_prefix,
* (pic16_pCode2str): fixed bug that didn't emit the memory access
identifier for variable with banked access in instructions BTFSS,
BTFSC, BCF, BSF, BTG
* (AnalyzeFlow): moved call to OptimizepCode to pic16_AnalyzeBanking,
* src/pic16/pcodepeep.c (pCodeOpCompare): increase size of b to 1024,
* src/pic16/pcoderegs.c (pic16_pCodeRegoptimizeRegUsage): don't
perform optimization when enviroment variable NO_REG_OPT is set,
* (insideLRBlock): NEW, return 1 if register is inside an
INF_LOCALREGS block,
* (RemoveRegFromLRBlock): remove a register that is completely
eliminated by register optimization, but it is still left in local
register store/restore in/from stack block,
* (Remove2pcodes): after removing register, check to see if it
should be removed from local register store/restore in/from stack
block,
* src/pic16/ralloc.c (pic16_decodeOp): added decode for
DUMMY_READ_VOLATILE,

* device/include/pic16/adc.h: minor prototype modifications and
update,
* device/include/pic16/malloc.h: added GPL notice various
modifications,
* device/include/pic16/stdint.h: NEW, standard header for ints
* device/include/pic16/delay.h: NEW, header for delay functions,
delay10tcy, delay100tcy, delay1ktcy, delay10ktcy, delay100ktcy,
delay1mtcy,
* device/include/pic16/signal.h: NEW, header providing helper macros
for implementing signal handlers,
* device/include/pic16/stdio.h: added prototypes for functions,
printf, vprintf, sprintf, vsprintf, fprintf, vfprintf. Added
prototypes for stdin and stdout, added macro PUTCHAR to
automatically implement putchar function prototype,
* device/include/pic16/usart.h: modified and updated USART library,
* device/lib/pic16/libio/adc/,
* device/lib/pic16/libio/i2c: some modifications to improve library
performance,
* device/lib/pic16/libc/stdio/: modifications for the new printf*
family of functions,
* device/lib/pic16/libc/stdlib/: various modifications in the malloc
family of functions and other sources,
* device/lib/pic16/libio/usart/: NEW, c sources for the usart module
of the PIC18Fxx[28] devices,
* device/lib/pic16/libc/delay/: NEW, c sources for the delay functions,
* device/lib/pic16/libc/utils/: minor modifications in the .S sources,
* device/lib/pic16/startup/{crt0i.c, crt0iz.c}: redesign of the
_do_cinit function, because the previous failed when local variables
where not placed in the same memory bank,
* device/lib/pic16/libsdcc/char/: various modifications to improve
library performance,
* doc/sdccman.lyx: some reorganization of the PIC16 part, added many
information on the new functions of the c library and more...

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

19 years ago* doc/sdccman.lyx: some reorganization of the PIC16 part, added many
vrokas [Thu, 31 Mar 2005 16:11:14 +0000 (16:11 +0000)]
* doc/sdccman.lyx: some reorganization of the PIC16 part, added many
information on the new function of the c library and more...

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

19 years ago* src/SDCCBBlock.c (iCodeBreakDown): fixed bug #1170212
epetrich [Mon, 28 Mar 2005 00:47:38 +0000 (00:47 +0000)]
* src/SDCCBBlock.c (iCodeBreakDown): fixed bug #1170212

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

19 years ago* src/pic16/gen.c (genSkipc): fixed semantics (execute branch
tecodev [Sat, 26 Mar 2005 17:49:18 +0000 (17:49 +0000)]
* src/pic16/gen.c (genSkipc): fixed semantics (execute branch
  if condition == CARRY)
* (genCmp): adapted to new genSkipc semantics
* src/pic16/genutils.c (pic6_genCmp_special): removed side effect
  on rIfx (genCmp was broken)

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

19 years ago* src/SDCCmain.c (setDefaultOptions, optionsTable[], parseCmdLine),
epetrich [Sat, 26 Mar 2005 06:07:40 +0000 (06:07 +0000)]
* src/SDCCmain.c (setDefaultOptions, optionsTable[], parseCmdLine),
* src/z80/main.c (_keywords[]),
* src/SDCCglobal.h (struct options),
* src/SDCC.y,
* src/SDCC.lex (isTargetKeyword, doPragma, pragma_tbl[]): new pragmas
to enable/disable SDCC and C99 extensions/keywords (std_c89, std_sdcc89,
std_c99, std_sdcc99). Also, equivalent command line options (--std-c89,
--std-sdcc89, --std-c99, --std-sdcc99). SDCC specific keywords are
always available in leading double underscore form. The C99 support is
mostly missing, but it's a start.
* support/regression/tests/bug-227710.c: fixed nonconforming use of
reserved identifier "__data".

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