fw/sdcc
18 years ago* sim/ucsim/cmd.src/newcmd.cc: fixed bug with uninitialized varaibles
borutr [Tue, 1 Nov 2005 13:33:09 +0000 (13:33 +0000)]
* sim/ucsim/cmd.src/newcmd.cc: fixed bug with uninitialized varaibles

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

18 years ago* sim/ucsim/app.cc, sim/ucsim/cmd.src/cmdutil.cc, sim/ucsim/cmd.src/newcmd.cc:
borutr [Tue, 1 Nov 2005 12:28:48 +0000 (12:28 +0000)]
* sim/ucsim/app.cc, sim/ucsim/cmd.src/cmdutil.cc, sim/ucsim/cmd.src/newcmd.cc:
  enabled sockets on WIN32

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

18 years ago* support/regression/tests/bitfields.c: exclude failing assertions for
borutr [Mon, 31 Oct 2005 18:22:32 +0000 (18:22 +0000)]
* support/regression/tests/bitfields.c: exclude failing assertions for
  __CYGWIN32__ and __MINGW32__ hosts

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

18 years ago* src/SDCCsymt.c (compStructSize): make bitfields without (un)signed specifier unsigned
bernhardheld [Mon, 31 Oct 2005 14:23:59 +0000 (14:23 +0000)]
* src/SDCCsymt.c (compStructSize): make bitfields without (un)signed specifier unsigned

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

18 years ago* support/regression/generate-cases.py: escape backslashes in {testcase}:
borutr [Mon, 31 Oct 2005 13:35:09 +0000 (13:35 +0000)]
* support/regression/generate-cases.py: escape backslashes in {testcase}:
  WIN32 backslash path delimiters should be escaped when used in C strings

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

18 years ago* src/SDCCutil.c: corrected double comparison typo
borutr [Sun, 30 Oct 2005 20:07:50 +0000 (20:07 +0000)]
* src/SDCCutil.c: corrected double comparison typo

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

18 years ago* doc/sdccman.lyx: documented medium model
maartenbrock [Sun, 30 Oct 2005 13:30:20 +0000 (13:30 +0000)]
* doc/sdccman.lyx: documented medium model

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

18 years ago* device/lib/medium/Makefile: added for new memory model medium
maartenbrock [Sun, 30 Oct 2005 12:18:12 +0000 (12:18 +0000)]
* device/lib/medium/Makefile: added for new memory model medium
* device/include/asm/mcs51/features.h: updated for medium/pdata
* device/include/mcs51/c8051f120.h: added sfr16/sfr32 definitions,
  added Multiply & Accumulate sbit's and MAC0_PAGE define
* device/include/mcs51/c8051f300.h: added sfr16 definitions
* device/include/mcs51/c8051f310.h: added sfr16 definitions
* device/lib/_mullong.c: update for medium model
* device/lib/incl.mk: added medium model
* src/SDCCast.c (isBitAndPow2): simplified using updated powof2
* src/SDCCicode.c (geniCodeMultiply, geniCodeDivision): use updated powof2
* src/SDCCmain.c (optionsTable, linkEdit): enabled medium model
* src/SDCCmem.c (allocIntoSeg): set iaccess for pdata symbols,
  (allocParms): set SCLS and OCLS to pdata for medium model
* src/SDCCsymt.c (processFuncArgs): use default_local_map and set iaccess
  for pdata,
  (powof2): return <0 if not power of 2
* src/avr/gen.c (genBitWise): use updated powof2
* src/mcs51/gen.c (genMinusDec): use acc if necessary,
  (shiftR2Left2Result): small optimization in setup, save acc when storing,
  (shiftLLeftOrResult): use B if necessary
* src/mcs51/main.c (_mcs51_finaliseOptions, mcs51_port): added medium model
* src/mcs51/peeph.def: renamed 226 to 226.b, added 226.a
* src/pic/main.c (_pic14_do_link): made void parameter list explicit
* support/regression/Makefile.in: added test-mcs51-medium
* support/regression/ports/mcs51-medium/spec.mk: added to test medium model

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

18 years ago* device/lib/time.c (mktime): fixed bug 1334315
bernhardheld [Fri, 28 Oct 2005 19:50:51 +0000 (19:50 +0000)]
* device/lib/time.c (mktime): fixed bug 1334315

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

18 years ago* src/SDCCsymt.c (compStructSize): make bitfields without (un)signed specifier unsigned
bernhardheld [Fri, 28 Oct 2005 19:06:22 +0000 (19:06 +0000)]
* src/SDCCsymt.c (compStructSize): make bitfields without (un)signed specifier unsigned

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

18 years ago* device/include/pic/p16f_common.inc: added common declarations
tecodev [Fri, 28 Oct 2005 09:42:56 +0000 (09:42 +0000)]
* device/include/pic/p16f_common.inc: added common declarations
* src/pic/ralloc.c (initStack): moved regs *r to block start for Alpha

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

18 years agoFixed compile error in MSVC
jesusc [Fri, 28 Oct 2005 07:28:52 +0000 (07:28 +0000)]
Fixed compile error in MSVC

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

18 years ago* src/mcs51/gen.c (getTempRegs): return 0 if not enough registers found,
maartenbrock [Thu, 27 Oct 2005 21:05:38 +0000 (21:05 +0000)]
* src/mcs51/gen.c (getTempRegs): return 0 if not enough registers found,
  (aopPutUsesAcc): added to predict accumulator use,
  (assignResultValue): save acc if necessary,
  (genMinusDec): store result if indirectly addressed,
  (genDivOneByte):  save acc if necessary,
  (movLeft2Result): bugfix if left already in acc,
  (genAnd, genOr, genXor, shiftL2Left2Result, shiftR2Left2Result): pay more
    attention to accumulator use (esp. pdata),
  (genReceive): receive pdata correctly
* src/SDCCicode.c (isOperandInPagedSpace): added to detect pdata operands
* src/SDCCicode.h: added isOperandInPagedSpace prototype

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

18 years ago* doc/sdccman.lyx: corrected version (should be 2.5.4 not 2.5.5)
tecodev [Thu, 27 Oct 2005 21:01:58 +0000 (21:01 +0000)]
* doc/sdccman.lyx: corrected version (should be 2.5.4 not 2.5.5)

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

18 years ago* .version: changed version to 2.5.4
tecodev [Thu, 27 Oct 2005 19:32:46 +0000 (19:32 +0000)]
* .version: changed version to 2.5.4
* doc/sdccman.lyx: changed version to 2.5.4, added some remarks to PIC14
* device/lib/pic/libsdcc/{_mulint.c,_mullong.c}: use unsigned literals,
  (_divschar.c,divuchar.c,_mulchar.c,_modschar.c,_moduchar): NEW,
    arithmetics support routines
* device/lib/pic/Makefile.rules: have assembler sources preprocessed
* device/lib/Makefile.in: also create installdir for pic

