fw/sdcc
18 years ago* src/SDCC.y: fixed bug #716242, exchanged pointer and function declarator in the...
bernhardheld [Fri, 27 Jan 2006 21:38:09 +0000 (21:38 +0000)]
* src/SDCC.y: fixed bug #716242, exchanged pointer and function declarator in the symbol chain
* src/SDCCsymt.h,
* src/SDCCsymt.c (processFuncPtrArgs): added, removes "(void)" parameter list for function pointers
* src/SDCCast.c (decorateType): added call of processFuncPtrArgs()
* support/regression/tests/bug-716242.c: added

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

18 years agoremoved ineffective pragma
bernhardheld [Sun, 22 Jan 2006 19:51:47 +0000 (19:51 +0000)]
removed ineffective pragma

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

18 years ago* src/SDCCicode.c (geniCodeAdd, geniCodeArray): use char for array offset if possible
bernhardheld [Fri, 20 Jan 2006 21:58:55 +0000 (21:58 +0000)]
* src/SDCCicode.c (geniCodeAdd, geniCodeArray): use char for array offset if possible
* src/SDCCast.c (getLeftResultType): 255 fits in char, not 256

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

18 years agothis should have been removed
bernhardheld [Wed, 18 Jan 2006 20:02:38 +0000 (20:02 +0000)]
this should have been removed

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

18 years ago* src/SDCCast.c (backPatchLabels): fixed bug #1408066: made it inifinitely recurseabl...
bernhardheld [Tue, 17 Jan 2006 23:48:35 +0000 (23:48 +0000)]
* src/SDCCast.c (backPatchLabels): fixed bug #1408066: made it inifinitely recurseable, added static
* support/regression/tests/bug-1408066.c: added

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

18 years ago* support/regression/ports/mcs51-xstack-auto/spec.mk: added --std-sdcc99 to LIBSDCCFLAGS
bernhardheld [Tue, 17 Jan 2006 22:25:29 +0000 (22:25 +0000)]
* support/regression/ports/mcs51-xstack-auto/spec.mk: added --std-sdcc99 to LIBSDCCFLAGS

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

18 years ago* src/SDCCBBlock.c (iCodeBreakDown): renamed newiTempPreheaderLabel to newiTempLoopHe...
bernhardheld [Tue, 17 Jan 2006 21:48:59 +0000 (21:48 +0000)]
* src/SDCCBBlock.c (iCodeBreakDown): renamed newiTempPreheaderLabel to newiTempLoopHeaderLabel
* src/SDCCicode.h,
* src/SDCCicode.c (newiTempPreheaderLabel, newiTempLoopHeaderLabel): renamed, added possibility to create "postLoopLbl"-labels
* src/SDCCloop.c (newInduction, newRegion, backEdges, insertIntoLoop, isNotInBlocks, addToExitsMarkDepth, createLoop, dominatedBy, addDefInExprs, assignmentsToSym, isOperandInvariant, pointerAssigned, hasNonPtrUse, loopInvariants, addressTaken, findInduction, findDefInRegion, mergeRegions, ifMerged, mergeInnerLoops): made static,
(pinduction, pregion, hasIncomingDefs, findLoopEndSeq): disabled,
(basicInduction): fixed bug #136564, made static,
(loopInduction): changed parameter of basicInduction, made static,
(addPostLoopBlock): added
* src/SDCCloop.h: removed backEdges, pregion, pinduction, loopOptimizations, addressTaken, findDefInRegion, hasIncomingDefs, findLoopEndSeq
* support/regression/tests/bug-136564.c: added

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

18 years ago* src/SDCCicode.c (geniCodeIfx): fix bug 1406131: always false while loop
bernhardheld [Mon, 16 Jan 2006 08:49:48 +0000 (08:49 +0000)]
* src/SDCCicode.c (geniCodeIfx): fix bug 1406131: always false while loop
* support/regression/tests/bug-1406131.c: added

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

