borutr [Mon, 22 May 2006 20:04:51 +0000 (20:04 +0000)]
* support/regression/ports/pic16/specs.mk: removed stack size linker
directive
* support/regression/tests/array.c,
support/regression/tests/bitopcse.c,
support/regression/tests/bug-908454.c,
support/regression/tests/malloc.c: modified for pic16 regression test
* support/regression/tests/bitfields.c:
pic16 - excluded bitfileds of size > 8
* support/regression/tests/bp.c: pic16 - reduced data size
* support/regression/tests/bug-221100.c: pic16 - reduced data size
* support/regression/tests/bug-460010.c:
pic16 - used the absolute address the fits in memory
* support/regression/tests/bug-716242.c:
bug [ 1443651 ] pic 16: redefining symbol that cannot be redefined.
* support/regression/tests/float.c:
pic16 - excluded - data size too big
* support/regression/tests/onebyte.c:
pic16 - bug [ 1444425 ] onebyte.c regression tes fails on pic16
* support/regression/tests/shifts.c:
pic16 - function names probably have to differ in first X characters
(gpasm limitation?)
* support/regression/tests/staticinit.c:
pic16 - excluded some tests due error: no target memory available for
section ".idata"
tecodev [Sat, 20 May 2006 16:55:08 +0000 (16:55 +0000)]
* src/pic/gen.c (bitpatternFromVal): fixed for 64-bit machines
* src/pic16/ralloc.c (newReg): use correct name in hashtable,
(allocReg): add only new registers to dynAllocRegs,
(pic16_assignRegisters): do not reset dynrIdx, fixes bugs
#1489055, #1445850, and probably #1483693
MaartenBrock [Thu, 18 May 2006 10:54:34 +0000 (10:54 +0000)]
* src/mcs51/gen.c (genCodePointerGet): inc dptr instead of loading acc
with offset
* src/mcs51/peeph.def (186.x): updated and reenabled to fix bugs 1489016, 1434401 and 1490124
borutr [Fri, 12 May 2006 20:34:43 +0000 (20:34 +0000)]
* *.dsw, *.dsp: changed property svn:eol-style to CRLF since they
have to have CR/LF line endings even if they are checked out on *nix
or on WIN32 in cygwin binmode
MaartenBrock [Fri, 12 May 2006 15:01:17 +0000 (15:01 +0000)]
* doc/sdccman.lyx: documented numeric ranges, WEBDOC #1442369
* device/include/ds80c390.h: added sfr16 definitions
* src/ds390/gen.c,
* src/ds390/gen.h,
* src/ds390/main.c,
* src/ds390/ralloc.c,
* src/ds390/ralloc.h: changes all over the place to sync with mcs51
fixing several bugs and adding sfr16/sfr32, reentrant bit params,
bit returning functions
* support/regression/tests/sfr16.c: enabled test on ds390
MaartenBrock [Thu, 11 May 2006 20:25:04 +0000 (20:25 +0000)]
* sim/ucsim/sim.src/memcl.h: added get_decoder() to cl_address_space
* sim/ucsim/sim.src/mem.cc: implemented cl_address_space::get_decoder,
(cl_address_space constructor): removed expensive initialization,
(cl_address_space::get_cell): extended for late initialization,
(cl_address_space::*): use late initialization,
(cl_address_decoder::activate): removed expensive initialization,
This reduced regression test running time by 25%
borutr [Tue, 2 May 2006 18:56:04 +0000 (18:56 +0000)]
* doc/Makefile.in: removed *.ind dependency since there is no rule to
create *.ind, which made make to fail if invoked with -j 2
* local/amd64-linux1.mk: added SDCCCONFIGUREFLAGS = --enable-doc
to configure the doc Makefile and OPT_ENABLE_DOC = 1 to run the
doc Makefile
* configure,
* configure.in: replaced duplicate message about ucsim by missing sdcpp
* install-sh: fix bug #1204398 by setting umask 0022
* device/lib/Makefile.in: separate build of z80 and gbz80 lib
* configure,
* configure.in: replaced duplicate message about ucsim by missing sdcpp
* install-sh: fix bug #1204398 by setting umask 0022
* device/lib/Makefile.in: separate build of z80 and gbz80 lib
* configure,
* configure.in: replaced duplicate message about ucsim by missing sdcpp
* install-sh: fix bug #1204398 by setting umask 0022
* device/lib/Makefile.in: separate build of z80 and gbz80 lib
* src/pic/gen.c (genFunction): set global pic14_hasInterrupt on
definition of an interrupt handler,
* src/pic/glue.c (pic14_emitInterruptHandler): moved output of
interrupt handler stuff from picglue() to separate routine,
(picglue): enabled definition of intr handlers in files w/o main()
* support/regression/tests/bug-460010.c,
* support/regression/tests/bug-524691.c,
* support/regression/tests/bug-716242.c: removed conditional defines
that are already in testfwk.h
* configure,
* configure.in: replaced duplicate message about ucsim by missing sdcpp
* install-sh: fix bug #1204398 by setting umask 0022
* device/lib/Makefile.in: separate build of z80 and gbz80 lib
* src/ds390/gen.c (AccAXRrl1, AccAXLrl1): changed to real rotate by 1,
(AccAXRsh1): added, shift right by 1,
(AccAXLsh, AccAXRsh, AccAXRshS): updated for AccAXRrl1, AccAXRsh1 and
AccAXLrl1
* support/regression/tests/rotate.c: use <stdint.h> and enabled ds390
Enabled VPATH feature: changed nearly all Makefiles (149 files).
See sdccman.lyx '2.4.10 VPATH feature' about how to use it.
One basic decision: e.g. src/clean.mk includes further files. In order
to make this work there are two solutions:
- rename another dozen clean.mk to clean_in.mk, add srcdir to them and
run configure on them. This way they can use
'include $(srcdir)/port-clean.mk'
- always include clean.mk by the Makefile at the same level. To avoid
that `make clean` tries to include and build Makefile.dep the
MAKECMDGOALS are examined (see e.g. src/Makefile.in). This has been
implemented, because now even `make uninstall` doesn't create
Makefile.in. clean.mk could be eliminated by pasting it in Makefile.in.
* debugger/mcs51/Makefile.in: build own objects from library sources (SLIB, SDCC) in current directory
* configure, configure.in: renamed --disable-device-lib-build in
--disable-device-lib; added --enable-doc, the required tools are
searched by configure; added result message; the toolchain for the
belonging ports are now only built, if the port is enabled.
* support/regression/*: all output is written in directory gen, because the fwk and ports directories don't livet in the build tree using vpath
* src/pic/device.c (pic14_assignConfigWordValue): remember assignments to
config word, "pic14_"-prefixed some extern functions
(pic14_emitConfigWord): emit __config directive(s) if assignment to
config word has been found
* src/pic/device.h: added prototypes
* src/pic/pcode.c: added "pic14_"-prefix where needed
* src/pic/ralloc.c (IS_CONFIG_ADDRESS,pic14_assignRegisters): cosmetic fixup
* src/pic/glue.c (pic14_constructAbsMap): handle assignments to config words,
(pic14emitRegularMap): ignore config words,
(pic14createInterruptVect): moved generating __config directives away
(picglue): have __config directives emitted
* src/pic/pcoderegs.c (OptimizeRegUsage): do not optimize
registers that have not been assigned proper liveranges,
fixes #1469504 and #1474602,
(pCodeRegOptimizeRegUsage): fixed typo in comment
* src/version.awk: adapted for svn
* /asxxxx/asxhtml/*.gif: set property svn:mime-type to image/gif
sim/ucsim/doc/*.gif: set property svn:mime-type to image/gif
sim/ucsim/doc/*.jpg: set property svn:mime-type to image/jpeg
/binutils-avr/etc/*.vi, *.jin: removed all properties
support/scripts/sdcc.ico: set property svn:mime-type to image/x-icon
* support/regression/collate-results.py: fixed output in case of a valdiag error
* support/regression/generate-cases.py: fixed splitting of pathnames with dots
* as/hc08/lklibr.c,
* as/mcs51/lklibr.c (addfile): fixed off-by-one bug
* device/lib/pic/libdev/*.c,
* device/include/pic/*.h: replaced sfr and data with __sfr and __data,
fixes #1468739, enables compilation in --std-c99 mode
* support/scripts/inc2h.pl: emit __sfr/__data instead of sfr/data
* src/pic/device.c (find_device): removed debug output
(list_valid_pics): enabled verbose listing of supported devices
* device/include/stdbool.h: define bool as char for pic14/16 as well
* .version: bumped version to 2.5.6 (pic14 ABI changed)
* src/SDCCmain.c: add -DSDCC_PROCESSOR=<id> for pic14 port
* src/pic/glue.c (emitSymbolToFile,pic14_constructAbsMap,
pic14emitRegularMap,pic14emitMaps): moved output for absolute symbols to
pic14_constructAbsMap
(pic14printPublics): declare absolute global symbols as global
(pic14createInterruptVect),
* src/pic/ralloc.c (IS_CONFIG_ADDRESS): support second config word,
(newReg): assume new registers unused, use correct name in
hashtable (reg->name instead of name), more debugLog output
* src/pic/device.h (PIC_device): added fields for verbose output
* src/pic/device.c: moved device definition to pic14devices.txt,
added routines for runtime parsing of pic14devices.txt,
added support for second config word
* src/pic/main.c (_process_pragma): removed #pragma maxram,
(_pic14_keywords): no longer accept "bit" and "sbit" keywords
(_pic14_initPaths): add search paths with "pic" suffix (not "pic14")
(_pic14_parseOptions): moved pCodeInitRegisters here
(_pic14_do_link): add "pic$(ARCH).lib" to linker arguments
* src/pic/pcode.c (AnalyzeBanking): bail out on unset processor,
(pCodeInitRegisters): rewrapped comments, perpared new approach to
handling the pseudo stack
* device/lib/Makefile.in: ignore failures in objects-pic16,
* device/lib/pic/{configure,configure.in,Makefile}: added libdev/
* device/lib/pic/NEWS: document new dependency on picXXX.lib
* device/lib/pic/Makefile.subdir,
* device/lib/pic16/Makefile.subdir: improved clean rules
* device/lib/pic/libdev/: NEW, pic14 device libraries
* device/lib/pic/libsdcc/_gptr{get,put}{1,2,3,4}.S: use _X not X
* device/lib/pic/libsdcc/macros.inc: use _X not X, declare default SFRs
* device/include/Makefile.in: create subdir and install pic14 headers
* device/include/pic/p16f_common.inc: removed unused declarations
* device/include/pic/pic16*.h: added header files for 100+ 14 bit
PICs from inc2h.pl v1.6,
replaced BIT_AT macros with struct declarations
* device/include/pic/pic14devices.txt: definition of supported devices,
all above improvements contributed by Zik Saleeba, thanks
* support/scripts/inc2h.pl: removed BIT_AT, replaced with structs
* support/scripts/sdcc.nsi: also install pic14 device libraries and
headers
* device/include/mcs51/c8051f410.h: added interrupt numbers,
* device/include/mcs51/c8051f200.h: old SiLabs mcu completes the list,
thanks to Charles Olds
* src/SDCCpeeph.c (labelIsReturnOnly): fixed bug 1464657
* src/mcs51/gen.c (genJumpTab): fixed bug in medium model
* support/regression/bug1464657.c: added, new test
* src/SDCCpeeph.c (initPeepHole): implemented RFE 1460196, when both
--no-peep and --peep-file <file> are used don't use default rules but
do use the <file>
maartenbrock [Fri, 24 Mar 2006 15:27:11 +0000 (15:27 +0000)]
* src/z80/gen.c (genFunction, genEndFunction): fixed bug 1160666,
implemented patch 1120823 Thanks to Willy De la Court (normal
interrupts need an interrupt number now if they are made critical),
and enabled nesting of critical functions though not for gbz80
(genCritical, genEndCritical): added functions
(genZ80Code): added cases for CRITICAL and ENDCRITICAL
* src/z80/mappings.i: added "ei" to all mappings
frief [Mon, 20 Mar 2006 08:17:46 +0000 (08:17 +0000)]
applied patch fixing GCC 4.1 build submitted by the Debian SDCC maintainer Aurelien Jarno:
"Credits goes to Martin Michlmayr, who rebuilt the whole Debian archive with gcc 4.1 on mips and wrote the patch"
tecodev [Thu, 16 Mar 2006 09:32:20 +0000 (09:32 +0000)]
* src/pic16/genarith.c (genAddLit): simplified and fixed case where
the left operand is shorter than the result (c* = lit-c* + int),
fixes bug #1450796
* src/pic16/gen.c (genRightShift): check IS_SYMOP before accessing
OP_SYMBOL
vrokas [Wed, 15 Mar 2006 00:43:05 +0000 (00:43 +0000)]
* src/SDCCmain.c (linkEdit): do not test for PIC16 target since, PIC16
linking is done manually in pic16 port's _linkEdit,
* src/SDCCsymt.c (compStructSize): for target PIC16 and shell variable
PIC16_PACKED_BITFIELDS, compact bitfield structures as much as possible,
* src/pic16/gen.c (aopForSym): when direct register name is WREG then
allocate asmop as AOP_ACC,
(aopForRemat): added parameter 'bool result' in function declaration,
(pic16_aopGet): return AOP_ACC when accessing WREG,
(pic16_popGetTempReg): minor modification,
(pic16_popRegFromIdx): first try with 'pic16_regWithIdx' then with
'pic16_allocWithIdx',
(genPcall): removed ftype, usage of OP_SYM_TYPE asserted error when
calling function in absolute addresses,
(genAssign): take into account AOP_ACC asmop,
* src/pic16/pcode.c (pic16_newpCodeOpReg): minor modifications,
* src/pic16/pcoderegs.c: some debug functions and lines added,
* src/pic16/ralloc.c (decodeRegType): added but commented out,
* (pic16_typeRegWithIdx): search 'pic16_dynInternalRegs' for given
register too,
* (pic16_findFreeReg, pic16_findFreeRegNext): allocate new register via
call to allocReg, not by manually allocating a new one,
(pic16_assignRegisters): now before going through the register
allocating functions mark all registers as free. This eliminates some
side effects resulting from peephole parser done earlier in the backbone
maartenbrock [Fri, 10 Mar 2006 15:57:12 +0000 (15:57 +0000)]
* src/mcs51/gen.c (sameReg): new, checks if two aop regs are the same,
(genSend): bugfix, do not allocate and free twice,
(shiftRLong): handle partially overlapping aops
* support/regression/tests/bitopcse.c: fixed warning redefined idata