* src/SDCCopt.c (cnvToFcall): mark support routines `extern' for
  pic14 port as well
* src/pic/device.c (dump_sfr): rewritten to delegate register
  placement to the linker (use `extern sym' rather than sym EQU addr),
  (validAddress): fixed to check last specified address
* src/pic/gen.c (aopForSym): added code to deal with array (useless?),
  (popGetLit): truncate literal value to 8 bit,
  (popGet): moved assert to more appropriate place
  (popGetExternal): create pCode operand from and mark the according
    symbol as being `extern'
  (popGetAddr): added sanity check on immediate's offset, provide
    GPOINTER tag on demand
  (aopPut): fixed for immediates,
  (mov2w_op): move operand's address or contents to WREG (depending on
    operand type), safer variant of mov2w,
  (movwf,call_libraryfunc): NEW, handy abbreviations,
  (get_argument_pcop,get_return_val_pcop,pass_argument,
  get_returnvalue): interface for accessing function parameters and
    return values,
  (assignResultValuei,genRet): use new parameter/return value interface
  (pic14_getDataSize): back to old version handling generic pointers,
  (pic14_toBoolean,genNot,genCpl,genCmpEq,genOrOp): heavily rewritten,
    provided implementation and/or fixed old one,
  (genMultOneByte,genDivOneByte,genModOneByte): implemented as library
    calls, removed legacy 8051 reference code
  (AccLsh,AccRsh): rewritten and fixed to deal with signed operands
  (loadSignToC): NEW, move the operands sign bit to CARRY,
  (genGenericShift): NEW, replaces genLeftShift, genRightShift and
    genRightShiftSigned, accepts negative shift counts,
  (setup_fsr): load FSR and adjust IRP (indirect memory access),
  (emitPtrByteGet,emitPtrByteSet): rewritten, now works with
    generic pointers, __data pointers and __code pointers,
  (genUnpackBits,genPackBits): rewritten to work with generic pointers
    and signed bitfields, limit bitfields to 8 bit,
  (genDataPointerGet): fixed number of bytes read,
  (genGenPointerGet,genConstPointerGet): fixed bitfield access,
  (genPointerGet,genPointerSet): fixed handling of __code pointers,
    pointers to constant data are no longer assumed to point to __code
    space, removed invalid pointer types,
  (bitpatternFromVal): retrieve the PICs representation of an integer
    or float literal,
  (genDataPointerSet): fixed assigning to po_immediate operands,
  (genGenPointerSet): implemented as library call,
  (genIfx): fixed incorrect condition,
  (genAddrOf): limit generic pointers' addresses to 2 bytes,
    provide GPOINTER tag according to destination's storage class,
  (genCast): added code to handle casting to generic pointers, added
    sign-/zero extension of the result
  (aop_isLitLike,op_isLitLike): fixed handling of immediates
* src/pic/gen.h: added macros to access IRP bit in STATUS register
* src/pic/genarith.c (genAddLit): use min(result's,left's) size, sign
  extend the result
* src/pic/glue.c (is_shared_address,is_shared): check whether a given
  address/register resides in the shared banks
  (emitSymbolToFile): improved to handle global and `pinned' symbols,
    put all variables into separate sections (have the linker arrange
    them)
  (picglue): put init code and interrupt handlers in separate sections
* src/pic/main.c: added port specific options table, modified to PORT
  structure to make GPOINTERs 3 byte, added pic14_options
  (_pic14_do_link): private linking routine (update paths to libraries,
    add libsdcc.lib by default)
* src/pic/main.h: declare pic14_options
* src/pic/pcode.c: fixed instructions i/o relations,
  (RegCond): reverted to correct version,
  (newpCodeOpLit): truncate literals to 8 bit,
  (genericPrint): added debug output,
  (getRegFromInstruction): fixed for various operand types, simplified
  (BuildFlow): fixed broken handling of isntructions with labels
  (LinkFlow): start at last instruction in flow (skip trailing comments),
    pass the flow on to the next instruction after CALL
  (pCodeReplace): NEW, replace a pCode and move meta data to the new one
  (insertPCodeInstruction): fixed inserting after a skip instruction,
  (DoBankSelect): fixed for labeled instructions
  (OptimizepBlock): honor --nopeep switch
  (AnalyzeFlow,ReuseReg): prevent crash on source files with no function
* src/pic/pcodepeep.c (pCodePeepMatchRule): prevent NULL pointer accesses
* src/pic/pcoderegs.c (regIsLocal): NEW, check visibility of a register
  (pCodeOptime2pCodes): allow disabling this optimization via
    --no-pcode-opt due seldomly occuring bugs, fixed some conditions
    but is still buggy), started implementation of a dataflow based
    pCode optimization (CSE + dead code elimination)
  (pCodeRegMapLiveRangesInFlow): removed bogus inCond
* src/pic/ralloc.c (initStack): renamed stack registers to STK%d, the new
  names are independant of the stack location and therefore portable across
  devices

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

18 years ago* src/mcs51/ralloc.c (bitType): added to detect bit variables,
maartenbrock [Thu, 27 Oct 2005 14:21:46 +0000 (14:21 +0000)]
* src/mcs51/ralloc.c (bitType): added to detect bit variables,
  (selectSpil): fixed bug 1337835 by not spilling bit variables
* support/regression/tests/bug1337835.c: added test for this bug
* src/mcs51/peeph.def: restart after rule 3.c,
  addded rules 263.x to optimize loading constants

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

18 years ago* src/SDCCsymt.c (compStructSize): allow signed bitfields for PIC ports
tecodev [Wed, 26 Oct 2005 11:08:11 +0000 (11:08 +0000)]
* src/SDCCsymt.c (compStructSize): allow signed bitfields for PIC ports
* src/pic16/gen.c (genUnpackBits): support signed bitfields,
  (genAssign): emit warning when casting literals to generic pointer
    type, also applies when taking the address of a fixed variable,
  (genCast): improved casting to generic pointers
* src/pic16/glue.c (pic16emitStaticSeg): fixed(?) handling of fixed
  extern variables, added verbose error message
* device/include/pic16/{string.h,errno.h}: added #pragma library c

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

18 years ago* src/SDCCval.c (constVal): fixed bug 1305065
bernhardheld [Wed, 26 Oct 2005 08:27:29 +0000 (08:27 +0000)]
* src/SDCCval.c (constVal): fixed bug 1305065

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

18 years ago* src/mcs51/gen.c (genMinus): fixed bug 1270906: reverse subtraction, carry must...
bernhardheld [Wed, 26 Oct 2005 06:48:27 +0000 (06:48 +0000)]
* src/mcs51/gen.c (genMinus): fixed bug 1270906: reverse subtraction, carry must be complemented too
* src/mcs51/peeph.def: addded rule 262 to remove double cpl c, which could be emitted by genMinus

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