18 years ago* src/SDCCval.c (cheapestVal): beautified
bernhardheld [Sat, 31 Dec 2005 15:22:55 +0000 (15:22 +0000)]
* src/SDCCval.c (cheapestVal): beautified
(valNot): ANSI: result type is int (SDCC: unsigned char)
* support/regression/tests/onebyte.c: added promotion and signedness tests for unary minus
* support/regression/tests/not.c: added

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

18 years ago* src/SDCCast.c (decorateType): fix promotion of unary minus
bernhardheld [Sat, 31 Dec 2005 13:17:32 +0000 (13:17 +0000)]
* src/SDCCast.c (decorateType): fix promotion of unary minus
* src/SDCCsymt.c (computeType): beautified
* src/SDCCval.c (cheapestVal): beautified, old non-Ansi version removed,
(valUnaryPM, valComplement, valNot): fix sign and promotion
* support/regression/tests/uminus.c: speedup by removing superflous test case 'int'
* support/regression/tests/onebyte.c: added promotion and signedness tests for unary minus
* support/regressions/tests/bug-477927.c: disable warning about uninitialized variables

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

18 years ago* src/mcs51/gen.c (gen51Code): show final register usage after fillGaps in asm with...
bernhardheld [Wed, 28 Dec 2005 22:01:43 +0000 (22:01 +0000)]
* src/mcs51/gen.c (gen51Code): show final register usage after fillGaps in asm with --i-code-in-asm
* src/SDCClrange.c (sequenceiCode, setLiveFrom, setLiveTo, markLiveRanges, markAlive, findNextUseSym, findNextUse, unvisitBlocks, incUsed, rliveClear, adjustIChain): made static,
(setFromRange): excluded because it's unused,
(findPrevUseSym, markWholeLoop): added,
(findPrevUse): rewritten; fixes bug 895992; now a complete search through all branches of predecessors enables sdcc to emit the warning W_LOCAL_NOINIT, marking of outermost loop was incomplete,
(rlivePoint): made static, added parameter emitWarnings which is only true during the first run out of two,
(findRecursiveSucc, findRecursivePred): removed,
(computeLiveRanges): made static, added parameter emitWarnings,
(dumpIcRlive): added for debugging only
* src/SDCClrange.h: added boolean parameter to computeLiveRanges(), removed prototype of setFromRange()
* src/SDCCopt.c (eBBlockFromiCode): added new parameter emitWarnings in call of computeLiveRanges()
* support/regression/tests/bug-895992.c: added
* support/regression/tests/bug-971834.c: added
* support/valdiag/tests/bug-895992.c: added
* support/valdiag/tests/bug-971834.c: added

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

18 years agodevice/lib/Makefile.in: added --std-sdcc99 to CFLAGS
bernhardheld [Wed, 28 Dec 2005 13:34:16 +0000 (13:34 +0000)]
device/lib/Makefile.in: added --std-sdcc99 to CFLAGS

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

18 years ago* src/pic16/gen.c: added IS_DIRECT macro for "direct" operands,
tecodev [Sun, 18 Dec 2005 14:51:13 +0000 (14:51 +0000)]
* src/pic16/gen.c: added IS_DIRECT macro for "direct" operands,
  (genUnpackBits): improved code for direct operands,
  (genPackBits): improved code for literal assignment to bitfields
    and for direct destination operands (no FSR indirection),
    prevented redundant AND, fixes #1362800,
  (AccLsh): added parameter to disable masking of the result
* src/pic16/pcode.c (pic16_safepCodeUnlink): fixed to work with
  skip instructions with side-effects (like incfsz),
  (pic16_pCodeIsAlive): suppress verbose output unless pcode_verbose,
* src/pic16/pcoderegs.c (RemoveRegsFromSet): removed annoying warning
* device/lib/pic16/Makefile.common.in: added --asm=@GPASM@ to CC,
  fixes #1375263

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

18 years ago* src/SDCCicode.c (fgeniCodeAssign): fixed bug 1369874, don't use volatile variables...
bernhardheld [Sun, 11 Dec 2005 21:31:17 +0000 (21:31 +0000)]
* src/SDCCicode.c (fgeniCodeAssign): fixed bug 1369874, don't use volatile variables as spill location

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

