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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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