epetrich [Sat, 7 May 2005 19:23:09 +0000 (19:23 +0000)]
* .version: changed to version 2.5.0
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3748
4a8a32a2-be11-0410-ad9d-
d568d2c75423
frief [Wed, 27 Apr 2005 17:22:11 +0000 (17:22 +0000)]
doc/sdccman.lyx: updated weblinks, index and smaller updates
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3747
4a8a32a2-be11-0410-ad9d-
d568d2c75423
frief [Wed, 27 Apr 2005 17:19:48 +0000 (17:19 +0000)]
updated weblinks, index and smaller updates
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3746
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Tue, 26 Apr 2005 22:47:47 +0000 (22:47 +0000)]
* doc/sdccman.lyx: changed version 2.5.0, documented --std-c89,
--std-sdcc89, --std-c99, --std-sdcc99, and the corresponding #pragmas, as
well as many smaller updates.
* .version: changed to version 2.5.0-pre1
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3744
4a8a32a2-be11-0410-ad9d-
d568d2c75423
jesusc [Tue, 26 Apr 2005 17:13:25 +0000 (17:13 +0000)]
src/SSDCCmain.c (setIncludePath): added port->target to SDCC_INCLUDE_NAME
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3743
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Tue, 26 Apr 2005 10:14:27 +0000 (10:14 +0000)]
* support/regression/tests/bug1185672.c: added
* src/mcs51/gen.c (aopGetUsesAcc, genCpl, genAnd, genOr, genXor): fixed
bug
1185672
* src/mcs51/gen.c (genCall): added comments, made it look safer
* src/mcs51/gen.c (genEndFunction): simplified
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3742
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Mon, 25 Apr 2005 19:02:56 +0000 (19:02 +0000)]
* src/mcs51/ralloc.c (serialRegAssign): fixed bug
1189609
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3741
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Sun, 17 Apr 2005 11:50:24 +0000 (11:50 +0000)]
* fixed Changelog entry
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3740
4a8a32a2-be11-0410-ad9d-
d568d2c75423
borutr [Thu, 14 Apr 2005 18:45:46 +0000 (18:45 +0000)]
* fixed bug
1045046 - SIGSEGV with really simple code?:
src/pic16/pcode.c (pCodeInitRegisters)- pseudo stack size increased to 16
src/pic16/ralloc.c (typeRegWithIdx) - error message on pseudo stack overflow
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3739
4a8a32a2-be11-0410-ad9d-
d568d2c75423
borutr [Thu, 14 Apr 2005 16:58:38 +0000 (16:58 +0000)]
* src/pic16/gen.c (genInline), src/pic16/main.c (_process_pragma),
src/pic16/device.h: temporarily disabled experimental #inline pragma
for 2.5.0 release
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3738
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Thu, 14 Apr 2005 16:50:05 +0000 (16:50 +0000)]
* device/include/z80/stdio.h,
* device/include/z80/string.h: removed these highly incomplete files so
SDCC can use the default ones in device/include/
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3737
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Thu, 14 Apr 2005 13:42:22 +0000 (13:42 +0000)]
* src/mcs51/gen.c (genEndFunction): removed unused variable to fix
gcc warning.
* device/lib/Makefile.in: default PORTINCDIR to the mcs51 subdir to
fix sdcpp warnings.
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3736
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Tue, 12 Apr 2005 16:09:15 +0000 (16:09 +0000)]
* device/include/malloc.h: removed redundant __reentrant prototypes
* device/lib/_mullong.c: added working xstack variant in asm (C version
doesn't pass regression tests)
* device/lib/bpx.c: used __data and made bpx char for mcs51
* src/SDCCast.c (decorateType): removed unused GPTYPE_IDATA,
(createFunction): fixed bug with xstackPtr
* src/SDCCcse.c: corrected comments
* src/SDCCopt.c (convertToFcall): fixed warning in MSVC,
(killDeadCode, eBBlockFromiCode): removed unused code
* src/SDCCsymt.h: removed unused GPTYPE_GPTR and GPTYPE_IDATA,
corrected comments
* src/mcs51/gen.c (aopForSym, aopPut, toBoolean, unsaveRegisters,
assignResultValue, genCall, genFunction, genEndFunction, genAnd,
genOr, genXor, genAddrOf): fixed several bugs concerning xstack
(genModOneByte): fixed warning in MSVC
* src/mcs51/main.c (): added comments
* src/mcs51/peeph.def: changed 129 to 129.a, added 129.b, 129.c & 129.d
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3735
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Tue, 12 Apr 2005 06:41:59 +0000 (06:41 +0000)]
* src/SDCCmain.c (linkEdit): oops, changed one line too many
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3734
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Mon, 11 Apr 2005 19:23:33 +0000 (19:23 +0000)]
* src/SDCCmain.c (linkEdit): fixed bug with finding crt0.o for z80
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3733
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Sun, 10 Apr 2005 21:00:34 +0000 (21:00 +0000)]
* src/pic16/glue.c (printIvalChar): bug introduced by previous patch fixed
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3732
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Sun, 10 Apr 2005 16:08:23 +0000 (16:08 +0000)]
* src/pic16/glue.c (printIvalChar): fixed bug when emitting
characters arrays of larger size than the declared one.
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3731
4a8a32a2-be11-0410-ad9d-
d568d2c75423
borutr [Sun, 10 Apr 2005 09:44:23 +0000 (09:44 +0000)]
* src/pic/gen.c (genInline),
src/pic/pcode.c (newpCodeAsmDir), (pCode2str),
(genericPrint), (unlinkpCodeFromBranch), (compareLabel),
(findNextInstruction), (findPrevInstruction),
(findInstructionUsingLabel),
src/pic/pcode.h: fixed bug #
1164907 - Labels not being recognized
* src/pic/pcode.c (findLabel): added missing '\\n'
* src/src.dsp: added SDCCdwarf2.c to the project
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3730
4a8a32a2-be11-0410-ad9d-
d568d2c75423
borutr [Sat, 9 Apr 2005 09:50:09 +0000 (09:50 +0000)]
* support/scripts/sdcc.nsi: added include/hc08/* h to NSIS setup
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3729
4a8a32a2-be11-0410-ad9d-
d568d2c75423
tecodev [Fri, 8 Apr 2005 21:12:15 +0000 (21:12 +0000)]
* src/pic16/pcode.c: added helpers defmapInsertAfter (insert a new item
into the chain after a given one) and mergeDefmapSymbols (combine
defmap entries for each symbol per pcode)
* (createDefmap): have defmap entries merged in the end
* (defmapReplaceSymRef): split defmap entries covering two accesses to
a symbol before replacing one access type's symbol, merge symbols in
the end (replacement symbol might already have an entry)
* (assignValnums): keep defmap entry for written WREG intact
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3728
4a8a32a2-be11-0410-ad9d-
d568d2c75423
tecodev [Fri, 8 Apr 2005 10:26:06 +0000 (10:26 +0000)]
* src/pic16/pcode.c (struct defmap_s): named anonymous union (for
Alpha)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3727
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Fri, 8 Apr 2005 06:11:00 +0000 (06:11 +0000)]
* src/pic16/pcode.c (pic16_get_op2): enlarged size of array b to 128
bytes
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3726
4a8a32a2-be11-0410-ad9d-
d568d2c75423
tecodev [Thu, 7 Apr 2005 17:19:42 +0000 (17:19 +0000)]
* device/include/pic16/usart.h: added compatibility defines for
devices with more than one USART
* device/include/pic16/pic18f[68][567]20.h: activated above defines
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3725
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Thu, 7 Apr 2005 16:10:30 +0000 (16:10 +0000)]
* device/lib/Makefile.in: updated for port specific include
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3724
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Thu, 7 Apr 2005 11:24:52 +0000 (11:24 +0000)]
* support/regression/ports/mcs51/spec.mk: added mcs51 include
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3723
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Thu, 7 Apr 2005 09:52:11 +0000 (09:52 +0000)]
* device/include/8051.h,
* device/include/8052.h,
* device/include/at89S8252.h,
* device/include/at89c55.h,
* device/include/at89x051.h,
* device/include/at89x51.h,
* device/include/at89x52.h,
* device/include/mcs51reg.h,
* device/include/reg51.h,
* device/include/reg764.h,
* device/include/regc515c.h,
* device/include/sab80515.h: (re)moved these 12 files
* device/include/mcs51/8051.h,
* device/include/mcs51/8052.h,
* device/include/mcs51/at89S8252.h,
* device/include/mcs51/at89c55.h,
* device/include/mcs51/at89x051.h,
* device/include/mcs51/at89x51.h,
* device/include/mcs51/at89x52.h,
* device/include/mcs51/mcs51reg.h,
* device/include/mcs51/reg51.h,
* device/include/mcs51/reg764.h,
* device/include/mcs51/regc515c.h,
* device/include/mcs51/sab80515.h: and added them here
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3722
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Wed, 6 Apr 2005 20:09:07 +0000 (20:09 +0000)]
* device/include/stdarg.h: changed SDCC specific keywords to double
underlined form.
* device/include/stdint.h: changed intptr_t and uintptr_t for others than
mcs51 and ds390.
* device/include/hc08/mc68hc908gp32.h,
* device/include/hc08/mc68hc908jb8.h,
* device/include/hc08/mc68hc908jkjl.h,
* device/include/hc08/mc68hc908qy.h: fixed comments
* device/include/mcs51/README: updated
* device/include/mcs51/
c8051f120.h: added PINRSF
* device/lib/pic16/libc/stdlib/crc16.c: fixed comments
* src/pic16/pcode.c: MSVC6 doesn't accept declaring new variables
amidst code. Also inline is not supported.
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3721
4a8a32a2-be11-0410-ad9d-
d568d2c75423
tecodev [Wed, 6 Apr 2005 07:55:10 +0000 (07:55 +0000)]
* src/pic16/pcode.c (pic16_pCodeReplace): also update pcflow->end
* (createDefmap): fixed CALLs to depend on FSR1 and RETLW to restore
callers stack/frame pointers
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3720
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Wed, 6 Apr 2005 06:11:08 +0000 (06:11 +0000)]
* device/lib/pic16/libio/Makefile.rules: moved $(CSTD) from CFLAGS to
COMPILE_FLAGS because sdcpp complains for unrecognised option
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3719
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Wed, 6 Apr 2005 06:06:20 +0000 (06:06 +0000)]
* device/include/pic16/usart.h: added, missing in previous commit,
* device/include/pic16/adc.h: fixed typo,
* device/lib/pic16/libc/utils/cvtdec.S: added missing in previous
commit,
* device/lib/pic16/libc/stdlib/g_ftoa.S: modified to include
<p18fxxx.inc>
* device/lib/pic16/libc/stdio/streams.c: leave stdin, stdout
uninitialized because a bug appears with gplink
* device/lib/pic16/{some makefiles}: moved $(CSTD) from CFLAGS to
COMPILE_FLAGS and added CPPFLAGS with -nostdinc because sdcpp
complains for unrecognised option
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3718
4a8a32a2-be11-0410-ad9d-
d568d2c75423
tecodev [Tue, 5 Apr 2005 11:34:14 +0000 (11:34 +0000)]
* src/pic16/gen.c (pic16_popCopyReg): made copying work for extended
structs as well (using memcpy)
* (genFunction): fixed comparison, used pCodeOpLabel to reduce warning
on ISRs (GOTO has no label)
* src/pic16/device.h: added OF_OPTIMIZE_DF
* src/pic16/main.c: added compiler switch --optimize-df to enable the
new data flow analysis/optimization
* src/pic16/pcode.c: added (prototypes for and implementation of)
dataflow analysis functions, fixed pCodeInstructions' inCond and
outCond values, made RCALL a branch instruction
* (pic16_unlinkpCode): keep C line if possible
* (pic16_pCodeUnlink): removed cast on left side of assignment, have
C line moved if possible
* (pic16_getRegFrompCodeOp): NEW, improved version of...
* (pic16_getRegFromInstruction,pic16_getRegFromInstruction2): changed
to use new pic16_getRegFrompCodeOp (works for more SFRs)
* (pic16_BuildFlow): fixed skip instructions with label (did not start
new flow)
* (pic16_getJumptabpCode): NEW, needed in...
* (LinkFlow): fixed handling of jumptables, calls and conditional
branches
* (pic16_InsertCommentAfter): NEW
* (pic16_pCodeReplace): made verbose and flow preserving
* (AnalyzeFlow): added call to data flow analysis
* src/pic16/pcode.h: added defmaps to pCodeFlow struct
* src/pic16/pcodeflow.h: added PCC_STATUS to mean all STATUS bits
* src/pic16/ralloc.c (packRegsForAssign): added return 1 in the end
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3717
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Sun, 3 Apr 2005 03:20:57 +0000 (03:20 +0000)]
* src/SDCCast.c (decorateType): fixed bug #
1105626
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3716
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Sat, 2 Apr 2005 13:35:31 +0000 (13:35 +0000)]
* new missed to commit in SDCC v2.4.8 #1.988
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3715
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Sat, 2 Apr 2005 13:13:53 +0000 (13:13 +0000)]
* device/include/asm/pic16/features.h,
* pic18f*.h headers,
* device/include/pic16/adc.h,
* device/include/pic16/delay.h,
* device/include/pic16/i2c.h,
* device/include/pic16/malloc.h,
* device/include/pic16/stdio.h,
* device/include/pic16/stdlib.h,
* device/include/pic16/string.h,
* device/lib/pic16/libc/stdio/printf_tiny.c,
* device/lib/pic16/libc/stdio/printf_small.c,
* device/lib/pic16/libc/stdio/strmgpsim.c,
* device/lib/pic16/libc/stdio/strmmssp.c,
* device/lib/pic16/libc/stdio/strmusart.c,
* device/lib/pic16/libc/stdio/vfprintf.c,
* device/lib/pic16/libc/stdlib/ltoa.c,
* device/lib/pic16/libc/stdlib/putchar.c,
* device/lib/pic16/libc/stdlib/x_ftoa.c,
* device/lib/pic16/libc/stdlib/memchrpgm.c,
* device/lib/pic16/libc/stdlib/memchrram.c,
* device/lib/pic16/libc/stdlib/memcpypgm2ram.c,
* device/lib/pic16/libc/stdlib/memcpyram2ram.c,
* device/lib/pic16/libio/adc/adcbusy.c,
* device/lib/pic16/libio/adc/adcread.c,
* device/lib/pic16/libio/adc/adcsetch.c,
* device/lib/pic16/libio/usart/ubaud.c,
* device/lib/pic16/libio/usart/ubusy.c,
* device/lib/pic16/libio/usart/udrdy.c,
* device/lib/pic16/libio/usart/uopen.c,
* device/lib/pic16/libio/usart/uputc.c,
* device/lib/pic16/libsdcc/gptr/gptrget1.c,
* device/lib/pic16/libsdcc/gptr/gptrget2.c,
* device/lib/pic16/libsdcc/gptr/gptrget3.c,
* device/lib/pic16/libsdcc/gptr/gptrget4.c,
* device/lib/pic16/libsdcc/gptr/gptrput1.c,
* device/lib/pic16/libsdcc/gptr/gptrput2.c,
* device/lib/pic16/libsdcc/gptr/gptrput3.c,
* device/lib/pic16/libsdcc/gptr/gptrput4.c: modified all SDCC
specific keywords to double underlined form,
* device/lib/pic16/libc/Makefile.rules,
* device/lib/pic16/libsdcc/Makefile.rules,
* device/lib/pic16/libm/Makefile,
* device/lib/pic16/libio/Makefile.rules: added CSTD macro in CFLAGS
to compile with C standard set in Makefile.common
* device/lib/pic16/libc/stdlib/Makefile: added new C sources
rand.c and crc.c in compilation process,
* device/lib/pic16/libsdcc/int/divuint.c,
* device/lib/pic16/libsdcc/long/divulong.c: changed declaration of
`c' from signed to unsigned,
* device/lib/pic16/startup/crt0.c,
* device/lib/pic16/startup/crt0i.c,
* device/lib/pic16/startup/crt0iz.c: adopted to all SDCC specific
keywords to double underlined form, bug fixes in _do_cinit function
which prevented the correct initialization of the .idata segment,
* src/pic16/pcoderegs.c (insideLRBlock): fixed a bug that caused the
core to enter a infinite loop
* device/lib/pic16/libc/stdlib/rand.c, crc.c: new files
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3714
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Sat, 2 Apr 2005 07:06:41 +0000 (07:06 +0000)]
* src/SDCCicode.c (getArraySizePtr): fixed bug #
1122171
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3713
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Fri, 1 Apr 2005 04:05:27 +0000 (04:05 +0000)]
* device/include/Makefile.in: add support for hc08 subdirectory
* device/include/hc08/: new subdirectory
* device/include/hc08/mc68hc908jkjl.h: new header contributed by
Lucas Loizaga, thanks!
* device/include/hc08/mc68hc908qy.h,
* device/include/hc08/mc68hc908gp32.h,
* device/include/hc08/mc68hc908jb8.h: moved hc08 register defs to
their own directory. Changed internal macro names to use the compiler
reserved namespace. Changed SDCC specific keywords to double
underlined form.
* device/include/math.h,
* device/include/malloc.h,
* device/include/stdarg.h,
* device/include/stdbool.h
* device/include/string.h,
* device/include/tinibios.h,
* device/include/ds400rom.h,
* device/include/8051.h,
* device/include/8052.h,
* device/include/80c51xa.h,
* device/include/at89c55.h,
* device/include/at89S8252.h,
* device/include/at89x51.h,
* device/include/at89x52.h,
* device/include/ds80c390.h,
* device/include/reg764.h,
* device/include/regc515c.h,
* device/include/sab80515.h,
* device/include/mcs51/
c8051f000.h,
* device/include/mcs51/
c8051f018.h,
* device/include/mcs51/
c8051f020.h,
* device/include/mcs51/
c8051f040.h,
* device/include/mcs51/
c8051f060.h,
* device/include/mcs51/
c8051f120.h,
* device/include/mcs51/
c8051f300.h,
* device/include/mcs51/
c8051f310.h,
* device/include/mcs51/
c8051f320.h,
* device/include/mcs51/
c8051f330.h,
* device/include/mcs51/
c8051f350.h,
* device/include/z180.h: Changed SDCC specific keywords to double
underlined form.
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3712
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Thu, 31 Mar 2005 16:25:17 +0000 (16:25 +0000)]
* src/pic16/device.c (Pics16[]): added devices
18F2550,
18F4331,
18F4455,
* (pic16_assignConfigWordValue): disable testing of configuration
register value with config mask,
* src/pic16/gen.c (pic16_testStackOverflow): prefix stack test
function with port->fun_prefix,
* (genFunction): when generating a naked interrupt function never
create an absolute segment placed in interrupt vector address, place
the actual interrupt function at IVA instead, when an interrupt
function is generated with unspecified interrupt then do not create
the absolute section,
* (genGenPointerGet, genGenPointerSet, genPackBits): replace all
code for generating a call to generic pointer get/put function with
a call to function pic16_callGenericPointer(),
* src/pic16/genutils.c (pic16_callGenericPointerRW): NEW, generates
the call to the generic pointer get/put functions with prefixing the
function name with port->fun_prefix,
* src/pic16/glue.c (pic16glue): ifdef-out test of OF_LR_SUPPORT,
* src/pic16/main.c (_process_pragma): prefix function with
port->fun_prefix,
* (_pic16_finaliseOptions): define macro __18Fxxxx macro when
calling assembler, old 18Fxxxx macro is deprecated,
* src/pic16/pcode.c (unlinkpCodeFromBranch): added PC_INLINE and
PC_ASMDIR in while condition,
* (findInstruction): add PC_ASMDIR in while condition,
* (buildCallTree): prefix main with port->fun_prefix,
* (pic16_pCode2str): fixed bug that didn't emit the memory access
identifier for variable with banked access in instructions BTFSS,
BTFSC, BCF, BSF, BTG
* (AnalyzeFlow): moved call to OptimizepCode to pic16_AnalyzeBanking,
* src/pic16/pcodepeep.c (pCodeOpCompare): increase size of b to 1024,
* src/pic16/pcoderegs.c (pic16_pCodeRegoptimizeRegUsage): don't
perform optimization when enviroment variable NO_REG_OPT is set,
* (insideLRBlock): NEW, return 1 if register is inside an
INF_LOCALREGS block,
* (RemoveRegFromLRBlock): remove a register that is completely
eliminated by register optimization, but it is still left in local
register store/restore in/from stack block,
* (Remove2pcodes): after removing register, check to see if it
should be removed from local register store/restore in/from stack
block,
* src/pic16/ralloc.c (pic16_decodeOp): added decode for
DUMMY_READ_VOLATILE,
* device/include/pic16/adc.h: minor prototype modifications and
update,
* device/include/pic16/malloc.h: added GPL notice various
modifications,
* device/include/pic16/stdint.h: NEW, standard header for ints
* device/include/pic16/delay.h: NEW, header for delay functions,
delay10tcy, delay100tcy, delay1ktcy, delay10ktcy, delay100ktcy,
delay1mtcy,
* device/include/pic16/signal.h: NEW, header providing helper macros
for implementing signal handlers,
* device/include/pic16/stdio.h: added prototypes for functions,
printf, vprintf, sprintf, vsprintf, fprintf, vfprintf. Added
prototypes for stdin and stdout, added macro PUTCHAR to
automatically implement putchar function prototype,
* device/include/pic16/usart.h: modified and updated USART library,
* device/lib/pic16/libio/adc/,
* device/lib/pic16/libio/i2c: some modifications to improve library
performance,
* device/lib/pic16/libc/stdio/: modifications for the new printf*
family of functions,
* device/lib/pic16/libc/stdlib/: various modifications in the malloc
family of functions and other sources,
* device/lib/pic16/libio/usart/: NEW, c sources for the usart module
of the PIC18Fxx[28] devices,
* device/lib/pic16/libc/delay/: NEW, c sources for the delay functions,
* device/lib/pic16/libc/utils/: minor modifications in the .S sources,
* device/lib/pic16/startup/{crt0i.c, crt0iz.c}: redesign of the
_do_cinit function, because the previous failed when local variables
where not placed in the same memory bank,
* device/lib/pic16/libsdcc/char/: various modifications to improve
library performance,
* doc/sdccman.lyx: some reorganization of the PIC16 part, added many
information on the new functions of the c library and more...
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3711
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Thu, 31 Mar 2005 16:11:14 +0000 (16:11 +0000)]
* doc/sdccman.lyx: some reorganization of the PIC16 part, added many
information on the new function of the c library and more...
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3710
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Mon, 28 Mar 2005 00:47:38 +0000 (00:47 +0000)]
* src/SDCCBBlock.c (iCodeBreakDown): fixed bug #
1170212
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3709
4a8a32a2-be11-0410-ad9d-
d568d2c75423
tecodev [Sat, 26 Mar 2005 17:49:18 +0000 (17:49 +0000)]
* src/pic16/gen.c (genSkipc): fixed semantics (execute branch
if condition == CARRY)
* (genCmp): adapted to new genSkipc semantics
* src/pic16/genutils.c (pic6_genCmp_special): removed side effect
on rIfx (genCmp was broken)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3708
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Sat, 26 Mar 2005 06:07:40 +0000 (06:07 +0000)]
* src/SDCCmain.c (setDefaultOptions, optionsTable[], parseCmdLine),
* src/z80/main.c (_keywords[]),
* src/SDCCglobal.h (struct options),
* src/SDCC.y,
* src/SDCC.lex (isTargetKeyword, doPragma, pragma_tbl[]): new pragmas
to enable/disable SDCC and C99 extensions/keywords (std_c89, std_sdcc89,
std_c99, std_sdcc99). Also, equivalent command line options (--std-c89,
--std-sdcc89, --std-c99, --std-sdcc99). SDCC specific keywords are
always available in leading double underscore form. The C99 support is
mostly missing, but it's a start.
* support/regression/tests/bug-227710.c: fixed nonconforming use of
reserved identifier "__data".
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3707
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Thu, 24 Mar 2005 17:18:59 +0000 (17:18 +0000)]
* src/mcs51/peeph.def: fixed bug
1170013
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3706
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Tue, 22 Mar 2005 16:40:25 +0000 (16:40 +0000)]
* device/include/mcs51reg.h: fixed bug 842007
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3705
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Mon, 21 Mar 2005 13:56:44 +0000 (13:56 +0000)]
* src/SDCCcflow.c (dfNumCompare): committed the wrong version of this
last time.
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3704
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Sun, 20 Mar 2005 19:31:19 +0000 (19:31 +0000)]
* src/port.h (struct PORT),
* src/avr/ralloc.c (avr_assignRegisters),
* src/avr/main.c,
* src/ds390/ralloc.c (ds390_assignRegisters),
* src/ds390/main.c,
* src/hc08/ralloc.c (hc08_assignRegisters),
* src/hc08/main.c,
* src/mcs51/ralloc.c (mcs51_assignRegisters),
* src/mcs51/main.c,
* src/pic/ralloc.c (pic14_assignRegisters),
* src/pic/main.c,
* src/pic16/ralloc.c (pic16_assignRegisters),
* src/pic16/main.c,
* src/xa51/ralloc.c (xa51_assignRegisters),
* src/xa51/main.c,
* src/z80/ralloc.c (z80_assignRegisters),
* src/z80/ralloc.h,
* src/SDCCopt.c (eBBlockFromiCode, replaceRegEqv, killDeadCode),
* src/SDCCcse.c (ifxOptimize, cseBBlock, cseAllBlocks),
* src/SDCCcse.h,
* src/SDCCdflow.c (computeDataFlow),
* src/SDCCdflow.h,
* src/SDCCloop.c (addDefInExprs, loopInvariants, loopOptimizations),
* src/SDCCloop.h,
* src/SDCCcflow.c (*),
* src/SDCCcflow.h,
* src/SDCCBBlock.c (iCodeBreakDown, dumpEbbsToFileExt, eBBWithEntryLabel),
* src/SDCCBBlock.h (struct ebbIndex): new struct that keeps two copies
of the eBBlock list, sorted by both bbnum and dfnum. (fixes bug with
immedDom() returning wrong block; probably fixes bug #
1160833)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3703
4a8a32a2-be11-0410-ad9d-
d568d2c75423
borutr [Sun, 20 Mar 2005 17:50:34 +0000 (17:50 +0000)]
* support/scripts/inc2h.pl: WIN32 port
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3702
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Sat, 19 Mar 2005 18:47:47 +0000 (18:47 +0000)]
* device/lib/makefile.in: added abs.c and labs.c
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3701
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Thu, 17 Mar 2005 10:00:37 +0000 (10:00 +0000)]
* device/include/stdint.h: added
* device/lib/abs.c: added
* device/lib/labs.c: added
* device/include/stdlib.h: added abs() and labs() prototypes
* device/lib/libsdcc.lib: added abs and labs
* device/include/float.h,
* device/lib/_fsmul.c,
* device/lib/printf_fast.c,
* device/lib/printf_tiny.c: updated comments
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3700
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Thu, 17 Mar 2005 06:52:33 +0000 (06:52 +0000)]
* src/SDCCicode.c (geniCodeSwitch, geniCodeJumpTable): fixed
bug #
1164313
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3699
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Wed, 16 Mar 2005 06:20:13 +0000 (06:20 +0000)]
* src/SDCCcse.c (cseBBlock): retain assignment to self when volatile
* src/SDCCast.c (isLoopCountable): fixed bug #
1161985
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3697
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Tue, 15 Mar 2005 07:34:20 +0000 (07:34 +0000)]
* device/lib/printf_large.c: removed inline assembly for portability and
readability. Use printf_fast if speed or size are more important.
* src/pic16/gen.c: removed conditions around use of DEBUGpc
* src/pic16/genutils.h: added define for DEBUGpc for MSVC
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3696
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Tue, 15 Mar 2005 00:13:18 +0000 (00:13 +0000)]
* src/pic16/genutils.c (pic16_genCmp_special): initialized offs to
prevent compiler warning
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3695
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Mon, 14 Mar 2005 01:24:58 +0000 (01:24 +0000)]
* device/lib/pic16/startup/crt0i.c (_cinit): local variables where
moved to level 0 and declared as static. Also they are explicit
placed in access bank. This was necessery because some times they
might cross memory bank boundaries. crt0iz.c is *NOT* updated!!!
* src/pic16/device.h: added flag OPTIMIZE_CMP to enable some compare
optimizations. Currently only compare to unsigned char is implemented,
* src/pic16/gen.c: added fReturnIdx array,
* (struct resolvedIfx) is moved to gen.h and made public,
* (struct _G): added sregsAlloc and sregsAllocSet fields,
* (aopForSym): added an optimization to directly store in stack of
the operand of a SEND iCode,
* (pic16_aopOp): don't return return registers as strings (AOP_STR)
but as registers instead (AOP_REG) using the fReturnIdx array,
* (pic16_freeAsmop): remove the freed register from the
_G.sregsAlloc field,
* (pic16_aopGet): in case AOP_STR, the compare to 'a' is changed to
a compare of 'WREG',
* (pic16_popGetTempRegCond): changed function prototype, now
function takes also a bitVector argument v which holds the current
set of registers that are allocated for stack access by aopForSym,
registers allocated in aopForSym for accessing stack symbols are not
any more part of the functions usedRegs field,
* (genCall): some times aopOp is called for a stack variable to be
send, aopForSym might perform the push, if this is true make sure
that genCall doesn't push the variable twice by testing _G.resDirect,
* (genFunction): changed testing for unspecified interrupt number
from 256 to INTNO_UNSPEC,
* modified selection scheme of frame pointer generation. Previously
if function did use local registers a frame pointer was generated,
now a frame pointer is generated only if function has arguments
(that need PLUSW2 register access), or has stack arguments, or the
compiler is not instructed to omit the frame pointer,
* (genEndFunction): before restoring local registers that were saved
in the function preamble, also restore the registers that *might*
have been allocated for stack access,
* (genRet): removed some old comments,
* (genCmp, the active (RN's) version): added a call to the
pic16_genCmp_special function to perform the compare with a more
robust and optimized way,
* (genInline): a feature has been added in inline code generation,
which allows a wildcard variable substitution when writing inline
assembly. Code is incomplete and experimental therefore undocumented,
* (genCast): changed order of aopOp for result and right to allow
aopForSym to directly load the result if possible,
* src/pic16/genutils.c (selectCompareOp, pic16_genCmp_special): NEW,
perform an optimized compare on some selected special occasions,
* src/pic16/genutils.h: declaration of resolvedIfx structure from gen.c,
* src/pic16/glue.c (pic16createInterrupVect): make sure we never
generate an IVT any more,
* src/pic16/main.c (pic16_optionsTable): added command line option
--optimize-cmp,
* (_pic16_initPaths): when calling C preprocessor define pic18fXXXX
macro too, when calling assembler define pic18fXXXX *and* __18Fxxxx
macros,
* src/pic16/NOTES: Raphael Neider added in list of active developers
* src/pic16/pcode.c (OPT_TYPE_STR): added strings jumptable_begin and
jumptable_end to prevent bug #,
* (pic16_pciADDWFC, ADDFWC, COMF, CLRF): added some missing flags in
inCond and outCond fields,
* src/pic16/pcoderegs.c (pCodeOptime2pCodes): add a fix for bug #,
* src/pic16/ralloc.c (serialRegAssign): explicit set willCS to 0 to
turn off register spilling,
* (packRegsForOneUse): synced with other ports' versions although it
is not used currently,
* (pic16_packRegisters): added an optimization while reading
structure bitfields, some registers may be saved (malloc code is
decreased by 80 bytes)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3694
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Sat, 12 Mar 2005 10:39:48 +0000 (10:39 +0000)]
* src/SDCCcse.c (cseBBlock): inside 'do operand lookup' loop test if
left is a bitfield, if yes, then don't optimize assignment. Perhaps
this can be optimized more?
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3693
4a8a32a2-be11-0410-ad9d-
d568d2c75423
tecodev [Thu, 10 Mar 2005 15:09:48 +0000 (15:09 +0000)]
* src/pic16/gen.c (pic16_loadFSR0, genPackBits, genUnpackBits,
genNearPointerGet): (hopefully) fixed access to bitfields via
pointers (p->bitN = x; and x = p->bitN; failed)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3692
4a8a32a2-be11-0410-ad9d-
d568d2c75423
pjs [Wed, 9 Mar 2005 20:41:09 +0000 (20:41 +0000)]
fix leading zero support in printf_fast
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3691
4a8a32a2-be11-0410-ad9d-
d568d2c75423
tecodev [Wed, 9 Mar 2005 19:18:47 +0000 (19:18 +0000)]
* src/SDCCopt.c (killDeadCode): fixed bug #
1156016
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3690
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Sun, 6 Mar 2005 11:50:17 +0000 (11:50 +0000)]
* src/SDCCicode.h: moved CRITICAL and ENDCRITICAL from SKIP_IC2 to SKIP_IC
* src/mcs51/ralloc.c (willCauseSpill): added check for REG_BIT type,
(regTypeNum): set REG_BIT type if necessary
* src/mcs51/ralloc.h: added define REG_BIT, used to fix bug
1144613
* support/regression/tests/critical.c: check bug
1144613
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3689
4a8a32a2-be11-0410-ad9d-
d568d2c75423
bela [Thu, 3 Mar 2005 10:34:53 +0000 (10:34 +0000)]
sab80c509 definitions added
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3688
4a8a32a2-be11-0410-ad9d-
d568d2c75423
tecodev [Wed, 2 Mar 2005 10:34:29 +0000 (10:34 +0000)]
* src/pic16/gen.c (genRightShiftLiteral): fixed bug #
1154256
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3687
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Sat, 26 Feb 2005 22:18:06 +0000 (22:18 +0000)]
* src/avr/ralloc.c (serialRegAssign),
* src/ds390/ralloc.c (serialRegAssign),
* src/hc08/ralloc.c (serialRegAssign),
* src/mcs51/ralloc.c (serialRegAssign),
* src/pic/ralloc.c (serialRegAssign),
* src/pic16/ralloc.c (serialRegAssign),
* src/xa51/ralloc.c (serialRegAssign),
* src/z80/ralloc.c (serialRegAssign): fixed bug #
1105154
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3686
4a8a32a2-be11-0410-ad9d-
d568d2c75423
jesusc [Thu, 24 Feb 2005 17:29:00 +0000 (17:29 +0000)]
Changed /Zm1000 to /Zm1500
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3685
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Tue, 22 Feb 2005 16:06:03 +0000 (16:06 +0000)]
* src/SDCCast.c (decorateType): fixed bug
1124787
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3684
4a8a32a2-be11-0410-ad9d-
d568d2c75423
frief [Sun, 20 Feb 2005 22:22:39 +0000 (22:22 +0000)]
Hubert Sack <sack AT digiplan.de>
* src/mcs51/peeph.def: added peepholes 3.h-k and 132.a-f from patch #
1121755
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3683
4a8a32a2-be11-0410-ad9d-
d568d2c75423
frief [Sun, 20 Feb 2005 19:31:18 +0000 (19:31 +0000)]
* src/SDCCpeeph.def: new keyword "labelRefCountChange" which allows peepholes to keep the correct label reference count when adding/removing references to labels. A peephole file using this is appended to patch #
1144962.
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3682
4a8a32a2-be11-0410-ad9d-
d568d2c75423
frief [Sun, 20 Feb 2005 19:29:56 +0000 (19:29 +0000)]
new keyword "labelRefCountChange" which allows peepholes to keep the correct label reference count when adding/removing references to labels. A peephole file using this is appended to patch #
1144962.
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3681
4a8a32a2-be11-0410-ad9d-
d568d2c75423
tecodev [Mon, 14 Feb 2005 11:00:42 +0000 (11:00 +0000)]
* device/lib/pic16/libc/string/memccpy.c: changed 3rd argument to char
* src/SDCC.lex (process_pragma): fixed to make disable_warning work for PIC16
* src/pic16/gen.c (aopForSym, calls to pic16_aopOp): prevent unneccessary
retrievals of result operand's value on assignment
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3680
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Sun, 13 Feb 2005 13:57:22 +0000 (13:57 +0000)]
* device/include/pic16/string.h: modified prototype for memccpy()
to memccpy(void *, void *, char, size_t)
* src/pic16/gen.c (genFunction, genEndFunction): reenable if-case to
check whether to omit frame pointer or not,
* (genInline): convert all occurences of "\n" to LF in inline
assembler blocks, this helps formatting the inline text,
* (pic16_loadFSR0): modified prototype,
* (genNearPointerGet, genNearPointerSet): reorganization of code,
removed some 8051 legacy code,
* (genPackBits): enabled handling bitfields exceeding one byte in size,
* src/pic16/ralloc.c (pic16_assignRegisters): clear dynrIdx variable
before allocating temporary registers in functions,
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3679
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Fri, 11 Feb 2005 19:09:41 +0000 (19:09 +0000)]
* support/regression/tests/bitvars.c: corrected the "fix"
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3677
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Thu, 10 Feb 2005 14:37:00 +0000 (14:37 +0000)]
* support/regression/tests/bitvars.c,
* support/regression/tests/bitwise.c,
* support/regression/tests/rotate.c: "fixed" problems on Alpha
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3676
4a8a32a2-be11-0410-ad9d-
d568d2c75423
tecodev [Thu, 10 Feb 2005 12:44:53 +0000 (12:44 +0000)]
* src/pic16/pcode.c (assignToSameBank) : fixed cast to pointer of
different size for Alpha
* src/pic16/gen.c (genCmpEq) : improved compare with 0
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3675
4a8a32a2-be11-0410-ad9d-
d568d2c75423
tecodev [Wed, 9 Feb 2005 14:59:40 +0000 (14:59 +0000)]
* src/SDCC.lex(doPragma) : save and restore warning options as well
(also added new stack plus clone- and copyAndFreeSDCCERRG())
* have #pragma less_pedantic set the errorlevel to WARNING
(fixes #
1117001)
* (cloneOptimize) : fixed wrong malloc's size
* support/Util/SDCCerr.[ch] : made SDCCERRG globally accessible to
facilitate correct handling of #pragma (save|restore)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3674
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Wed, 9 Feb 2005 14:32:35 +0000 (14:32 +0000)]
* src/mcs51/gen.c: removed non-standard C nameless struct/union
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3673
4a8a32a2-be11-0410-ad9d-
d568d2c75423
slade_rich [Fri, 4 Feb 2005 01:38:17 +0000 (01:38 +0000)]
PIC14 : Fix for bugs #
1080519 & #
1115662.
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3672
4a8a32a2-be11-0410-ad9d-
d568d2c75423
slade_rich [Fri, 4 Feb 2005 01:35:52 +0000 (01:35 +0000)]
Fix for bugs #
1080519 & #
1115662.
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3671
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Thu, 3 Feb 2005 11:44:10 +0000 (11:44 +0000)]
* device/include/mcs51/
c8051f120.h: added decalrations for sbit port 2,3&4
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3670
4a8a32a2-be11-0410-ad9d-
d568d2c75423
tecodev [Wed, 2 Feb 2005 21:53:55 +0000 (21:53 +0000)]
* src/SDCCast.c (processParms): disabled W_NONRENT_ARGS for pic16 port
* src/pic16/gen.c (aopForSym): reenabled special case for function pointers
* (pic16_storeForReturn): fixed to allow returning function pointers
* (genPackBits): improved accessing full bytes, implemented for GPOINTERs
* device/include/pic16/{stddef.h,stdbool.h}: added
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3669
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Wed, 2 Feb 2005 20:28:16 +0000 (20:28 +0000)]
* device/include/mcs51/
c8051f040.h: added define CPT2_PAGE
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3668
4a8a32a2-be11-0410-ad9d-
d568d2c75423
slade_rich [Mon, 31 Jan 2005 23:15:30 +0000 (23:15 +0000)]
PIC16 : Added file graph.c to make it compile under windows.
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3667
4a8a32a2-be11-0410-ad9d-
d568d2c75423
slade_rich [Mon, 31 Jan 2005 23:13:54 +0000 (23:13 +0000)]
Added file graph.c to make it compile under windows.
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3666
4a8a32a2-be11-0410-ad9d-
d568d2c75423
borutr [Mon, 31 Jan 2005 16:50:31 +0000 (16:50 +0000)]
* support/scripts/sdcc.nsi: added include/asm/ds390, include/asm/mcs51,
include/mcs51 and include/z80 directories to the package
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3665
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Mon, 31 Jan 2005 02:54:42 +0000 (02:54 +0000)]
* src/hc08/gen.c (genFunction): fixed bug #
1112752
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3664
4a8a32a2-be11-0410-ad9d-
d568d2c75423
frief [Sun, 30 Jan 2005 11:37:43 +0000 (11:37 +0000)]
src/mcs51/peeph.def: adapted peephole 258.x to changed gen.c (genAnd)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3663
4a8a32a2-be11-0410-ad9d-
d568d2c75423
frief [Sun, 30 Jan 2005 11:36:41 +0000 (11:36 +0000)]
adapted peephole 258.x to changed gen.c (genAnd)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3662
4a8a32a2-be11-0410-ad9d-
d568d2c75423
frief [Sat, 29 Jan 2005 19:56:34 +0000 (19:56 +0000)]
src/mcs51/gen.c (genAnd): accessing LSB/MSB by rotating acc
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3661
4a8a32a2-be11-0410-ad9d-
d568d2c75423
frief [Sat, 29 Jan 2005 19:37:28 +0000 (19:37 +0000)]
(genAnd): accessing LSB/MSB by rotating acc
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3660
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Sat, 29 Jan 2005 19:19:10 +0000 (19:19 +0000)]
* device/include/Makefile.in: create/copy mcs51 and z80 include subdirs
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3659
4a8a32a2-be11-0410-ad9d-
d568d2c75423
maartenbrock [Thu, 27 Jan 2005 11:48:57 +0000 (11:48 +0000)]
* device/include/c8051fxxx.h: removed these 6 new files
* device/include/mcs51/c8051fxxx.h: added these 11 new files
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3658
4a8a32a2-be11-0410-ad9d-
d568d2c75423
tecodev [Wed, 26 Jan 2005 14:42:28 +0000 (14:42 +0000)]
* src/pic16/gen.c (genAssign): fixed assignment from longs
in codespace (were cut to three bytes)
* (genDummyRead): implemented (except for CODESPACE...),
fixed bug #
1108575
* src/pic16/glue.c (emitStatistics): beautified
* device/lib/pic16/libm/Makefile: added include path
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3657
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Wed, 26 Jan 2005 14:20:13 +0000 (14:20 +0000)]
* src/z80/gen.c (aopPut): fixed bug #
1103902
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3656
4a8a32a2-be11-0410-ad9d-
d568d2c75423
epetrich [Tue, 25 Jan 2005 05:59:15 +0000 (05:59 +0000)]
* device/lib/expf.c: fixed bug #
1095792
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3655
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Mon, 24 Jan 2005 10:38:53 +0000 (10:38 +0000)]
* device/lib/pic16/libm: added Math library sources
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3654
4a8a32a2-be11-0410-ad9d-
d568d2c75423
tecodev [Mon, 24 Jan 2005 00:18:44 +0000 (00:18 +0000)]
* src/pic16/pcode.h: added second memory operand to pCodeOpReg
to enable upcast to pCodeOpReg2 (there is no type tag to
differenciate the two and pic16_popGet2p casts into PCOR2)
* src/pic16/main.c (_process_pragma): fixed another malloc bug
(sizeof(sectNames) changed to sizeof(sectName))
Both patches fix segfaults under MinGW.
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3653
4a8a32a2-be11-0410-ad9d-
d568d2c75423
tecodev [Sun, 23 Jan 2005 19:14:19 +0000 (19:14 +0000)]
* src/SDCCopt.c (killDeadCode): restored original behaviour
(volatile operands might get thrown away though)
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3652
4a8a32a2-be11-0410-ad9d-
d568d2c75423
tecodev [Sun, 23 Jan 2005 17:54:15 +0000 (17:54 +0000)]
* src/pic16/{device.c,pcode.c}: s/free/Safe_free/g for
Safe_[mc]?alloc()'ed variables
* src/pic16/gen.c (pic16_aopOp,pic16_popGet): added handling
of (byte sized) temporaries (assign them to WREG for now)
* src/pic16/main.c (_process_pragma): fixed nasty malloc bug
(used sizeof(set *sectSyms) instead of sizeof(struct sectSym)),
this might fix SIGSEGVs on MinGW...
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3651
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Sun, 23 Jan 2005 11:23:43 +0000 (11:23 +0000)]
* src/pic16/gen.c: fixed bug #
1106975,
* src/pic16/gen.c: fixed possible bug #
1102572, now during TOS
pointer update, INTCON is saved, global interrupts are disabled and
restored after updateing TOS.
* src/SDCC.y, src/SDCC.lex, src/SDCCsymt.c, src/SDCCsymt.h:
* added function attribute 'shadowregs' to take advantage of shadow
registers,
* added function attribute 'wparam' as an alternative to the wparam
pragma,
* support/Utils/SDCCerr.[ch]: added error E_SHADOWREGS_NO_ISR when
user declares a non-ISR function as 'shadowregs',
* doc/sdccman.lyx: updated to reflect recent changes of pic16 port
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3650
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Sat, 22 Jan 2005 19:24:50 +0000 (19:24 +0000)]
* printf_tiny.c: NEW,
* device/lib/pic16/libc/*/Makefile: added --stack-auto to correctly compile
printf_*.c, ltoa.c, etc...
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3649
4a8a32a2-be11-0410-ad9d-
d568d2c75423
vrokas [Sat, 22 Jan 2005 18:02:16 +0000 (18:02 +0000)]
* .version: bumped version number to 2.4.8
* device/lib/pic16/pics.all: list of PIC18F devices supported by
pic16 port,
* device/lib/pic16/libio/i2c/: I2C module support library,
* device/include/pic16/i2c.h: I2C support library header,
* device/lib/pic16/libc/stdio/: standard IO support sources,
* (printf_small.c): printf_small() source, supports float print,
* (printf_tiny.c): printf_tiny() source, does not support floats,
* device/lib/pic16/Makefile.common.in: added OPT_FLAGS macro to
enable global optimizations for entire library source, other
Makefiles in the source tree are also modified to reflect this,
* device/lib/pic16/libc/stdlib/putchar.c (putchar): dummy putchar()
function,
* doc/sdccman.lyx: updated to reflect new changes,
* src/pic16/gen.c (aopForSym): don't handle sym->iaccess in
sym->onStack if-case,
* src/pic16/main.c (_pic16_keywords): commented out keywords bit,
sbit, idata, _idata, xdata, _xdata,
* added pragma library, to link an external library, (see doc),
* removed command line options, --pomit-config-words, --pomit-ivt,
--pleave-reset-vector,
* (pic16_finaliseOptions): when define macro SDCC_MODEL_{SMALL/LARGE}
when calling assembler to reflect memory model used, also define
macro STACK_MODEL_{SMALL/LARGE} when compiling and assembling to
reflect stack model used,
* src/pic16/ralloc.c (pic16_allocDirReg): when operand is allocated
on stack return NULL,
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3648
4a8a32a2-be11-0410-ad9d-
d568d2c75423
tecodev [Sat, 22 Jan 2005 15:27:06 +0000 (15:27 +0000)]
* src/SDCCopt.c (killDeadCode): checking for right operand can cause
crash somewhere else. Removed.
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3647
4a8a32a2-be11-0410-ad9d-
d568d2c75423
tecodev [Sat, 22 Jan 2005 13:22:07 +0000 (13:22 +0000)]
* src/SDCCopt.c (killDeadCode): do not throw iCodes away if one
of the operands is volatile. Fixes #
1020220
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3646
4a8a32a2-be11-0410-ad9d-
d568d2c75423