18 years ago* support/regression/tests/bug-1376320.c: added
bernhardheld [Sat, 10 Dec 2005 20:57:55 +0000 (20:57 +0000)]
* support/regression/tests/bug-1376320.c: added

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

18 years ago* src/SDCCcse.c (findCheaperOp): fixed bug 1376320, copy signedness to replacing...
bernhardheld [Sat, 10 Dec 2005 20:43:31 +0000 (20:43 +0000)]
* src/SDCCcse.c (findCheaperOp): fixed bug 1376320, copy signedness to replacing literals

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

18 years ago* src/pic/device.c: renamed is_shared to pic14_is_shared
tecodev [Thu, 8 Dec 2005 18:32:59 +0000 (18:32 +0000)]
* src/pic/device.c: renamed is_shared to pic14_is_shared
* src/pic/gen.c (genIfx): re-enabled handling of sbits
* src/pic/glue.c (emitSymbolToFile): added workaround for sbits,
  (is_valid_identifier): added for above workaround

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

18 years ago* device/lib/Makefile.in: fixed to enable port-specific-objects
maartenbrock [Wed, 7 Dec 2005 12:49:32 +0000 (12:49 +0000)]
* device/lib/Makefile.in: fixed to enable port-specific-objects
* device/lib/ds390/i2c390.c (BitOutI2C): optimized by making bout unsigned
  char, thanks Hubert Sack
* doc/sdccman.lyx: documented --xstack-loc,
  elaborated a bit more on interrupts and pitfalls,
  removed "setjmp/longjmp unsupported",
  documented some unsupported C99 features
* src/SDCCmain.c (linkEdit): adapted default lib path for --stack-auto
* src/SDCCpeeph.c (readRules): inserted patch 1367130 for finding missing
  if, thanks Hubert Sack
* src/mcs51/gen.c (genEndFunction): enabled "pop psw" for regbank 0 isr
* support/regression/Makefile.in: test-mcs51-stack-auto no longer needs to
  make make_library
* support/regression/get_ticks.py: new, get cpu cycles and code size, so
  regression tests can report resource usage (rfe 700441)
* support/regression/collate-results.py: report resource usage
* support/regression/ports/ds390/spec.mk,
* support/regression/ports/hc08/spec.mk,
* support/regression/ports/mcs51/spec.mk,
* support/regression/ports/ucz80/spec.mk: run sim output through get_ticks
* support/regression/ports/ds390/uCsim.cmd,
* support/regression/ports/hc08/uCsim.cmd,
* support/regression/ports/mcs51/uCsim.cmd,
* support/regression/ports/ucz80/uCsim.cmd: inserted "state" to report time
* support/regression/ports/mcs51-stack-auto/spec.mk: no need to build the
  library, use the default one
* support/regression/ports/mcs51-xstack-auto/spec.mk: inserted rules for
  building the library

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

18 years ago* config.dsp: added dependency on .version and configure_vc.awk
maartenbrock [Tue, 6 Dec 2005 15:12:16 +0000 (15:12 +0000)]
* config.dsp: added dependency on .version and configure_vc.awk
* device/include/setjmp.h: updated for --stack-auto and --xstack
* device/include/mcs51/at89c51snd1c.h: corrected line endings
* device/include/mcs51/XC866.h: added, thanks Llewellyn van Zyl
* device/lib/_setjmp.c: updated for --stack-auto and --xstack
* device/lib/libsdcc.lib: added _setjmp
* src/SDCCast.c (createIvalCharPtr): fixed warnings,
  (decorateType): fixed bug 1372851,
  (optimizeGetHbit): fixed warning
* src/SDCCglue.c (printIvalChar, printIvalArray): adapted for flexible
  array initialisation
* support/regression/tests/bug1057979.c: added test for bug 1358192
* support/regression/tests/setjmp.c: added, test for setjmp/longjmp

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

