epetrich [Mon, 6 Sep 2004 00:06:24 +0000 (00:06 +0000)]
* src/port.h,
* src/mcs51/main.c,
* src/ds390/main.c,
* src/z80/main.c,
* src/hc08/main.c,
* src/pic/main.c,
* src/pic16/main.c,
* src/avr/main.c,
* src/xa51/main.c
* src/SDCCicode.c (geniCodeJumpTable): Better logic to determine if a
a jump table is the best form for a switch statement, including
automatic insertion of missing cases to make the case range
continuous. Developed in collaboration with Frieder Ferlemann.
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3475
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Thu, 2 Sep 2004 14:24:21 +0000 (14:24 +0000)]
* src/hc08/ralloc.c (canDefAccResult): multi-byte shift is unsafe for
accumulator result if it needs sign extension
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3474
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Thu, 2 Sep 2004 14:18:03 +0000 (14:18 +0000)]
* src/hc08/ralloc.c (canUseAccOperand): fixed comparison bug
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3473
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Thu, 2 Sep 2004 13:56:05 +0000 (13:56 +0000)]
* device/lib/gbz80/printf.c,
* device/lib/z80/printf.c: removed define for NULL
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3472
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Thu, 2 Sep 2004 11:49:18 +0000 (11:49 +0000)]
* as/xa51/xa_link.c,
* device/examples/ds390/ow390/ad26.c,
* device/examples/ds390/ow390/cnt1d.c,
* device/examples/ds390/ow390/counter.c,
* device/examples/ds390/ow390/ds2480.h,
* device/examples/ds390/ow390/ds2480ut.c,
* device/examples/ds390/ow390/findtype.c,
* device/examples/ds390/ow390/gethumd.c,
* device/examples/ds390/ow390/owllu.c,
* device/examples/ds390/ow390/ownetu.c,
* device/examples/ds390/ow390/swt12.c,
* device/examples/ds390/ow390/swtloop.c,
* device/examples/ds390/ow390/temp.c,
* device/examples/ds390/ow390/temp10.c,
* device/examples/ds390/ow390/thermo21.c,
* device/examples/ds390/ow390/tinilnk.c,
* device/examples/ds390/ow390/tstfind.c,
* device/examples/serialcomm/windows/serial.cpp,
* device/examples/serialcomm/windows/test_serialcomm.cpp,
* device/include/reg51.h: fixed line endings for cvs
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3471
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Thu, 2 Sep 2004 05:48:13 +0000 (05:48 +0000)]
* src/hc08/ralloc.c (canDefAccResult, canUseAccOperand,
packRegsForAccUse, packRegisters): new accumulator register
packing algorithm
* support/regression/ports/hc08/support.c (_putchar): suppress
warning of unused variable
* src/SDCCicode.c: added SWAP entry to codeTable
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3470
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Wed, 1 Sep 2004 18:31:27 +0000 (18:31 +0000)]
* device/lib/sprintf.c: forgot to add this file before previous commit
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3469
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Wed, 1 Sep 2004 10:16:29 +0000 (10:16 +0000)]
* src/pic16/gen.c (genPackBits): added operand right in function
parameters, load result directly if p_type is POINTER (that is
called by genNearPointerSet)
* (genUnPackBits): added operand left in function parameters,
* (genNearPointerGet, genNearPointerSet): prevent the loading of
FSR0 if accessing bitfields,
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3468
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Tue, 31 Aug 2004 17:06:35 +0000 (17:06 +0000)]
* device/include/stdio.h: added NULL, size_t, typedef pfn_outputchar,
_print_format; updated printf, sprintf, vsprintf
* device/include/asm/default/features.h: corrected comment/define
* device/lib/Makefile.in: added sprintf.c
* device/lib/libsdcc.lib: added sprintf module
* device/lib/printf_large.c,
* device/lib/vprintf.c,
* device/lib/sprintf.c: totally refactored printf_large and vprintf
into these 3 files
* support/regression/Makefile: changed ALL_PORTS into a usefull default
* support/regression/ports/mcs51-stack-auto/spec.mk: added sprintf
* support/regression/tests/bug-927659.c: removed dummy putchar, enabled
hc08 test
* support/regression/tests/zeropad.c: define idata as data for hc08
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3467
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Tue, 31 Aug 2004 07:46:41 +0000 (07:46 +0000)]
* src/SDCCpeeph.c (labelIsReturnOnly): support hc08 rts opcode also
* src/SDCCpeeph.c (buildLabelRefCountHash): assume function entry point
labels are referenced at least once (even if a reference is not found)
* src/hc08/gen.c (emitcode): set isComment flag for comments
* src/hc08/peeph.def: added rules 5a..5f (optimize redundant immediate
loads), rules 6a..6b (optimize jumps to return)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3466
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Tue, 31 Aug 2004 04:19:16 +0000 (04:19 +0000)]
* device/lib/acosf.c (acosf),
* device/lib/asinf.c (asinf),
* device/lib/atanf.c (atanf),
* device/lib/ceilf.c (ceilf),
* device/lib/cosf.c (cosf),
* device/lib/coshf.c (coshf),
* device/lib/cotf.c (cotf),
* device/lib/fabsf.c (fabsf),
* device/lib/floorf.c (floorf),
* device/lib/log10f.c (log10f),
* device/lib/logf.c (logf),
* device/lib/sinf.c (sinf),
* device/lib/sinhf.c (sinhf),
* device/lib/sqrtf.c (sqrtf),
* device/lib/tanf.c (tanf),
* device/lib/tanhf.c (tanhf),
* device/include/math.h: defined _FLOAT_FUNC_REENTRANT macro and
replaced all instances of "reentrant" in the library functions
defined in math.h with this macro.
* support/regression/tests/float_trans.c: reenabled test for hc08
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3465
4a8a32a2-be11-0410-ad9d-
d568d2c75423
bernhardheld [Mon, 30 Aug 2004 06:30:48 +0000 (06:30 +0000)]
* device/lib/pic16/Makefile.common.in: added MODELFLAGS again, it was erroneously deleted
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3463
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Mon, 30 Aug 2004 05:04:03 +0000 (05:04 +0000)]
* src/hc08/gen.c (loadRegFromAop): better use of clra & clrx
* src/hc08/gen.c (genAnd, genOr): fixed bug with conditional when
multi-byte volatile operands are used
* src/hc08/gen.c (shiftRLong): fixed bug with wrong rotate direction
* src/hc08/main.c (_hc08_genAssemblerPreamble): moved the built-in
initialization to area GSINIT0 so that it would always precede
any static initializers in GSINIT
* support/regression/tests/zeropad.c: fixed idata define for hc08
* support/regression/tests/bug-927659.c,
* support/regression/tests/float_trans.c: disabled tests for hc08
pending missing library routines
* .version: increased version number to 2.4.4 - hc08 port now passes
regression tests
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3462
4a8a32a2-be11-0410-ad9d-
d568d2c75423
bernhardheld [Sun, 29 Aug 2004 12:58:18 +0000 (12:58 +0000)]
oops
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3461
4a8a32a2-be11-0410-ad9d-
d568d2c75423
bernhardheld [Sun, 29 Aug 2004 12:57:07 +0000 (12:57 +0000)]
* device/lib/pic16/Makefile.common.in: added $(MM) to fix `make clean`
* Makefile.common.in,
* as/Makefile,
* as/hc08/Makefile.in,
* as/mcs51/Makefile.in,
* as/z80/Makefile.in,
* debugger/mcs51/Makefile.in,
* device/include/Makefile.in,
* device/lib/Makefile.in,
* doc/Makefile,
* link/Makefile,
* link/z80/Makefile.in,
* packihx/Makefile.in,
* sim/ucsim/main_in.mk,
* sim/ucsim/avr.src/Makefile.in,
* sim/ucsim/doc/Makefile.in,
* sim/ucsim/gui.src/serio.src/Makefile.in,
* sim/ucsim/hc08.src/Makefile.in,
* sim/ucsim/s51.src/Makefile.in,
* sim/ucsim/xa.src/Makefile.in,
* sim/ucsim/z80.src/Makefile.in,
* src/Makefile.in,
* support/cpp2/Makefile.in,
* support/librarian/Makefile,
* support/makebin/Makefile: added DESTDIR to the install path proposed by "Maciej 'Agaran' Pijanka" <agaran AT pld-linux.org>
* doc/sdccman.lyx: added DESTDIR documentation
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3460
4a8a32a2-be11-0410-ad9d-
d568d2c75423
bernhardheld [Sun, 29 Aug 2004 12:47:49 +0000 (12:47 +0000)]
* device/lib/pic16/Makefile.common.in: added $(MM) to fix `make clean`
* Makefile.common.in,
* as/Makefile,
* as/hc08/Makefile.in,
* as/mcs51/Makefile.in,
* as/z80/Makefile.in,
* debugger/mcs51/Makefile.in,
* device/include/Makefile.in,
* device/lib/Makefile.in,
* doc/Makefile,
* link/Makefile,
* link/z80/Makefile.in,
* packihx/Makefile.in,
* sim/ucsim/main_in.mk,
* sim/ucsim/avr.src/Makefile.in,
* sim/ucsim/doc/Makefile.in,
* sim/ucsim/gui.src/serio.src/Makefile.in,
* sim/ucsim/hc08.src/Makefile.in,
* sim/ucsim/s51.src/Makefile.in,
* sim/ucsim/xa.src/Makefile.in,
* sim/ucsim/z80.src/Makefile.in,
* src/Makefile.in,
* support/cpp2/Makefile.in,
* support/librarian/Makefile,
* support/makebin/Makefile: added DESTDIR to the install path proposed by "Maciej 'Agaran' Pijanka" <agaran AT pld-linux.org>
* doc/sdccman.lyx: added DESTDIR documentation
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3459
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Sun, 29 Aug 2004 10:26:33 +0000 (10:26 +0000)]
* src/pic16/gen.c (genFunction, genEndFunction): fixed return
instruction for interrupt handlers, use fast returns when returning
from high priority interrupts
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3458
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Sun, 29 Aug 2004 07:44:29 +0000 (07:44 +0000)]
* src/hc08/gen.c (genAnd, genOr, transferAopAop, rmwWithAop): optimized
code generation
* src/hc08/gen.c (genrshFour, genCpl): fixed bugs
* src/hc08/gen.c (genMultOneByte, genDivOneByte, genModOneByte): fixed
bugs, ported much of Bernhard's code from mcs51
* src/mcs51/gen.c (genSend),
* src/hc08/gen.c (genSend): fixed bug with lost SEND iCodes if more
than one when calling a reentrant function
* device/lib/_mullong.c: defined an alternate struct layout for big
endian ports (hc08)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3457
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Sat, 28 Aug 2004 06:54:24 +0000 (06:54 +0000)]
* src/hc08/gen.c (shiftL2Left2Result): fix for bug-500536 regression
test
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3456
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Sat, 28 Aug 2004 05:48:48 +0000 (05:48 +0000)]
* src/SDCCsymt.c (processFuncArgs): make sure parameter types
are sane and complete before asking the port its prefered parameter
passing method (fixes bug #
1017633)
* device/lib/hc08/_ret.c: added "data" storage class to _ret2
and _ret3
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3455
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Sat, 28 Aug 2004 00:10:41 +0000 (00:10 +0000)]
* src/hc08/gen.c (genPackBitsImmed, genUnpackBitsImmed): fix offset
problem in bitfields >= 8 bits.
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3454
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Fri, 27 Aug 2004 15:46:51 +0000 (15:46 +0000)]
* src/SDCCsymt.c: undid changes that were not meant to be committed
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3453
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Fri, 27 Aug 2004 14:06:35 +0000 (14:06 +0000)]
* support/regression/ports/hc08spec.mk: REENTRANT must be reentrant
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3452
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Fri, 27 Aug 2004 13:52:48 +0000 (13:52 +0000)]
* src/hc08/gen.c (genUminusFloat): fixed bug where only 3 bytes were
copied and wrong bit got inverted
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3451
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Fri, 27 Aug 2004 06:46:26 +0000 (06:46 +0000)]
* src/hc08/gen.c (genPointerSet, genFarPointerSet): moved code from
genFarPointerSet into genPointerSet; eliminated genFarPointerSet
* src/hc08/gen.c (genPointerGet, genFarPointerGet): moved code from
genFarPointerGet into genPointerGet; eliminated genFarPointerGet
* src/hc08/gen.c (genPackBitsImmed): generate optimized code for
assignments to bitfields at known addresses
* src/hc08/gen.c (genUnpackBitsImmed): generate optimized code for
reads from bitfields at known addresses
* src/hc08/ralloc.c (packRegisters),
* src/hc08/gen.c (genPointerGet, genUnpackBits, genUnpackBitsImmed,
genhc08Code): optimize pointer get values used as conditionals
* src/hc08/peeph.def: added rules 2e & 2f to optimize bit test
and branch
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3450
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Tue, 24 Aug 2004 06:41:21 +0000 (06:41 +0000)]
* src/mcs51/gen.c (genPointerGet, genNearPointerGet, genPagedPointerGet,
genFarPointerGet, genCodePointerGet, genGenPointerGet, genUnpackBits),
* src/mcs51/ralloc.c (packRegisters): optimze pointer get values used as
conditionals
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3449
4a8a32a2-be11-0410-ad9d-
d568d2c75423
frief [Sun, 22 Aug 2004 18:38:39 +0000 (18:38 +0000)]
src/mcs51/peeph.def: peepholes 248.i-m for xdata bitfields. See thread on [Sdcc-user] Using bit fields
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3448
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Sat, 21 Aug 2004 21:10:18 +0000 (21:10 +0000)]
* src/mcs51/ralloc.c (packRegsForOneuse): fixed bug #
1012650 and some
related problems
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3447
4a8a32a2-be11-0410-ad9d-
d568d2c75423
bernhardheld [Sat, 21 Aug 2004 12:54:16 +0000 (12:54 +0000)]
bison's rule makes trouble too
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3446
4a8a32a2-be11-0410-ad9d-
d568d2c75423
bernhardheld [Fri, 20 Aug 2004 22:32:32 +0000 (22:32 +0000)]
* sim/ucsim/cmd.src/Makefile.in: run lex only if $(PRJDIR)/devel exists
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3445
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Wed, 18 Aug 2004 05:06:00 +0000 (05:06 +0000)]
* src/z80/ralloc.c (packRegsForAssign): ported some bug fixes from the
mcs51 port
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3444
4a8a32a2-be11-0410-ad9d-
d568d2c75423
slade_rich [Mon, 16 Aug 2004 00:15:43 +0000 (00:15 +0000)]
Pic port - Restored fn genRet as previous fix was incorrect.
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3443
4a8a32a2-be11-0410-ad9d-
d568d2c75423
slade_rich [Mon, 16 Aug 2004 00:14:42 +0000 (00:14 +0000)]
Restored fn genRet as previous fix was incorrect.
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3442
4a8a32a2-be11-0410-ad9d-
d568d2c75423
frief [Sat, 14 Aug 2004 14:10:03 +0000 (14:10 +0000)]
2004-08-14 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
* src/mcs51/gen.c (genJumpTab): jumptables for more than 16 switch cases use more compact code
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3441
4a8a32a2-be11-0410-ad9d-
d568d2c75423
frief [Sat, 14 Aug 2004 14:07:58 +0000 (14:07 +0000)]
src/mcs51/gen.c (genJumpTab): jumptables for more than 16 switch cases use more compact code
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3440
4a8a32a2-be11-0410-ad9d-
d568d2c75423
slade_rich [Thu, 12 Aug 2004 23:46:26 +0000 (23:46 +0000)]
Pic port - Fixed problem with fn returning a variable bigger than a char.
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3439
4a8a32a2-be11-0410-ad9d-
d568d2c75423
slade_rich [Thu, 12 Aug 2004 23:45:26 +0000 (23:45 +0000)]
Fixed problem with fn returning a variable bigger than a char.
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3438
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Thu, 12 Aug 2004 04:42:43 +0000 (04:42 +0000)]
* src/SDCClrange.c (findPrevUse): fixed bug #
1007371
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3437
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Thu, 12 Aug 2004 02:32:05 +0000 (02:32 +0000)]
* src/SDCCsymt.h,
* src/SDCCsymt.c (changePointer, checkDecl, addSymChain): changed
parameter of changePointer() from symbol* to sym_link*
* src/SDCCast.c (decorateType): call changePointer() for CAST op
* src/SDCCsymt.c (compareType): void* type is castable to other
pointers, but not necesarily an exact match.
* src/SDCCicode.c (geniCodeCast): allow void* casting here since it
is no longer blindly treated as an exact match.
* src/SDCCval.c (valCastLiteral): treat missing type as cast to void
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3436
4a8a32a2-be11-0410-ad9d-
d568d2c75423
slade_rich [Thu, 12 Aug 2004 00:19:09 +0000 (00:19 +0000)]
Pic code - Added struct initialisation fn printIvalStruct.
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3435
4a8a32a2-be11-0410-ad9d-
d568d2c75423
slade_rich [Thu, 12 Aug 2004 00:15:31 +0000 (00:15 +0000)]
Added struct initialisation fn printIvalStruct.
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3434
4a8a32a2-be11-0410-ad9d-
d568d2c75423
slade_rich [Wed, 11 Aug 2004 01:18:08 +0000 (01:18 +0000)]
Pic port - Printing rIdx on internal verbose debug.
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3433
4a8a32a2-be11-0410-ad9d-
d568d2c75423
slade_rich [Wed, 11 Aug 2004 01:17:18 +0000 (01:17 +0000)]
Printing rIdx on internal verbose debug.
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3432
4a8a32a2-be11-0410-ad9d-
d568d2c75423
bela [Tue, 10 Aug 2004 12:16:33 +0000 (12:16 +0000)]
sab80515 dapr address corrected
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3430
4a8a32a2-be11-0410-ad9d-
d568d2c75423
bela [Tue, 10 Aug 2004 12:05:59 +0000 (12:05 +0000)]
port P6 added to sab80515.h
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3429
4a8a32a2-be11-0410-ad9d-
d568d2c75423
slade_rich [Tue, 10 Aug 2004 01:25:01 +0000 (01:25 +0000)]
Pic port - Will no longer exit if #pragma maxram has not been defined.
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3428
4a8a32a2-be11-0410-ad9d-
d568d2c75423
slade_rich [Tue, 10 Aug 2004 01:23:04 +0000 (01:23 +0000)]
Will no longer exit if #pragma maxram has not been defined.
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3427
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Fri, 6 Aug 2004 05:27:54 +0000 (05:27 +0000)]
* src/mcs51/gen.c (emitcode): fixed bug #992819
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3424
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Thu, 5 Aug 2004 12:34:53 +0000 (12:34 +0000)]
* src/pic/ralloc.c (deassignLR): allthough pic port is buggy already,
there's no need to make it worse
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3423
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Thu, 5 Aug 2004 08:29:15 +0000 (08:29 +0000)]
* src/mcs51/ralloc.c (deassignLR),
* src/ds390/ralloc.c (deassignLR),
* src/hc08/ralloc.c (deassignLR),
* src/z80/ralloc.c (deassignLR),
* src/pic/ralloc.c (deassignLR),
* src/pic16/ralloc.c (deassignLR),
* src/avr/ralloc.c (deassignLR),
* src/SDCClrange.c (findRecursiveSucc, findRecursivePred, findPrevUse,
rlivePoint): fixed another part of bug #971834
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3422
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Wed, 4 Aug 2004 21:07:00 +0000 (21:07 +0000)]
fixed a formatting goof
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3421
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Wed, 4 Aug 2004 21:05:21 +0000 (21:05 +0000)]
* src/z80/main.c: enabled "critical" keyword
* src/z80/mappings.i,
* src/z80/gen.c (genFunction, genEndFunction): support for interrupt
functions (fixes bug #979646)
* doc/sdccman.lyx: added a subsection explaining z80 interrupt support
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3420
4a8a32a2-be11-0410-ad9d-
d568d2c75423
jesusc [Wed, 4 Aug 2004 13:02:18 +0000 (13:02 +0000)]
src/mcs51/gen.c: add \n for labels only, not DOS/WIN drives such as c:\mydir
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3419
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Tue, 3 Aug 2004 13:04:55 +0000 (13:04 +0000)]
* src/SDCCloop.c (loopInvariants): fixed bug 983545, hope this
doesn't disable too much optimizations
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3418
4a8a32a2-be11-0410-ad9d-
d568d2c75423
slade_rich [Mon, 2 Aug 2004 23:55:23 +0000 (23:55 +0000)]
PIC port, disabled "WARNING: function 'main' undefined" when -S option is used.
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3417
4a8a32a2-be11-0410-ad9d-
d568d2c75423
slade_rich [Mon, 2 Aug 2004 23:52:26 +0000 (23:52 +0000)]
Disabled "WARNING: function 'main' undefined" when -S option is used.
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3416
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Mon, 2 Aug 2004 19:00:49 +0000 (19:00 +0000)]
* src/SDCClrange.c (rlivePoint): fixed bug 988568, thanks to anonymous
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3415
4a8a32a2-be11-0410-ad9d-
d568d2c75423
slade_rich [Mon, 2 Aug 2004 01:34:19 +0000 (01:34 +0000)]
Tidied up tabs and fixed bug with literal multiple where same register was used for hi and low byte.
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3414
4a8a32a2-be11-0410-ad9d-
d568d2c75423
slade_rich [Mon, 2 Aug 2004 01:32:33 +0000 (01:32 +0000)]
Tidied up tabs and disabled verbose code generation.
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3413
4a8a32a2-be11-0410-ad9d-
d568d2c75423
slade_rich [Mon, 2 Aug 2004 01:31:26 +0000 (01:31 +0000)]
Tidied up tabs.
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3412
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Thu, 29 Jul 2004 22:57:20 +0000 (22:57 +0000)]
* src/SDCCmem.c (allocGlobal): don't turn S_REGISTER storage class
to S_FIXED for pic16 port and when symbol is not in level 0,
allocate for S_REGISTER storage class and pic16 port, too,
* src/pic16/device.h: prototype for checkSym,
* src/pic16/device.c (pic16_dump_access, checkSym): NEW,
* (pic16_assignConfigWordValue): test the value and the mask to
validate that the value is suitable for the configuration word,
* src/pic16/glue.c (pic16_printIvalFuncPtr): use 'externs' to
collect extern declared symbols, don't emit symbol twice, check
first if symbol is in publics set first,
* src/pic16/main.c (_pic16_keywords[]): added keyword 'register',
* added command line '--fstack' which enables an experimental
feature for stack access, too buggy to be used yet...
* src/pic16/ralloc.c (pic16_accessregWithName): NEW,
* (pic16_allocDirReg): when register has storage class S_REGISTER
allocate in pic16_dynAccessRegs,
* device/include/pic16/pic18f????.h: modified configuration word
naming convention, words started as CONFIG0H but should be CONFIG1H
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3411
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Thu, 29 Jul 2004 18:18:33 +0000 (18:18 +0000)]
* device/include/mcs51reg.h: fixed bug 970993
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3410
4a8a32a2-be11-0410-ad9d-
d568d2c75423
drdani [Thu, 29 Jul 2004 18:10:28 +0000 (18:10 +0000)]
definition of vasprintf
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3409
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Tue, 27 Jul 2004 20:30:32 +0000 (20:30 +0000)]
* src/SDCC.lex (doPragma): added pragma disable_warning <nnn>
* src/SDCCmain.c (parseCmdLine): added option --disable-warning <nnn>
* src/ds390/gen.c (genPlusIncr): fixed bug when incrementing generic pointers
* support/Util/SDCCerr.c (vwerror): suppress disabled warnings and output
error/warning numbers,
added function setWarningDisabled()
* support/Util/SDCCerr.h: added setWarningDisabled() and MAX_ERROR_WARNING
* support/regression/ports/mcs51-stack-auto/spec.mk: added dependencies
_memcmp.c _memmove.c calloc.c realloc.c free.c
* support/regression/tests/malloc.c: added tests for new functionality
* support/regression/tests/zeropad.c: added tests for truncated initializers
and initialized char arrays starting with '\\x0'
* src/mcs51/peeph.def: fixed regression, added peephole 177.f
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3408
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Tue, 27 Jul 2004 20:03:35 +0000 (20:03 +0000)]
* added lib/calloc.c, lib/free.c, lib/realloc.c, include/stddef.h
* updated lib/malloc.c, lib/libsdcc.lib, lib/Makefile.in, include/malloc.h
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3406
4a8a32a2-be11-0410-ad9d-
d568d2c75423
drdani [Tue, 27 Jul 2004 13:42:53 +0000 (13:42 +0000)]
bug fixes
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3403
4a8a32a2-be11-0410-ad9d-
d568d2c75423
drdani [Mon, 26 Jul 2004 17:41:39 +0000 (17:41 +0000)]
fix of includes
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3402
4a8a32a2-be11-0410-ad9d-
d568d2c75423
bernhardheld [Mon, 26 Jul 2004 07:36:24 +0000 (07:36 +0000)]
* support/valdiag/tests/overflow.c: fixed warning on (1 >> 40)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3401
4a8a32a2-be11-0410-ad9d-
d568d2c75423
frief [Sun, 25 Jul 2004 22:28:13 +0000 (22:28 +0000)]
* doc/sdccman.lyx: updated example in section "Absolute Addressing"
* src/mcs51/peeph.def: added contributed fix for "bug" #995347 as peephole 177.e. Thanks to anonymous
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3400
4a8a32a2-be11-0410-ad9d-
d568d2c75423
frief [Sun, 25 Jul 2004 22:26:59 +0000 (22:26 +0000)]
updated example in section "Absolute Addressing"
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3399
4a8a32a2-be11-0410-ad9d-
d568d2c75423
frief [Sun, 25 Jul 2004 22:25:49 +0000 (22:25 +0000)]
added contributed fix for "bug" #995347 as peephole 177.e. Thanks to anonymous
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3398
4a8a32a2-be11-0410-ad9d-
d568d2c75423
jesusc [Sun, 25 Jul 2004 02:15:03 +0000 (02:15 +0000)]
Added dependency of ChangeLog to version.h
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3397
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Sat, 24 Jul 2004 22:08:23 +0000 (22:08 +0000)]
* src/pic16/glue.c (pic16_printIvalFuncPtr): when an extern
function isn't used in the source but referenced as a
variable initializer then declare it as extern in .asm file
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3396
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Sat, 24 Jul 2004 18:01:53 +0000 (18:01 +0000)]
* (rule Makefile.dep): added dependency version.h,
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3395
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Sat, 24 Jul 2004 17:59:02 +0000 (17:59 +0000)]
* (rule dep): added dependency version.h,
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3394
4a8a32a2-be11-0410-ad9d-
d568d2c75423
jesusc [Sat, 24 Jul 2004 16:27:29 +0000 (16:27 +0000)]
Added creation of version.h to project
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3393
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Sat, 24 Jul 2004 11:38:30 +0000 (11:38 +0000)]
* .version: increased version number to 2.4.3
Adding version extension according to ChangeLog CVS revision
* src/Makefile.in (target all): added dependency 'version.h'
* (rule version.h): added rule to create version.h from ChangeLog
* src/version.awk: AWK script to create version.h
* src/SDCCdwarf2.c (dwWriteModule),
* src/SDCCglue.c (initialComments),
* src/SDCCmain.c (printVersionInfo): modified to write after
version string the version extension number,
* src/SDCCutil.c: included "version.h"
* (getBuildNumber): NEW, returns SDCC's ChangeLog minor revision
number,
* src/SDCCutil.h: added prototype for getBuildNumber
* src/SDCCmain.c (parseCmdLine): when sOpt is 'I' add rest in
includeDirsSet, too,
* src/SDCCsymt.c (checkSClass): don't emit error when a variable,
const char [] is found in function prototype...
* src/pic16/genarith.c (pic16_genUMult8XLit_8): optimization to omit
moving to WREG with source is already in WREG,
* src/pic16/gen.h: added AOP_FSR0 and AOP_FSR2 in enum,
* src/pic16/gen.c (getFreePtr): updated to look for FSR0 and FSR2,
* (aopForSym): stack'ed symbols are partially supported, added
if-clause to support symbols in FARSPACE,
* (sameRegs): added test for AOP_ACC to see if registers are same,
* (pic16_freeAsmop): added case for AOP_FSR0 and AOP_FSR2,
* (pic16_aopGet): added case for AOP_FSR0 and AOP_FSR2,
* (pic16_popRegFromString): will not allocate a new register if it
doesn't find one by name, bug may have introduced...
* (pic16_popGet): added case for AOP_FSR0 and AOP_FSR2,
* (genIpush): revived to use pic16 port's stack,
* (genAddrOf): added incomplete case for stack'ed operand,
* (genCast): optimized a pair of MOVFW,MOVWF to MOVFF
* src/pic16/genutils.c (pic16_genNot): almot new vesrion for NOT,
can handle multibyte operands,
* src/pic16/glue.c (pic16_printIval*): some debug info added,
* (pic16initialComments): added message for MPLAB compatibility
mode enabled,
* src/pic16/main.h: prototype for pic16_mplab_comp,
* src/pic16/main.c (pic16_optionsTable): new option --mplab-comp,
which enabled MPLAB compatibility mode (i.e. no #LINE/#FILE, BANKED)
* (_pic16_linkEdit): NEW, handles link stage, transferred here
because of increased complexity of procedure,
* (_process_pragma): stack pragma changed to format 'stack pos len',
emit symbol '_stack_end' to conform with gplink,
* src/pic16/pcode.c (pic16_newpCodeOpBit): using pic16_regWithName
to search for register,
* (pic16_get_op, pic16_get_op2): added case for PO_W, PO_WREG and
PO_GPR_REGISTER,
* (pic16_pCode2str): when in MPLAB compatibility mode, comment out
#LINE directives and replace 'B' with 'BANKED' in instruction opcodes
* (pic16_getRegFromInstruction, pic16_getRegFromInstruction2): added
case for PO_GPR_REGISTER,
* (pic16_AnalyzeBanking): removed the old message for inc2h.pl, past
dies, the new era is ahead !...
* src/pic16/ralloc.c: added hash reposits pic16_dynAllocRegNames and
pic16_dynInternalRegs,
* (pic16_allocregWithName, pic16_procregWithName, pic16_regWithname): NEW,
* (pic16_allocDirReg): minor optimizations and bug fixes,
* (pic16_allocWithIdx): when searching pic16_dynProcessorRegs use fixed,
* device/lib/pic16/startup/crt0*.c: extern definition of stack_end,
load stack and frame pointer with address of 'stack_end' symbol
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3392
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Sat, 24 Jul 2004 11:25:56 +0000 (11:25 +0000)]
* src/SDCCmain.c (parseCmdLine): when sOpt is 'I' add rest in
includeDirsSet, too,
* src/SDCCsymt.c (checkSClass): don't emit error when a variable,
const char [] is found in function prototype...
* src/pic16/genarith.c (pic16_genUMult8XLit_8): optimization to omit
moving to WREG with source is already in WREG,
* src/pic16/gen.h: added AOP_FSR0 and AOP_FSR2 in enum,
* src/pic16/gen.c (getFreePtr): updated to look for FSR0 and FSR2,
* (aopForSym): stack'ed symbols are partially supported, added
if-clause to support symbols in FARSPACE,
* (sameRegs): added test for AOP_ACC to see if registers are same,
* (pic16_freeAsmop): added case for AOP_FSR0 and AOP_FSR2,
* (pic16_aopGet): added case for AOP_FSR0 and AOP_FSR2,
* (pic16_popRegFromString): will not allocate a new register if it
doesn't find one by name, bug may have introduced...
* (pic16_popGet): added case for AOP_FSR0 and AOP_FSR2,
* (genIpush): revived to use pic16 port's stack,
* (genAddrOf): added incomplete case for stack'ed operand,
* (genCast): optimized a pair of MOVFW,MOVWF to MOVFF
* src/pic16/genutils.c (pic16_genNot): almot new vesrion for NOT,
can handle multibyte operands,
* src/pic16/glue.c (pic16_printIval*): some debug info added,
* (pic16initialComments): added message for MPLAB compatibility
mode enabled,
* src/pic16/main.h: prototype for pic16_mplab_comp,
* src/pic16/main.c (pic16_optionsTable): new option --mplab-comp,
which enabled MPLAB compatibility mode (i.e. no #LINE/#FILE, BANKED)
* (_pic16_linkEdit): NEW, handles link stage, transferred here
because of increased complexity of procedure,
* src/pic16/pcode.c (pic16_newpCodeOpBit): using pic16_regWithName
to search for register,
* (pic16_get_op, pic16_get_op2): added case for PO_W, PO_WREG and
PO_GPR_REGISTER,
* (pic16_pCode2str): when in MPLAB compatibility mode, comment out
#LINE directives and replace 'B' with 'BANKED' in instruction opcodes
* (pic16_getRegFromInstruction, pic16_getRegFromInstruction2): added
case for PO_GPR_REGISTER,
* (pic16_AnalyzeBanking): removed the old message for inc2h.pl, past
dies, the new era is ahead !...
* src/pic16/ralloc.c: added hash reposits pic16_dynAllocRegNames and
pic16_dynInternalRegs,
* (pic16_allocregWithName, pic16_procregWithName, pic16_regWithname): NEW,
* (pic16_allocDirReg): minor optimizations and bug fixes,
* (pic16_allocWithIdx): when searching pic16_dynProcessorRegs use fixed,
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3391
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Sat, 24 Jul 2004 09:30:14 +0000 (09:30 +0000)]
Adding version extension according to ChangeLog CVS revision
* src/Makefile.in (target all): added dependency 'version.h'
* (rule version.h): added rule to create version.h from ChangeLog
* src/version.awk: AWK script to create version.h
* src/SDCCdwarf2.c (dwWriteModule),
* src/SDCCglue.c (initialComments),
* src/SDCCmain.c (printVersionInfo): modified to write after
version string the version extension number,
* src/SDCCutil.c: included "version.h"
* (getBuildNumber): NEW, returns SDCC's ChangeLog minor revision
number,
* src/SDCCutil.h: added prototype for getBuildNumber
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3390
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Fri, 23 Jul 2004 13:45:51 +0000 (13:45 +0000)]
* src/pic16/glue.c (pic16emitStaticSeg): fixed bug with files
without source code but only variable initializers
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3389
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Tue, 20 Jul 2004 12:59:59 +0000 (12:59 +0000)]
* src/pic16/glue.c (pic16emitRegularMap): unused functions marked as
external are not declared as extern to reduce overhead while linking
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3388
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Tue, 20 Jul 2004 12:50:09 +0000 (12:50 +0000)]
* src/pic16/glue.c (pic16_emitRegularMap): unused functions marked as
external are not declared as extern to reduce overhead while linking
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3387
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Tue, 20 Jul 2004 10:54:24 +0000 (10:54 +0000)]
* src/SDCCast.c (decorateType): removed buggy fix for bug #979599
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3386
4a8a32a2-be11-0410-ad9d-
d568d2c75423
drdani [Sun, 18 Jul 2004 10:27:59 +0000 (10:27 +0000)]
eliminate need of flex
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3385
4a8a32a2-be11-0410-ad9d-
d568d2c75423
drdani [Sat, 17 Jul 2004 07:13:06 +0000 (07:13 +0000)]
version 0.5.2
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3384
4a8a32a2-be11-0410-ad9d-
d568d2c75423
drdani [Fri, 16 Jul 2004 16:36:33 +0000 (16:36 +0000)]
version 0.5.2
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3383
4a8a32a2-be11-0410-ad9d-
d568d2c75423
drdani [Fri, 16 Jul 2004 16:32:30 +0000 (16:32 +0000)]
new files of 0.5.2
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3382
4a8a32a2-be11-0410-ad9d-
d568d2c75423
drdani [Fri, 16 Jul 2004 14:27:54 +0000 (14:27 +0000)]
updating uCsim script files for new version of uCsim
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3381
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Sun, 11 Jul 2004 10:45:26 +0000 (10:45 +0000)]
* src/SDCCglue.c (printIvalArray): fixed bug #984229, thanks to Phuah
Yee Keat for the patch
* src/SDCCast.c (decorateType): fixed bug #979599
* src/ds390/gen.h: removed local fReturnSizeDS390
* src/ds390/gen.c: made fReturnSizeDS390 signed short to remove a warning
* src/ds390/gen.c (genAnd, genOr, genXor),
* src/mcs51/gen.c (genAnd, genOr, genXor): generate better optimized code
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3380
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Fri, 9 Jul 2004 23:35:21 +0000 (23:35 +0000)]
* device/lib/pic16/libsdcc/float/ updated contents of all sources,
* device/include/pic16/float.h: enabled prototypes of float support
functions,
* src/pic16/pcode.c: fixed bug #974733, nothing to do with _naked
attribute though
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3379
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Fri, 9 Jul 2004 23:29:17 +0000 (23:29 +0000)]
* prototypes for floating point support functions enabled
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3378
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Fri, 9 Jul 2004 23:28:16 +0000 (23:28 +0000)]
* sources in device/lib/pic16/libsdcc/float/*.c were empty,
contents updated
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3377
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Mon, 5 Jul 2004 15:49:34 +0000 (15:49 +0000)]
* src/SDCCmain.c (linkEdit): modifications only for pic16 port,
add relFilesSet to $3, manipulate $2 to handle linking of object
files without source files in command line,
* device/include/pic16 (all headers): added ID location macros,
* src/pic16/device.c (struct PIC16_device Pics16[]): added field
entries for ID location bytes,
* (pic16_assignIdByteValue): NEW,
* src/pic16/device.h: new structures idRegInfo_t and idBytesInfo_t,
added field dumpcalltree to pic16_options_t,
* src/pic16/gen.c (genCmp): fixed bug case so a temporary register
is used instead of pic16_Gstack_base_addr, check if (ifx) before
emitting rFalseIfx label after check_carry label,
* src/pic16/glue.c (PIC16_IS_IDLOC_ADDRESS, PIC16_IS_HWREG_ADDRESS,
pic16_emitDIRegs), NEW
* (pic16glue): dump .calltree file when option --calltree found,
* src/pic16/main.c (OPTION _pic16_optionsTable): new option --calltree
* (_pic16_genAssemblerPreamble): emit ID locations after
configuration registers,
* (pic16_linkCmd): modifications of the link command,
* src/pic16/pcode.c (pic16_pciMOVFF): PCC_REGISTER replaces PCC_REGISTER2
* (pic16_pCodeInitRegisters): don't init stack registers,
* (pic16_findPrevInstruction): fixed bug,
* (pic16_getRegFromInstruction, pic16_getRegFromInstruction2): fixed
bug with immediate registers,
* (buildCallTree): traces stack push and pop,
* (pct2): dump also stack usage for each function,
* src/pic16/ralloc.c (dynrIdx): registers names start from 0x00
* (pic16_allocDirReg): various modifications,
* (pic16_typeRegWithIdx): when searching pic16_dynProcessorRegs set
fixed to 1,
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3376
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Sun, 4 Jul 2004 09:45:54 +0000 (09:45 +0000)]
replaced lost contents
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3375
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Sun, 4 Jul 2004 09:30:49 +0000 (09:30 +0000)]
* src/SDCCmain.c (linkEdit): modifications only for pic16 port,
add relFilesSet to $3, manipulate $2 to handle linking of object
files without source files in command line,
* device/include/pic16 (all headers): added ID location macros,
* src/pic16/device.c (struct PIC16_device Pics16[]): added field
entries for ID location bytes,
* (pic16_assignIdByteValue): NEW,
* src/pic16/device.h: new structures idRegInfo_t and idBytesInfo_t,
added field dumpcalltree to pic16_options_t,
* src/pic16/gen.c (genCmp): fixed bug case so a temporary register
is used instead of pic16_Gstack_base_addr, check if (ifx) before
emitting rFalseIfx label after check_carry label,
* src/pic16/glue.c (PIC16_IS_IDLOC_ADDRESS, PIC16_IS_HWREG_ADDRESS,
pic16_emitDIRegs), NEW
* (pic16glue): dump .calltree file when option --calltree found,
* src/pic16/main.c (OPTION _pic16_optionsTable): new option --calltree
* (_pic16_genAssemblerPreamble): emit ID locations after
configuration registers,
* (pic16_linkCmd): modifications of the link command,
* src/pic16/pcode.c (pic16_pciMOVFF): PCC_REGISTER replaces PCC_REGISTER2
* (pic16_pCodeInitRegisters): don't init stack registers,
* (pic16_findPrevInstruction): fixed bug,
* (pic16_getRegFromInstruction, pic16_getRegFromInstruction2): fixed
bug with immediate registers,
* (buildCallTree): traces stack push and pop,
* (pct2): dump also stack usage for each function,
* src/pic16/ralloc.c (dynrIdx): registers names start from 0x00
* (pic16_allocDirReg): various modifications,
* (pic16_typeRegWithIdx): when searching pic16_dynProcessorRegs set
fixed to 1,
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3374
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Fri, 2 Jul 2004 16:21:01 +0000 (16:21 +0000)]
* src/pic16/pcode.c: removed buggy double colon
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3373
4a8a32a2-be11-0410-ad9d-
d568d2c75423
borutr [Thu, 1 Jul 2004 18:08:07 +0000 (18:08 +0000)]
support/scripts/sdcc.nsi: added include/pic16 to setup
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3372
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Wed, 30 Jun 2004 15:20:58 +0000 (15:20 +0000)]
* device/lib/Makefile.in: fixed bug in target objects-pic16,
* device/lib/pic16/Makefile: prefixed with dash (-) command under
target 'clean',
* doc/sdccman.lyx: changed version to 2.4.2 and added some port
specific command line arguments. Also added sample lkr script
for placing a variable at a specific memory bank.
* src/pic16/device.c (pic16_dump_gsection): NEW, to dump variables
at a specific memory bank,
* (pic16_dump_isection): fixed bug which caused string literals to
be omitted when dumping idata section,
* (pic16_groupRegistersInSection): added code to handle registers
in specific memory banks,
* src/pic16/gen.c: labelOffset is prefixed with pic16_ and made
public, all references are renamed too,
* (pic16_aopGet): removed switch cases for AOP_R0,AOP_R1,AOP_DPTR,
AOP_DPTR2,
* (pic16_storeForReturn): added case to handle when dest is WREG,
* src/pic16/genarith.c (pic16_pCodeOpSubType): NEW,
* src/pic16/glue.c (pic16emitRegularMap): when adding a register in
pic16_rel_udata, check to see if that register is marked as being
a member of a specific memory bank,
* (pic16_printIvalCharPtr): added code to add string literals either
to code or the idata sections,
* src/pic16/main.c (_process_pragma): added \n to WHITE constant,
also accept the 'udata' pragma,
* src/pic16/main.h: new structure types sectName and sectSym
* src/pic16/pcode.c: added new pCodeInstruction entry for BANKSEL
* (newpCodeOpBit): added PIC_OPTYPE subt in function prototype,
* (pic16_findPrevInstruction): fixed, it returned nothing,
* (insertBankSwitch): fixed to emit banksel/skip and skip/banksel
instruction combinations,
* (pic16_FixRegisterBanking): heavily reorganised,
* (pic16_AnalyzeBanking): if generating banksel directives is
disabled, then don't call FixRegisterBanking at all,
* src/pic16/ralloc.c (bitEQUs, aliasEQUs, allDefsOutOfRange):
completely removed,
* (pic16_writeUsedRegisters): added call to pic16_dump_gsection
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3371
4a8a32a2-be11-0410-ad9d-
d568d2c75423
bernhardheld [Tue, 29 Jun 2004 20:52:05 +0000 (20:52 +0000)]
* src/SDCCglue.c (printChar): fixed bug #973350, patch provided by Phuah Yee Keat <yk.phuah AT nestac.com>
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3370
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Mon, 28 Jun 2004 20:17:24 +0000 (20:17 +0000)]
* src/pic16/glue.c (pic16createInterruptVect): function now emits
correctly the IVT even if it is relocated to some other location
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3369
4a8a32a2-be11-0410-ad9d-
d568d2c75423