18 years ago* src/SDCCast.c (decorateType): fixed previouse immature commit, added optimisation
bernhardheld [Tue, 25 Oct 2005 13:41:41 +0000 (13:41 +0000)]
* src/SDCCast.c (decorateType): fixed previouse immature commit, added optimisation
(optimizeGetWord): fix warning 'i' might be used uninitialized
* src/mcs51/gen.c (genCpl): removed W_COMPLEMENT
* src/ds390/gen.c (genCpl): removed W_COMPLEMENT

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

18 years ago* src/SDCCast.c (addCast): added promotion for bit variables
bernhardheld [Tue, 25 Oct 2005 11:55:31 +0000 (11:55 +0000)]
* src/SDCCast.c (addCast): added promotion for bit variables
(decorateType): emit W_COMPLEMENT before the problem vanishes behind promotion casts

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

18 years ago* src/SDCCicode.c (ast2iCode): reverted to 1.224 because of regression: all chars...
bernhardheld [Mon, 24 Oct 2005 13:49:38 +0000 (13:49 +0000)]
* src/SDCCicode.c (ast2iCode): reverted to 1.224 because of regression: all chars are promoted to int; promotion should be handled in SDCCast.c

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

18 years agoRemoved unnecesary code.
jesusc [Sat, 15 Oct 2005 16:12:03 +0000 (16:12 +0000)]
Removed unnecesary code.

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

18 years agoFixed bug 1326457
jesusc [Sat, 15 Oct 2005 08:16:11 +0000 (08:16 +0000)]
Fixed bug 1326457

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

18 years ago* device/lib/pic16/libio/i2c.ignore: added 1320, fixes broken builds
tecodev [Tue, 11 Oct 2005 11:00:12 +0000 (11:00 +0000)]
* device/lib/pic16/libio/i2c.ignore: added 1320, fixes broken builds
* device/lib/pic16/libdev/pic18f1320.c: added 1320's device library

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

18 years ago* src/SDCC.y (AT): fixed bug with sfr32 addresses when built with GCC
maartenbrock [Wed, 5 Oct 2005 19:57:48 +0000 (19:57 +0000)]
* src/SDCC.y (AT): fixed bug with sfr32 addresses when built with GCC
* support/regression/tests/sfr16.c: added test for the sfr32 bug

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

18 years ago* device/include/pic16/pic18fregs.h, src/pic16/devices.inc,
tecodev [Tue, 4 Oct 2005 10:01:11 +0000 (10:01 +0000)]
* device/include/pic16/pic18fregs.h, src/pic16/devices.inc,
  device/lib/pic16/pics.all: added pic18f1320
* src/pic16/pcode.c (mnem2key): fixed prototype's argument mismatch

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

18 years ago* src/pic16/device.c (Pics16[]): moved device descriptions to devices.inc
tecodev [Fri, 30 Sep 2005 11:41:57 +0000 (11:41 +0000)]
* src/pic16/device.c (Pics16[]): moved device descriptions to devices.inc
* src/pic16/devices.inc: NEW, provides device descriptions
* src/pic16/gen.c (genInline): fixed handling of ';'-comments

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

18 years ago* src/SDCCicode.c (operandOperation): added GETABIT, GETBYTE, GETWORD and
maartenbrock [Mon, 26 Sep 2005 20:03:55 +0000 (20:03 +0000)]
* src/SDCCicode.c (operandOperation): added GETABIT, GETBYTE, GETWORD and
  GETHBIT

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

18 years ago* doc/sdccman.lyx: updated Highest Order Bit documentation,
maartenbrock [Sun, 25 Sep 2005 13:35:22 +0000 (13:35 +0000)]
* doc/sdccman.lyx: updated Highest Order Bit documentation,
  documented Any Order Bit, Higher Order Byte and Higher Order Word

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

18 years ago* src/SDCC.y: added tokens GETABIT, GETBYTE, GETWORD
maartenbrock [Sun, 25 Sep 2005 10:39:17 +0000 (10:39 +0000)]
* src/SDCC.y: added tokens GETABIT, GETBYTE, GETWORD
* src/SDCCast.c (optimizeGetHbit): updated to also accept bool=expr&(1<<n),
  (optimizeGetAbit): new, to get any bit, not only the high bit,
  (optimizeGetByte): new, to get a byte from a (long) int: expr>>(8*n),
  (optimizeGetWord): new, to get a word from a long int: expr>>(8*n),
  (isConformingBody): also check GETABIT, GETBYTE, GETWORD,
  (decorateType): '&': also try GETABIT, GETBYTE, GETWORD optimization,
    RIGHT_OP: also try GETBYTE, GETWORD optimization,
    GETABIT, GETBYTE, GETWORD: decorate them,
  (isShiftRightLitVal, isBitAndPowOf2): new helper functions,
  (ast_print): added GETABIT, GETBYTE, GETWORD
* src/SDCCcse.c (isSignedOp): added GETABIT, GETBYTE, GETWORD
* src/SDCCicode.c (codeTable): added GETABIT, GETBYTE, GETWORD,
  (geniCodeBinary): new generic binary icode,
  (ast2iCode): added GETABIT, GETBYTE, GETWORD
* src/port.h: updated comment for PORT.hasExtBitOp
* src/mcs51/gen.c (genGetAbit): new, to get any single bit,
  (genGetByte): new, to get a single byte,
  (genGetWord): new, to get a word from a long,
  (gen51Code): added GETABIT, GETBYTE, GETWORD
* src/mcs51/main.c (hasExtBitOp): added GETABIT, GETBYTE, GETWORD

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

18 years ago* configure.in, configure: have device/lib/pic configured
tecodev [Fri, 23 Sep 2005 21:59:29 +0000 (21:59 +0000)]
* configure.in, configure: have device/lib/pic configured
* device/lib/Makefile.in: added model-pic14
* device/lib/clean.mk: added pic/ to clean rule
* device/lib/pic: added rudimentary pic14 library providing support
  functions for multiplication/division/generic pointer access
* src/SDCCopt.c (convilong): mark support functions as extern
  for pic14 port as well
* src/pic/gen.c (genMult): added assertions,
  (genpic14Code): emit warning on unhandled iCodes
* src/pic/main.c (_hasNativeMulFor): return true only for 8x8 bit
* src/pic/pcode.c (pCodeOpCopy),
* src/pic16/pcodepeep.c (pic16_pCodeOpCopy): fixed handling of various
  pCodeOpReg-subtypes (PO_{STATUS,INTCON,PCL,PCLATH,PCLATU,BSR,
  SFR_REGISTER}), made safe for future extensions
* src/pic16/pcode.c (pic16_safepCodeUnlink): allow for removal of
  instructions even if preceeded by SKIP instructions (also remove
  them); removed unused code
* src/pic16/pcode.h: added arg2 to pCodeOpLit to match pCodeOpLit2,
  prevents leaving parts of the structure uninitialized after copying

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