18 years ago* support/scripts/sdcc.nsi: added /SOLID option to "SetCompressor lzma"
borutr [Sat, 3 Dec 2005 16:28:18 +0000 (16:28 +0000)]
* support/scripts/sdcc.nsi: added /SOLID option to "SetCompressor lzma"
  command since the NSIS was upgraded to version 2.11 on CF x86-linux2

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

18 years ago* src/SDCCast.c (decorateType): try to optimize literals before promotion
bernhardheld [Tue, 29 Nov 2005 21:57:12 +0000 (21:57 +0000)]
* src/SDCCast.c (decorateType): try to optimize literals before promotion

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

18 years ago* src/SDCCast.c (createIvalStruct, createIvalArray, createIvalPtr, createIval): imple...
bernhardheld [Tue, 29 Nov 2005 21:22:07 +0000 (21:22 +0000)]
* src/SDCCast.c (createIvalStruct, createIvalArray, createIvalPtr, createIval): implement symbol independant "flexible array member",
(createIvalCharPtr): implemented flexible array initialisation with a string
* src/SDCCsymt.c (copyStruct): removed, (getSize): fixed comment,
(getAllocSize): removed, the additional allocation size is now in sym->flexArrayLength,
(checkStructFlexArray): new, syntax checks for "flexible array members",
(compStructSize): added syntax checks for "flexible array members"
(copyStruct): removed,
(copyLinkChain): removed inefficient fix for bug 770487
* src/SDCCglue.c (emitRegularMap): getAllocSize has been removed
* src/SDCCsymt.h: added structdef.b_flexArrayMember and symbol->flexArrayLength
* src/SDCCerr.c,
* src/SDCCerr.h: added W_INVALID_FLEXARRAY, W_C89_NO_FLEXARRAY, E_FLEXARRAY_NOTATEND and E_FLEXARRAY_INEMPTYSTRCT
* support/regression/tests/structflexarray.c: added
* support/valdiag/tests/structflexiblearray.c: added

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

18 years ago* src/SDCCast.c (decorateType): fixed bug 1368489
bernhardheld [Tue, 29 Nov 2005 08:55:39 +0000 (08:55 +0000)]
* src/SDCCast.c (decorateType): fixed bug 1368489
* support/Util/SDCCerr.c,
* support/Util/SDCCerr.h: added warning W_CMP_SU_CHAR

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

18 years agodevice/include/mcs51/at89c51snd1c.h: added file submitted by Weston T. Schmidt <schmi...
frief [Mon, 28 Nov 2005 22:49:19 +0000 (22:49 +0000)]
device/include/mcs51/at89c51snd1c.h: added file submitted by Weston T. Schmidt <schmidtw AT users.sourceforge.net>, patch #1368001

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

18 years agoadded file submitted by Weston T. Schmidt <schmidtw AT users.sourceforge.net>, patch...
frief [Mon, 28 Nov 2005 22:47:06 +0000 (22:47 +0000)]
added file submitted by Weston T. Schmidt <schmidtw AT users.sourceforge.net>, patch #1368001

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

18 years ago* plat/win32/gpsim.nsi, plat/win32/make.mingw, cli/makefile.mingw,
borutr [Sun, 27 Nov 2005 19:25:57 +0000 (19:25 +0000)]
* plat/win32/gpsim.nsi, plat/win32/make.mingw, cli/makefile.mingw,
  gpsim/makefile.mingw, gui/makefile.mingw, modules/makefile.mingw,
  src/makefile.mingw, regression/README: MINGW sync

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

18 years agodon't rewrite CPP_OPTION (pfile, obj_ext)
borutr [Sun, 27 Nov 2005 16:35:57 +0000 (16:35 +0000)]
don't rewrite CPP_OPTION (pfile, obj_ext)

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

18 years agoremoved debugging printout
borutr [Sun, 27 Nov 2005 14:52:30 +0000 (14:52 +0000)]
removed debugging printout

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

18 years ago* support/cpp2/cppinit.c, support/cpp2/cpplib.h, support/cpp2/mkdeps.c,
borutr [Sun, 27 Nov 2005 14:38:57 +0000 (14:38 +0000)]
* support/cpp2/cppinit.c, support/cpp2/cpplib.h, support/cpp2/mkdeps.c,
  support/cpp2/mkdeps.h: added command line option
  -obj-ext=<extension> to SDCPP to define object file externion, used
  for generation of make dependencies (-M)
* src/SDCCmain.c: pass -obj-ext=<extension> to SDCPP

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

18 years ago* support/cpp2/cppinit.c, support/cpp2/cpplib.h, support/cpp2/mkdeps.c,
borutr [Sun, 27 Nov 2005 14:34:12 +0000 (14:34 +0000)]
* support/cpp2/cppinit.c, support/cpp2/cpplib.h, support/cpp2/mkdeps.c,
  support/cpp2/mkdeps.h: added command line option
  -obj-ext=<extension> to SDCPP to define object file externion, used
  for generation of make dependencies (-M)
* src/SDCCmain.c: pass -obj-ext=<extension> to SDCPP

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

18 years ago* support/scripts/sdcc.nsi: added small-stack-auto libraries,
borutr [Sat, 26 Nov 2005 17:18:35 +0000 (17:18 +0000)]
* support/scripts/sdcc.nsi: added small-stack-auto libraries,
  added missing device/lib/mcs51/crt*.asm, pic and pic16 sources,
  added pic and pic16 libraries

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

18 years agoCorrected typo in prototype of __fsgt
jesusc [Sat, 26 Nov 2005 17:01:06 +0000 (17:01 +0000)]
Corrected typo in prototype of __fsgt

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

18 years ago* sdcc/device/lib/Makefile.in, sdcc/device/lib/incl.mk:
borutr [Fri, 25 Nov 2005 22:00:45 +0000 (22:00 +0000)]
* sdcc/device/lib/Makefile.in, sdcc/device/lib/incl.mk:
  added creation of model-mcs51-stack-auto libraries

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

18 years ago* sdcc/device/lib/Makefile.in, sdcc/device/lib/incl.mk:
borutr [Fri, 25 Nov 2005 18:15:08 +0000 (18:15 +0000)]
* sdcc/device/lib/Makefile.in, sdcc/device/lib/incl.mk:
  added creation of model-mcs51-stack-auto libraries

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

18 years ago* sdcc/device/lib/Makefile.in, sdcc/device/lib/incl.mk:
borutr [Fri, 25 Nov 2005 16:26:13 +0000 (16:26 +0000)]
* sdcc/device/lib/Makefile.in, sdcc/device/lib/incl.mk:
  added creation of model-mcs51-stack-auto libraries

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

18 years ago* added missing device/lib/mcs51/crt*.asm sources
borutr [Fri, 25 Nov 2005 15:21:42 +0000 (15:21 +0000)]
* added missing device/lib/mcs51/crt*.asm sources

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

18 years ago* added missing device/lib/mcs51/crt*.asm sources
borutr [Fri, 25 Nov 2005 14:14:57 +0000 (14:14 +0000)]
* added missing device/lib/mcs51/crt*.asm sources

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

18 years ago* added missing device/lib/mcs51/crt*.asm sources
borutr [Thu, 24 Nov 2005 21:25:45 +0000 (21:25 +0000)]
* added missing device/lib/mcs51/crt*.asm sources

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

18 years agoI was too fast: this breaks regression test bug-221220.c
bernhardheld [Thu, 24 Nov 2005 15:46:45 +0000 (15:46 +0000)]
I was too fast: this breaks regression test bug-221220.c

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

18 years ago* src/SDCCsymt.c (copyLinkChain): fixed bug 770487, copy structdef and fields-list too
bernhardheld [Thu, 24 Nov 2005 15:27:36 +0000 (15:27 +0000)]
* src/SDCCsymt.c (copyLinkChain): fixed bug 770487, copy structdef and fields-list too
* src/SDCCast.c (createIvalArray): removed obsolete comment

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

18 years ago* sdcc/device/lib/Makefile.in: remove all unnecessary files, 2nd try...
borutr [Thu, 24 Nov 2005 13:25:00 +0000 (13:25 +0000)]
* sdcc/device/lib/Makefile.in: remove all unnecessary files, 2nd try...

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