18 years ago* src/mcs51/gen.c (genMinus): fix for undetected bug introduced 3 months
maartenbrock [Thu, 22 Sep 2005 16:43:33 +0000 (16:43 +0000)]
* src/mcs51/gen.c (genMinus): fix for undetected bug introduced 3 months
  ago by me
* support/regression/tests/addsub.c: added test for the bug

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

18 years ago* device/include/pic16/pic18f1220.h,
tecodev [Wed, 21 Sep 2005 11:26:13 +0000 (11:26 +0000)]
* device/include/pic16/pic18f1220.h,
  device/lib/pic16/libdev/pic18f1220.c: added ECCPAS sfr and bitfield
* device/lib/pic16/Makefile.rules: added missing opening paren
* src/pic16/gen.c (pic16_genNot,pic16_genCpl): removed as these
  are provided in genutils.c,
  (genUminusFloat,genUminus,genCmpEq): added asserts on different
  operand/result sizes,
  (genCmp): assert on NULL pointers first, then check deref'ed values
* src/pic16/genutils.c (pic16_genCpl): fixed for different operand/
  result size

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

18 years ago* src/pic16/gen.c (genFarPointerGet,genFarPointerSet): removed
tecodev [Sun, 18 Sep 2005 11:19:12 +0000 (11:19 +0000)]
* src/pic16/gen.c (genFarPointerGet,genFarPointerSet): removed
  as these are now unused,
  (genPointerGet,genPointerSet): handle FPOINTERs like POINTERs
* src/pic16/pcode.c (pic16_symIsSpecial): assume REG_TMPs to be
  local, avoids uninitialized pointer dereference on r->name
* src/pic16/ralloc.c (newReg): fixed indentation

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

18 years agonew version 2.5.3
mhelmling [Wed, 14 Sep 2005 08:18:22 +0000 (08:18 +0000)]
new version 2.5.3

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

18 years ago* src/SDCCval.c (constVal): updated truncation constants
maartenbrock [Tue, 13 Sep 2005 20:02:44 +0000 (20:02 +0000)]
* src/SDCCval.c (constVal): updated truncation constants

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

18 years ago* src/SDCCval.c (constVal): fixed bug 730366
maartenbrock [Tue, 13 Sep 2005 18:25:27 +0000 (18:25 +0000)]
* src/SDCCval.c (constVal): fixed bug 730366
* support/Util/SDCCerr.c,
* support/Util/SDCCerr.h: added warning W_INVALID_INT_CONST

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

18 years ago* as/mcs51/lkmem.c (summary2): fixed report for absolute areas (bug 1210220)
maartenbrock [Sat, 10 Sep 2005 17:57:51 +0000 (17:57 +0000)]
* as/mcs51/lkmem.c (summary2): fixed report for absolute areas (bug 1210220)

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

18 years ago* src/mcs51/peeph.def (241.x): fixed bug when comparing generic pointers
maartenbrock [Fri, 9 Sep 2005 12:04:58 +0000 (12:04 +0000)]
* src/mcs51/peeph.def (241.x): fixed bug when comparing generic pointers

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

18 years ago* as/hc08/lkaomf51.c (OutputName): made name unsigned char,
maartenbrock [Thu, 8 Sep 2005 16:47:48 +0000 (16:47 +0000)]
* as/hc08/lkaomf51.c (OutputName): made name unsigned char,
  (hex2dec): made hex_digit unsigned char, removed ascii dependance
* as/mcs51/lkaomf51.c (OutputName): made name unsigned char,
  (hex2dec): made hex_digit unsigned char, removed ascii dependance
* as/mcs51/lkarea.c (lnkarea2): sort absolute areas to the front
* packihx/packihx.c (hexDigit): made c unsigned char
* as/mcs51/lklibr.c (fndsym),
* link/z80/lkgb.c (gb),
* link/z80/lklibr.c (fndsym),
* link/z80/lkrloc.c (relr),
* sim/ucsim/libltdl/ltdl.c (load_deplibs, try_dlopen),
* src/SDCC.lex (checkCurrFile, process_pragma),
* src/SDCCglue.c (spacesToUnderscores),
* src/SDCCmain.c (setParseWithComma, processFile),
* src/asm.c (tvsprintf, printCLine),
* src/avr/gen.c (emitcode, aopPut),
* src/ds390/gen.c (emitcode),
* src/hc08/gen.c (emitcode, emitinline),
* src/mcs51/gen.c (emitcode, genInline),
* src/pic/pcodepeep.c (cvt_extract_destination, cvt_extract_status,
  tokenizeLineNode),
* src/pic/ralloc.c (debugLog),
* src/pic16/pcodepeep.c (cvt_extract_destination, cvt_extract_status,
  tokenizeLineNode),
* src/pic16/ralloc.c (debugLog),
* src/z80/main.c (_process_pragma):
   made all ctype.h function calls safe
* src/SDCCopt.c: include math.h for fabs
* src/SDCCpeeph.c: added macros ISCHARDIGIT, ISCHARSPACE and ISCHARALNUM
  and used them throughout the code to make ctype.h function calls safe
* src/ds390/main.c (asmLineNodeFromLineNode),
* src/mcs51/main.c (asmLineNodeFromLineNode): made p unsigned char*
* src/pic/gen.c (DEBUGpic14_emitcode, pic14_emitcode): made lbp
   unsigned char*
* src/pic/pcode.c (mnem2key): made mnem unsigned char*,
  (newpCodeAsmDir): made ctype.h function calls safe
* src/pic16/gen.c (pic16_emitpcomment, DEBUGpic16_emitcode,
  pic16_emitcode):  made lbp unsigned char*
* src/pic16/pcode.c (mnem2key): made mnem unsigned char*,
  (pic16_newpCodeAsmDir): made ctype.h function calls safe
* src/xa51/gen.c (emitcode),
* src/z80/gen.c (_emit2): made lbp unsigned char*
* support/Util/MySystem.c (split_command): made cmd_line and p unsigned
   char*

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

18 years ago* src/pic16/ralloc.c (pic16_allocDirReg): use device specific
tecodev [Mon, 5 Sep 2005 10:18:32 +0000 (10:18 +0000)]
* src/pic16/ralloc.c (pic16_allocDirReg): use device specific
  access bank splitpoint

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

18 years ago* device/lib/pic16/libc/Makefile: added (missing) string to SUBDIRS
tecodev [Mon, 5 Sep 2005 09:03:38 +0000 (09:03 +0000)]
* device/lib/pic16/libc/Makefile: added (missing) string to SUBDIRS

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

18 years ago* .version: changed to version 2.5.3
maartenbrock [Sat, 3 Sep 2005 10:35:46 +0000 (10:35 +0000)]
* .version: changed to version 2.5.3
* doc/sdccman.lyx: changed version to 2.5.3,
  documented --codeseg and --constseg and pragma codeseg and constseg,
  documented bit parameters (reentrant) and bit returning