18 years ago* sdcc/device/lib/Makefile.in: remove all unnecessary files, 2nd try...
borutr [Thu, 24 Nov 2005 12:15:23 +0000 (12:15 +0000)]
* sdcc/device/lib/Makefile.in: remove all unnecessary files, 2nd try...

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

18 years ago* src/SDCCast.c (createIvalCharPtr): fixed bug 1348271
bernhardheld [Wed, 23 Nov 2005 07:58:52 +0000 (07:58 +0000)]
* src/SDCCast.c (createIvalCharPtr): fixed bug 1348271

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

18 years ago* device/lib/_fs2schar.c,
maartenbrock [Tue, 22 Nov 2005 10:45:46 +0000 (10:45 +0000)]
* device/lib/_fs2schar.c,
* device/lib/_fs2sint.c,
* device/lib/_fs2slong.c: optimized inline asm

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

18 years agoBetter handling of floats between -1.0 and 0.0
jesusc [Mon, 21 Nov 2005 16:57:29 +0000 (16:57 +0000)]
Better handling of floats between -1.0 and 0.0

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

18 years ago* src/mcs51/peeph.def: added missing "if"s as noted by Hubert Sack (the missing ...
frief [Sun, 20 Nov 2005 14:01:12 +0000 (14:01 +0000)]
* src/mcs51/peeph.def: added missing "if"s as noted by Hubert Sack (the missing "if"s prohibited removal of redundant labels).

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

18 years agoadded missing "if"s as noted by Hubert Sack (the missing "if"s prohibited removal...
frief [Sun, 20 Nov 2005 13:56:33 +0000 (13:56 +0000)]
added missing "if"s as noted by Hubert Sack (the missing "if"s prohibited removal of redundant labels)

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

18 years ago_fs2slong.c, _fs2sint.c, _fs2char.c: Properly convert floats between -1.0 and 0.0
jesusc [Sat, 19 Nov 2005 18:19:14 +0000 (18:19 +0000)]
_fs2slong.c, _fs2sint.c, _fs2char.c: Properly convert floats between -1.0 and 0.0

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

18 years agoRemoved previous changes as the problem is fixed in _fs2slong.c,
jesusc [Sat, 19 Nov 2005 18:17:27 +0000 (18:17 +0000)]
Removed previous changes as the problem is fixed in _fs2slong.c,
_fs2sint.c, and _fs2char.c

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

18 years agoMax integer value of negative floats tends to zero
jesusc [Sat, 19 Nov 2005 18:15:55 +0000 (18:15 +0000)]
Max integer value of negative floats tends to zero

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

18 years ago* src/SDCCcse.c (ReplaceOpWithCheaperOp): minor fix for debugging only
bernhardheld [Fri, 18 Nov 2005 22:33:33 +0000 (22:33 +0000)]
* src/SDCCcse.c (ReplaceOpWithCheaperOp): minor fix for debugging only
* src/mcs51/gen.c (genUnpackBits): better code and a fix,
(genCast) cosmetic change
* src/ds390/gen.c (genUnpackBits, ): ported from mcs51
* src/ds390/ralloc.c (packRegsForAssign): ported fix for bitfields from mcs51
* support/regression/tests/bitfields (testSignedBitfields): added

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

18 years ago* sdcc/device/lib/Makefile.in: remove all unnecessary files
borutr [Fri, 18 Nov 2005 21:56:34 +0000 (21:56 +0000)]
* sdcc/device/lib/Makefile.in: remove all unnecessary files

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

18 years ago* sdcc/device/lib/Makefile.in: remove all unnecessary files
borutr [Fri, 18 Nov 2005 21:51:38 +0000 (21:51 +0000)]
* sdcc/device/lib/Makefile.in: remove all unnecessary files
* device/lib/pic/Makefile.rules, device/lib/pic16/Makefile.subdir:
  introduced SILENT option to make building of pic16 libraries less

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

18 years agomodff.c, ceilf.c, and floorf.c now work properly with floats between -1.0 and 0.0
jesusc [Fri, 18 Nov 2005 13:37:05 +0000 (13:37 +0000)]
modff.c, ceilf.c, and floorf.c now work properly with floats between -1.0 and 0.0

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

18 years agoRemoved temporary patch for bug 1358192
jesusc [Fri, 18 Nov 2005 13:33:46 +0000 (13:33 +0000)]
Removed temporary patch for bug 1358192

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

18 years agoNow works properly with floats between -1.0 and 0.0
jesusc [Fri, 18 Nov 2005 13:27:34 +0000 (13:27 +0000)]
Now works properly with floats between -1.0 and 0.0

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

18 years ago* src/SDCCicode.c (printOperand): added missing else
maartenbrock [Fri, 18 Nov 2005 13:05:49 +0000 (13:05 +0000)]
* src/SDCCicode.c (printOperand): added missing else

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

18 years agomore about genUnpackBits
bernhardheld [Fri, 18 Nov 2005 13:01:00 +0000 (13:01 +0000)]
more about genUnpackBits

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

18 years ago* src/mcs51/gen.c (genUnpackBits): initial, incomplete support for signed bitfields
bernhardheld [Fri, 18 Nov 2005 12:27:11 +0000 (12:27 +0000)]
* src/mcs51/gen.c (genUnpackBits): initial, incomplete support for signed bitfields

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

18 years ago* src/SDCCsymt.c (computeType): fixed bug 1358192: added missing else, reformatted...
bernhardheld [Fri, 18 Nov 2005 11:03:37 +0000 (11:03 +0000)]
* src/SDCCsymt.c (computeType): fixed bug 1358192: added missing else, reformatted for better readability

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

18 years ago* sdcc/device/lib/Makefile.in: added library sources for mcs51, small,
borutr [Thu, 17 Nov 2005 21:05:25 +0000 (21:05 +0000)]
* sdcc/device/lib/Makefile.in: added library sources for mcs51, small,
  medium, large, pic and pic16

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

18 years ago* device/lib/pic16/Makefile.rules, device/lib/pic16/Makefile.subdir:
borutr [Thu, 17 Nov 2005 18:25:51 +0000 (18:25 +0000)]
* device/lib/pic16/Makefile.rules, device/lib/pic16/Makefile.subdir:
  itroduced SILENT option to make building of pic16 libraries less
  verbose - used for nightly snapshot build
* doc/sdccman.lyx: documented that SDCDB and ucSim are currently not
  available on Win32 platforms.

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

18 years agoTemporary patch for bug 1358192: printf("%f"...) sets fraction to zero.
jesusc [Thu, 17 Nov 2005 02:20:16 +0000 (02:20 +0000)]
Temporary patch for bug 1358192: printf("%f"...) sets fraction to zero.

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

18 years ago* src/pic/pcode.c (LinkFlow): handle empty flows correctly,
tecodev [Wed, 16 Nov 2005 14:26:04 +0000 (14:26 +0000)]
* src/pic/pcode.c (LinkFlow): handle empty flows correctly,
  fixes #1357221
* src/pic/gen.c (genIfx): implemented for CARRY bit
* src/pic16/gen.c (genAssign,genCast): fixed assigning/casting
  to generic pointers, fixes #1357332,
  (pic16_movLit2f): NEW,
  (pic16_storeForReturn,genDataPointerSet): use pic16_movLit2f

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

18 years ago* src/SDCCmain.c (parseCmdLine): fixed bug 1356800, thanks rsudjian
maartenbrock [Mon, 14 Nov 2005 20:32:58 +0000 (20:32 +0000)]
* src/SDCCmain.c (parseCmdLine): fixed bug 1356800, thanks rsudjian

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

18 years ago* src/pic/gen.c: handle FPOINTERS like POINTERS everywhere
tecodev [Fri, 11 Nov 2005 23:09:56 +0000 (23:09 +0000)]
* src/pic/gen.c: handle FPOINTERS like POINTERS everywhere
* src/pic16/gen.c (pic16_derefPtr): now works for non-pointers as well,
  compute pointer's type from operand,
  (genUnpackBits,genPackBits): handle FPOINTERS correctly, re-indented,
  improved single bit reads, fixes bug #1353379

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

18 years ago* support/scripts/sdcc.nsi: added lib/pic to the package
borutr [Wed, 9 Nov 2005 18:18:32 +0000 (18:18 +0000)]
* support/scripts/sdcc.nsi: added lib/pic to the package

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

18 years ago* src/SDCCval.c (valUnaryPM): fixed bug 1350699
maartenbrock [Tue, 8 Nov 2005 15:04:25 +0000 (15:04 +0000)]
* src/SDCCval.c (valUnaryPM): fixed bug 1350699

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

18 years ago* support/regression/tests/bug1348008.c: added
maartenbrock [Sun, 6 Nov 2005 19:56:19 +0000 (19:56 +0000)]
* support/regression/tests/bug1348008.c: added
* src/mcs51/gen.c (saveRBank, unsaveRBank): fixed bug 1348008
* support/regression/tests/bug1337835.c: updated comment

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

18 years ago* sim/ucsim/error.cc, sim/ucsim/errorcl.h,
borutr [Sat, 5 Nov 2005 23:56:37 +0000 (23:56 +0000)]
* sim/ucsim/error.cc, sim/ucsim/errorcl.h,
  sim/ucsim/sim.src/stack.cc, sim/ucsim/sim.src/stackcl.h,
  sim/ucsim/sim.src/uc.cc, sim/ucsim/sim.src/uccl.h,
  sim/ucsim/sim.src/mem.cc, sim/ucsim/sim.src/memcl.h,
  sim/ucsim/cmd.src/set.cc, sim/ucsim/cmd.src/show.cc:
  dynamic construction of cl_error_class and derivates - 2.nd try

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

18 years ago* sim/ucsim/sim.src/error.cc: fixed uninitialized class member variable
borutr [Sat, 5 Nov 2005 17:15:48 +0000 (17:15 +0000)]
* sim/ucsim/sim.src/error.cc: fixed uninitialized class member variable
  bug which caused Bus Errors on sparc solaris

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

18 years ago* sim/ucsim/cmd.src/error.cc, sim/ucsim/cmd.src/errorcl.h,
borutr [Fri, 4 Nov 2005 18:38:26 +0000 (18:38 +0000)]
* sim/ucsim/cmd.src/error.cc, sim/ucsim/cmd.src/errorcl.h,
  sim/ucsim/sim.src/stack.cc, sim/ucsim/sim.src/stackcl.h,
  sim/ucsim/sim.src/uc.cc, sim/ucsim/sim.src/uccl.h,
  sim/ucsim/sim.src/mem.cc, sim/ucsim/sim.src/memcl.h,
  sim/ucsim/cmd.src/cmdconf.cc: dynamic construction of cl_error_class
  and derivates to resolve the initialization problem on OSX

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

18 years ago* sim/ucsim/cmd.src/cmdutil.cc, sim/ucsim/cmd.src/newcmd.cc:
borutr [Wed, 2 Nov 2005 21:32:41 +0000 (21:32 +0000)]
* sim/ucsim/cmd.src/cmdutil.cc, sim/ucsim/cmd.src/newcmd.cc:
  corrected typo - #include <winsock2.h>

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

18 years ago* sim/ucsim/cmd.src/cmdutil.cc: corrected typo - #include <winsock2.h>
borutr [Wed, 2 Nov 2005 20:32:45 +0000 (20:32 +0000)]
* sim/ucsim/cmd.src/cmdutil.cc: corrected typo - #include <winsock2.h>

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

18 years ago* src/asm.c (printILine): always close tmpFile, thanks Beau E. Cox,
maartenbrock [Wed, 2 Nov 2005 16:55:15 +0000 (16:55 +0000)]
* src/asm.c (printILine): always close tmpFile, thanks Beau E. Cox,
  (_asxxxx_mapping): added org directive for future enhancements

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

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