* src/SDCCicode.c (geniCodeReceive): fixed (possible) bug generating
   currFunc->recvSize, but is this ok for all ports?
  (ast2iCode): result of ~ on unsigned char must be cast to int for
   bool to work
* src/SDCCmem.c (allocGlobal, allocLocal): don't put bit returning
  function pointers in bit space
* src/SDCCsymt.c (checkSClass): allow bit returning function pointers,
  (processFuncArgs): call port.reg_parm() with reentrancy info
* src/port.h,
* src/avr/main.c,
* src/ds390/main.c,
* src/hc08/main.c,
* src/pic/main.c,
* src/pic16/main.c,
* src/xa51/main.c,
* src/z80/main.c: port.reg_parm prototype extended with
  "bool reentrant" parameter
* src/mcs51/main.c (_mcs51_regparm): use parameter reentrant instead of
  options.stackAuto for allocating bit register parameters
* src/mcs51/gen.c (genNot): optimized complementing direct bit,
  (genSend): set BitBankUsed if it is,
  (selectRegBank): factored out of genCall for use in genPcall,
  (genCall): removed redundant dtype assignmen, use selectRegBank,
  (genPcall): handle returning in Carry properly, save in F0 if needed,
  (genReceive): handle bit register parameters
* src/mcs51/ralloc.c (updateRegUsage): update BitBankUsed along the way,
  (mcs51_assignRegisters): enable bit registers for all reentrant
   functions and don't set BitBankUsed unconditionally
* src/mcs51/peeph.def (177.d): fixed bug if %2==%3
* support/regression/tests/bitvars.c: enable tests for SDCC_STACK_AUTO
* support/regression/tests/funptrs.c: added tests for BOOL and for return

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

18 years ago* device/lib/Makefile.in: cp on sparc-solaris (SunOS) and on ppc-osx (Darwin) does...
borutr [Sat, 27 Aug 2005 08:10:02 +0000 (08:10 +0000)]
* device/lib/Makefile.in: cp on sparc-solaris (SunOS) and on ppc-osx (Darwin) does not support -u option. It seems that it is supported only on Linux - GNU cp

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

18 years ago* sim/ucsim/gui.src/serio.src/Makefile.in, sim/ucsim/s51.src/Makefile.in, sim/ucsim...
sdcc-builder [Thu, 25 Aug 2005 19:25:47 +0000 (19:25 +0000)]
* sim/ucsim/gui.src/serio.src/Makefile.in, sim/ucsim/s51.src/Makefile.in, sim/ucsim/avr.src/Makefile.in, sim/ucsim/z80.src/Makefile.in, sim/ucsim/hc08.src/Makefile.in, sim/ucsim/xa.src/Makefile.in: install -s changed to 2 steps: install and strip, since the strip at /usr/ccs/bin should be used on solaris

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

18 years ago* clean.mk, device/lib/clean.mk: find on sparc-solaris does not support -maxdepth...
borutr [Wed, 24 Aug 2005 20:35:57 +0000 (20:35 +0000)]
* clean.mk, device/lib/clean.mk: find on sparc-solaris does not support -maxdepth option

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

18 years ago* src/SDCCopt.c (convertToFcall): fixed modulus with divisors 1 and ffffffffu
bernhardheld [Tue, 23 Aug 2005 20:22:54 +0000 (20:22 +0000)]
* src/SDCCopt.c (convertToFcall): fixed modulus with divisors 1 and ffffffffu

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

18 years ago* as/mcs51/aslink.h: completed lkrloc.c prototypes
maartenbrock [Tue, 23 Aug 2005 18:59:52 +0000 (18:59 +0000)]
* as/mcs51/aslink.h: completed lkrloc.c prototypes
* as/mcs51/lkmain.c (link_main): fixed warning
* device/include/stdbool.h: ds390 has no advanced bit support yet
* src/SDCC.y: use SPEC_SHORT and renamed _signed to b_signed
* src/SDCCsymt.c: use SPEC_SHORT and renamed _signed to b_signed
* src/SDCCsymt.h (struct specifier): renamed _xxx bitfields to b_xxx
  and updated their macros
* src/SDCCval.c (constVal): updated comment for renamed b_long

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

18 years ago* as/mcs51/asdata.c: changed ctype['['] to BINOP
maartenbrock [Mon, 22 Aug 2005 21:00:12 +0000 (21:00 +0000)]
* as/mcs51/asdata.c: changed ctype['['] to BINOP
* as/mcs51/asexpr.c (expr): added case '[' for bit access in bdata,
  (term): abused bit 15 of s_addr to indicate bit-addressable bytes,
  (oprio): set priority for '['
* as/mcs51/aslink.h: added define R_BIT, and prototypes for adb_bit
   and adb_24_bit
* as/mcs51/asm.h: added defines R_BIT and S_BIT
* as/mcs51/lkarea.c (lnksect2): use T for seg BIT_BANK and overlay it
* as/mcs51/lkdata.c: changed ctype['['] to BINOP
* as/mcs51/lkmain.c (Areas51): rel2 contains 12 (=C) areas now,
  added overlayable BIT_BANK area
* as/mcs51/lkmem.c (summary): add BIT_BANK to BSEG_BYTES in the report,
  (summary2): explain 'T' in legenda
* as/mcs51/lkrloc.c: replaced old K&R style,
  (relr): added R_BIT processing,
  (errmsg): added "Bit-addressable relocation error",
  (adb_bit): added for converting from byte- to bit-addressable space,
  (adb_24_bit): added for converting from byte- to bit-addressable space
* device/include/stdbool.h: changed BOOL to __bit for mcs51 as it can be
   used in reentrant functions now even as return value
* device/lib/_gptrput.c (_gptrput): removed obsolete code
* src/SDCCast.c (resultTypePropagate): also propagate AND_OP and OR_OP,
  (decorateType): case '!', GETHBIT, AND_OP, OR_OP: result in bool or char
* src/SDCCglobl.h: added indicator BitBankUsed
* src/SDCCglue.c (glue): emit area BIT_BANK with byte 'bits' and equ's for
   the bit registers b0-b7
* src/SDCCicode.c (operandFromSymbol): removed IS_BITVAR check,
  (geniCodeCast): fixed bug 1263853,
  (geniCodeLogicAndOr): put result in bool or char,
  (geniCodeReceive): added parameter func for accessing the return type,
  (geniCodeFunctionBody): pass func to geniCodeReceive
* src/SDCCmain.c: added indicator BitBankUsed
* src/SDCCmem.c (allocLocal): explicitly set sclass for V_BIT
* src/SDCCsymt.c (newBoolLink): added for creating a bool/bit,
  (checkSClass): don't put automatic bool/bit on stack,
  (checkFunction): removed check on function cannot return bit
* src/SDCCsymt.h: added newBoolLink prototype
* src/mcs51/gen.c (rb1regs): added bit registers,
  (movc): created for assigning to carry,
  (pushReg, popReg): created for pushing registers,
  (sameRegs): check both AOP_REG and AOP_CRY types,
  (aopOp): handle bit registers,
  (aopPut): optimization no self-assign,
  (saveRegisters): push reg->base (bits) only once for bit registers,
   and use pushReg,
  (unsaveRegisters): pop reg->base only once and use popReg,
  (assignResultValue): added parameter func and return in carry for bits,
  (genIpush): optimization no reload in A if not changed,
  (genSend): bit parameters in reentrant functions are passed in bit
   registers by first assigning to bits in B, then save registers and
   copy B to bits,
  (genCall): handle returning in Carry properly, save it in F0 if needed,
  (genPcall): updated assignResultValue call, this is not safe yet for bit
   returning function !!!
  (genFunction): don't generate equ's for bit registers and use pushReg,
  (genEndFunction): take care of bit returning functions and use popReg,
  (genRet): return bit in Carry,
  (genIfx): optimize bit registers and other directly addressable bits,
  (genReceive): updated assignResultValue call
* src/mcs51/main.c (_mcs51_reset_regparm): added regBitParmFlg,
  (_mcs51_regparm): allow passing of upto 8 bit parameters in bit
   registers when using stack-auto
* src/mcs51/ralloc.c (_G): added allBitregs,
  (regs8051): added the bit registers,
  (createStackSpil): use macro IS_BIT,
  (getRegBit): added to allocate a bit register, else spill,
  (getRegBitNoSpil): added to allocate a bit register, else a gpr,
  (updateRegUsage): factored out to ease stepping while debugging,
  (serialRegAssign): use updateRegUsage, only spill bits if necessary,
   also allocate bit registers,
  (fillGaps): handle bit registers,
  (findAllBitregs): added to create bit vector with all bit registers,
  (mcs51_allBitregs): returns this bit vector,
  (mcs51_assignRegisters): when using stack-auto use bit registers for
   passing parameters and creating local variables
* src/mcs51/ralloc.h: added B0_IDX..B7_IDX and prototype mcs51_allBitregs

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

18 years ago* device/lib/Makefile.in: replaced find option -or with -o to make it run on solaris
borutr [Mon, 22 Aug 2005 18:47:44 +0000 (18:47 +0000)]
* device/lib/Makefile.in: replaced find option -or with -o to make it run on solaris

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

18 years agoreplaced find option -or with -o to make it run on solaris
borutr [Mon, 22 Aug 2005 18:38:58 +0000 (18:38 +0000)]
replaced find option -or with -o to make it run on solaris

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

18 years ago* src/pic16/gen.c (pic16_loadFromReturn): added check for AOP_PCODE,
tecodev [Mon, 22 Aug 2005 08:58:30 +0000 (08:58 +0000)]
* src/pic16/gen.c (pic16_loadFromReturn): added check for AOP_PCODE,
  fixes #1265442 (crash on Solaris)

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

18 years agogenerate support/regressiom/Makefile from support/regressiom/Makefile.in
sdcc-builder [Sat, 20 Aug 2005 20:16:40 +0000 (20:16 +0000)]
generate support/regressiom/Makefile from support/regressiom/Makefile.in

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

18 years ago* support/regression/Makefile: removed
borutr [Sat, 20 Aug 2005 20:12:13 +0000 (20:12 +0000)]
* support/regression/Makefile: removed

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

18 years ago* configure, configure.in: generate support/regression/Makefile
borutr [Sat, 20 Aug 2005 20:09:14 +0000 (20:09 +0000)]
* configure, configure.in: generate support/regression/Makefile
  from support/regression/Makefile.in
* support/regression/Makefile.in: added

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

18 years ago* device/lib/Makefile.in: cp on sparc-solaris (SunOS) does not support -u option
borutr [Sat, 20 Aug 2005 18:51:10 +0000 (18:51 +0000)]
* device/lib/Makefile.in: cp on sparc-solaris (SunOS) does not support -u option
* as/Makefile: find on sparc-solaris does not support -maxdepth option

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

18 years agocp on sparc-solaris (SunOS) does not support -u option
sdcc-builder [Sat, 20 Aug 2005 17:28:56 +0000 (17:28 +0000)]
cp on sparc-solaris (SunOS) does not support -u option

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

18 years ago* configure, configure.in: added tests for libsocket and libnsl libraries,
borutr [Sat, 20 Aug 2005 13:00:26 +0000 (13:00 +0000)]
* configure, configure.in: added tests for libsocket and libnsl libraries,
  requred by sdcdb on sparc-solaris
* device/lib/pic16/Makefile.common.in: force make to use bash shell
* sim/ucsim/libtool: regenerated on sparc-solaris
* sim/ucsim/avr.src/Makefile.in, sim/ucsim/hc08.src/Makefile.in,
  sim/ucsim/s51.src/Makefile.in, sim/ucsim/xa.src/Makefile.in,
  sim/ucsim/z80.src/Makefile.in: removed GNU ld specific linker options
  -Wl,--start-group and -Wl,--end-group to enable ucsim compilation on
  sparc-solaris, which doesn't use GNU ld linker

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

18 years agoenable build on sparc-solaris
sdcc-builder [Sat, 20 Aug 2005 10:27:03 +0000 (10:27 +0000)]
enable build on sparc-solaris

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

18 years ago* src/mcs51/peeph.def: updated comments
maartenbrock [Fri, 19 Aug 2005 11:58:00 +0000 (11:58 +0000)]
* src/mcs51/peeph.def: updated comments

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

18 years agodevice/lib/_gptrget.c,
frief [Tue, 16 Aug 2005 20:59:28 +0000 (20:59 +0000)]
device/lib/_gptrget.c,
device/lib/_gptrput.c: slightly shorter
doc/sdccman.lyx: incremented version
src/mcs51/peeph.def: moved peephole comments to the line of first
change to better keep line correlation, reanimated 186.e src/mcs51/peeph.def: renamed similar peepholes by using suffixes

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

18 years agoslightly shorter
frief [Tue, 16 Aug 2005 20:57:50 +0000 (20:57 +0000)]
slightly shorter

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

18 years agoincremented version
frief [Tue, 16 Aug 2005 20:56:00 +0000 (20:56 +0000)]
incremented version

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

18 years agomoved peephole comments to the line of first change to better keep line correlation...
frief [Tue, 16 Aug 2005 20:54:30 +0000 (20:54 +0000)]
moved peephole comments to the line of first change to better keep line correlation, reanimated 186.e

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

18 years agorenamed similar peepholes by using suffixes
frief [Tue, 16 Aug 2005 20:53:15 +0000 (20:53 +0000)]
renamed similar peepholes by using suffixes

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

18 years agopic14 : Pasted ".line" assembly directives patch from David Saxton with quotes around...
slade_rich [Tue, 16 Aug 2005 00:37:19 +0000 (00:37 +0000)]
pic14 : Pasted ".line" assembly directives patch from David Saxton with quotes around file name.

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

18 years agoPasted ".line" assembly directives patch from David Saxton with quotes around file...
slade_rich [Tue, 16 Aug 2005 00:36:49 +0000 (00:36 +0000)]
Pasted ".line" assembly directives patch from David Saxton with quotes around file name.

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

18 years agomake tests run on x86_64 platform
borutr [Mon, 15 Aug 2005 19:12:29 +0000 (19:12 +0000)]
make tests run on x86_64 platform

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

18 years agomake tests run on x86_64 platform
borutr [Mon, 15 Aug 2005 19:05:50 +0000 (19:05 +0000)]
make tests run on x86_64 platform

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

18 years ago* device/lib/pic16/Makefile.subdir: weakened clean-intermediate rule
tecodev [Sat, 13 Aug 2005 14:28:20 +0000 (14:28 +0000)]
* device/lib/pic16/Makefile.subdir: weakened clean-intermediate rule
  as it might be executed DURING a build (parallel make is wonderful)

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

18 years ago* device/lib/Makefile.in (port-specific-objects-pic16):
tecodev [Sat, 13 Aug 2005 13:06:16 +0000 (13:06 +0000)]
* device/lib/Makefile.in (port-specific-objects-pic16):
  revert to cp $(PORT)/bin/*.* $(PORTDIR)
* device/lib/pic16/Makefile: added .PHONY targets, removed builddir
  dependency
* device/lib/pic16/Makefile.rules: build subdirs before creating
  the library, removed builddir rule, create $(builddir) early in
  recurse rule, use empty recurse rule for leaf directories
* device/lib/pic16/Makefile.subdir: added phony targets, ignore
  mkdir errors (race condition), removed duplicate suffix "hex"
  from clean rules
* device/lib/pic16/libdev/Makefile: recursive make via + and $(MAKE)
* device/lib/pic16/libio/Makefile: create sub-make's builddir early,
  prevents mkdir -p from aborting on Alpha

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

18 years ago* src/pic16/glue.c (pic16_print(G)PointerType): do not flush
tecodev [Fri, 12 Aug 2005 11:21:04 +0000 (11:21 +0000)]
* src/pic16/glue.c (pic16_print(G)PointerType): do not flush
  db-statements in order to allow for arrays of pointers in code
  sections to be placed without interspersed 0-padding, fixes
  bug #1256215
* (emitStatistics): fixed division by zero for pic18f1220
* src/pic16/pcode.c: buffer (up to) 12 DB directives to allow for
  unpadded writing of 8-bit, 16-bit, 24-bit and 32-bit values
* (pic16_emitDS): respect DB_ITEMS_PER_LINE
* (pic16_pCodeConstString): keep track of already emitted string
  literals to prevent "duplicate definitions of symbol _str_NR"
* src/pic16/ralloc.c (pic16_allocRegByName): removed not so helpful
  debug message
* device/lib/Makefile.in: ignore failing PIC16 library builds
* device/lib/pic16/Makefile: do not build if gputils are missing
* device/lib/pic16/Makefile.common.in: do not enforce MAKEFLAGS=-s

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

18 years ago* device/lib/Makefile.in: fixed copying pic16 libraries (broken by
tecodev [Wed, 10 Aug 2005 11:32:44 +0000 (11:32 +0000)]
* device/lib/Makefile.in: fixed copying pic16 libraries (broken by
  my last commit)

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

18 years ago* src/*.c, src/pic16/{gen.c,glue.c,main.c}: applied Vangelis
tecodev [Wed, 10 Aug 2005 10:53:34 +0000 (10:53 +0000)]
* src/*.c, src/pic16/{gen.c,glue.c,main.c}: applied Vangelis
  Rokas' patch to add the new fixed point type "__fixed16x16"
* device/lib/pic16/libsdcc/fixed16x16: added Vangelis' support
  functions for __fixed16x16 arithmetics
* device/lib/pic16: reimplemented the build system to support
  a separate build directory, better handling of libio (create
  the library in a separate subdir for each architecture) and
  easier configuration (centralized in Makefile.common)

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

18 years ago* src/pic16/gen.c (genrshTwo): fixed sign extension
tecodev [Sun, 7 Aug 2005 20:09:11 +0000 (20:09 +0000)]
* src/pic16/gen.c (genrshTwo): fixed sign extension
* src/pic16/device.c: added pic18f2320, 4220 and 4320
* device/include/pic16/pic18f2220.h: changed some bit definitions,
  added T0CONbits
* device/include/pic16/pic18f4220.h: NEW, header for
  pic18f4220 and pic18f4320
* device/include/pic16/pic18fregs.h: added new devices,
  embraced Nop(), ClrWdt(), Sleep() and Reset() with do {} while(0)
* device/include/pic16/signal.h: resolved name clashes
  on bit definitions, added DEF_HANDLER2(sig1,sig2,handler)
  to also allow testing for interrupt enable bits, added
  comments on how to use the macros
* device/lib/pic16/libdev/pic18f2220.c: added T0CONbits
* device/lib/pic16/libdev/pic18f{2320,4220,4320}.c: NEW,
  register definitions for the devices
* device/lib/pic16/pics.all: added new devices
* device/lib/pic16/libc/stdlib/calloc.c: fixed zeroing
  allocated memory
* device/lib/pic16/libc/stdlib/memfree: do not count
  the block header as free memory
* device/lib/pic16/libc/stdlib/memmisc.c (_initHeap):
  simplified and added missing end-of-blocklist-marker
  (reported by Peter Onion, fixes #1252814)
* (_mergeHeapBlock): fixed loop condition
* device/lib/pic16/libc/stdlib/realloc.c: return NULL for
  len==0, restructured code
* device/lib/pic16/libc/stdlib/{malloc,memfreemax}.c: cleaned
  up a bit, reduced bitfield accesses, prevent endless loops
  in case of heap corruption
* device/lib/pic16/libc/stdlib/x_ftoa.c: disabled
  "unreferenced arguments/must return a value" warnings
* device/lib/pic16/libio/usart/ubaud.c (usart_baud):
  replaced BAUDREG with SPBRG
* device/lib/pic16/libsdcc/lregs/{lrrest.c,lrst.c},
  device/lib/pic16/debug/gstack/gstack.c: replaced
  _naked, _asm, _endasm with __naked, __asm, __endasm

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

18 years ago* support/scripts/sdcc.nsi: added lib/pic16 to the package
borutr [Fri, 5 Aug 2005 19:01:35 +0000 (19:01 +0000)]
* support/scripts/sdcc.nsi: added lib/pic16 to the package

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

18 years ago* device/lib/Makefile.in: added missing ';'
borutr [Fri, 5 Aug 2005 11:51:20 +0000 (11:51 +0000)]
* device/lib/Makefile.in: added missing ';'
* configure: removed ^M characters

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

18 years ago* src/pic16/gen.c (pic16_aopGet): fixed handling of offsets in
tecodev [Fri, 5 Aug 2005 09:29:01 +0000 (09:29 +0000)]
* src/pic16/gen.c (pic16_aopGet): fixed handling of offsets in
  AOP_PCODE operands, fixes multibyte union-bitfield-accesses

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

18 years ago* configure: removed ^M characters
borutr [Fri, 5 Aug 2005 06:54:28 +0000 (06:54 +0000)]
* configure: removed ^M characters

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

18 years ago* device/lib/Makefile.in: added missing ';'
borutr [Fri, 5 Aug 2005 06:52:46 +0000 (06:52 +0000)]
* device/lib/Makefile.in: added missing ';'

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

18 years agoat89c51ed2.h, p89v51rd2.h, at89s53.h: GNU Lesser License
jesusc [Thu, 4 Aug 2005 15:04:17 +0000 (15:04 +0000)]
at89c51ed2.h, p89v51rd2.h, at89s53.h:  GNU Lesser License

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

18 years ago* configure.in: pic16 libraries build 2nd try - enable running
borutr [Thu, 4 Aug 2005 09:47:07 +0000 (09:47 +0000)]
* configure.in: pic16 libraries build 2nd try - enable running
  configure in device/lib/pic16
* configure: regenerated from configure.in
* device/lib/Makefile.in: create $(PORT)/bin directory

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

18 years ago* configure.in: pic16 libraries build 2nd try - enable running
borutr [Thu, 4 Aug 2005 09:19:18 +0000 (09:19 +0000)]
* configure.in: pic16 libraries build 2nd try - enable running
  configure in device/lib/pic16
* configure: regenerated from configure.in

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

18 years agoLicense -> GNU Lesser General License
bela [Thu, 4 Aug 2005 05:58:30 +0000 (05:58 +0000)]
License -> GNU Lesser General License

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

18 years ago* src/pic16/gen.c (pic16_derefPtr): NEW, single place
tecodev [Wed, 3 Aug 2005 12:00:24 +0000 (12:00 +0000)]
* src/pic16/gen.c (pic16_derefPtr): NEW, single place
  to get/set values via pointers
* (genUnpackBits,genPackBits): changed detection of
  ptr->bitfield vs. sym.bitfield, fixed access via generic
  pointers, removed dead (wrong) code for multibyte bitfields
* (genNearPointerGet, genGenPointerGet): removed useless code,
  fixed bitfield detection, fixes #1250594
* (genNearPointerSet): removed useless code
* src/pic16/gen.h: renamed pic16_emitpcode to pic16_emitpcode_real
  and introduced macro pic16_emitpcode that conditionally emits
  the origin of the following pCode (useful for debugging SDCC)
* src/pic16/pcode.c: changed (and disabled) some debug outputs
* (createDefmap): fixed handling of LFSR for --optimize-df

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

18 years agoLicense -> GNU Lesser General License
bela [Wed, 3 Aug 2005 09:42:35 +0000 (09:42 +0000)]
License -> GNU Lesser General License

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

18 years ago* device/lib/Makefile.in: pic16 libraries build enabled since
borutr [Tue, 2 Aug 2005 20:06:00 +0000 (20:06 +0000)]
* device/lib/Makefile.in: pic16 libraries build enabled since
  gputils-0.13.2 are now localy installed at sourceforge's compile farm

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

18 years ago* src/pic16/gen.c (genPackBits): removed deprecated warning
tecodev [Tue, 2 Aug 2005 17:17:04 +0000 (17:17 +0000)]
* src/pic16/gen.c (genPackBits): removed deprecated warning
* (genGenPointerSet): fixed bitfield detection

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

18 years agodevice/include/mcs51/msm8xc154s.h: Removed PT2 definition, now in 8052.h
jesusc [Tue, 2 Aug 2005 07:16:26 +0000 (07:16 +0000)]
device/include/mcs51/msm8xc154s.h: Removed PT2 definition, now in 8052.h

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

18 years agono message
jesusc [Tue, 2 Aug 2005 07:13:10 +0000 (07:13 +0000)]
no message

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

18 years agomissing definition PT added
bela [Tue, 2 Aug 2005 06:11:58 +0000 (06:11 +0000)]
missing definition PT added

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

18 years ago* device/lib/pic16/libdev/pic18f458.c,
tecodev [Sun, 31 Jul 2005 08:51:38 +0000 (08:51 +0000)]
* device/lib/pic16/libdev/pic18f458.c,
  device/include/pic16/pic18f458.h: added missing T0CONbits

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

18 years agoAdded missing bits.
jesusc [Sat, 30 Jul 2005 07:07:08 +0000 (07:07 +0000)]
Added missing bits.

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

18 years ago* device/include/mcs51/msm8xc154s.h: added, thanks to Matthias Arndt
maartenbrock [Fri, 29 Jul 2005 19:38:11 +0000 (19:38 +0000)]
* device/include/mcs51/msm8xc154s.h: added, thanks to Matthias Arndt

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

18 years ago* src/mcs51/gen.c (operandsEqu): fixed bug 1246687
maartenbrock [Thu, 28 Jul 2005 12:16:52 +0000 (12:16 +0000)]
* src/mcs51/gen.c (operandsEqu): fixed bug 1246687

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

18 years agodevice/include/mcs51/at89c51ed2.h: added.
jesusc [Sun, 24 Jul 2005 02:02:52 +0000 (02:02 +0000)]
device/include/mcs51/at89c51ed2.h: added.

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

18 years ago* src/pic/gen.h: added emitpcode macro for debugging
tecodev [Sat, 23 Jul 2005 17:22:21 +0000 (17:22 +0000)]
* src/pic/gen.h: added emitpcode macro for debugging
* src/pic/gen.c (emitpcode): renamed to emitpcode_real
  and replace by macro adding debug information on demand
* (genNot): fixed to C semantics (!0 = 1; !x = 0 iff x != 0)
* (gencjne): tried to fix; replaced with correct (slower) code
* (gen{Unp,P}ackBits): fixed single bit access
* src/pic/pcode.c (AnalyzepCode): fixed DFPRINTF argument
* src/pic/pcodepeep.c (pCodeSearchCondition): fixed finding
  previous instruction
* src/pic/pcoderegs.c (regIsSpecial): NEW, check whether a
  register has to be handled with care (forbidding movement
  of assignments/uses, removing assignments completely, ...)
* (pCodeOptime2pCodes): make use of regIsSpecial
* added lots of debugging output (commented out)
* src/pic/rallloc.c (deassignLRs): prevent operand registers
  from being reused as result UNLESS it is known to work

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

18 years ago* support/Util/dbuf.h: include <stddef.h> for size_t
maartenbrock [Sat, 23 Jul 2005 11:11:17 +0000 (11:11 +0000)]
* support/Util/dbuf.h: include <stddef.h> for size_t
* .version: changed to version 2.5.2

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

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