bernhardheld [Sun, 4 Jun 2006 20:14:11 +0000 (20:14 +0000)]
* src/SDCCval.c (checkConstantRange): added
* src/SDCCval.h: added checkConstantRange
* support/Util/SDCCerr.c,
* support/Util/SDCCerr.h: replaced unused W_IF_NEVER_TRUE and W_IF_ALWAYS_TRUE by W_COMP_RANGE and W_LIT_OVERFLOW
* src/SDCC.y: moved early 'condition transformations' to SDCCast.c
* src/SDCCast.c (decorateType): added checkConstantRange,
added 'condition transformations' from SDCC.y so that now W_COMP_RANGE can be emitted with the correct always true/false warning,
added optimization for double '!';
result of decorateType() must be assigned back to the tree, because decorateType() can change the tree
* src/SDCCicode.c (geniCodeLogic),
(geniCodeAssign): replaced new checkConstantRange, added warnings,
(checkConstantRange): removed, it was only a fragment which never emitted a warning
* src/SDCCsymt.c (computeType): fixed promotion for "-1 < (unsigned bit) b"
* src/pic/ralloc.c (packRegsForAssign),
* src/pic16/ralloc.c (packRegsForAssign),
* src/hc08/ralloc.c (packRegsForAssign),
* src/z80/ralloc.c (packRegsForAssign): ported fix for bug #930931 from mcs51
* src/mcs51/ralloc.c (packRegsForAssign): removed outcommented source
* support/regression/tests/constantRange.c: added
* support/valdiag/tests/constantRange.c: added
bernhardheld [Tue, 30 May 2006 15:57:13 +0000 (15:57 +0000)]
* src/SDCCmain.c (printVersionInfo, printOptions, printUsage, parseCmdLine, main): print version to stdout, help to stdout on windows and to stderr on all the rest; exit with EXIT_FAILURE if no arguments given
borutr [Sat, 27 May 2006 18:52:41 +0000 (18:52 +0000)]
* support/regression/fwk/lib/testfwk.c: define array in _printn() as
static instead auto
* support/regression/ports/pic16/support.c: increase stack size
from default 64 bytes to 128 bytes
borutr [Sat, 27 May 2006 18:41:47 +0000 (18:41 +0000)]
* support/regression/tests/staticinit.c,
support/regression/tests/float.c: regression tests fully enabled
for pic16 port by putting the initialized data arrays into the code
section
* support/regression/ports/pic16/spec.mk: don't link default libraries.
This was changed by mistake in the previous version.
vrokas [Fri, 26 May 2006 22:52:11 +0000 (22:52 +0000)]
* src/pic16/gen.c (genFunction, genEndFunction): some
beautifications, fixed bug with falsely restoring FSR2 in large
stack model, thanks to Beau E. Cox for reporting the bug
borutr [Wed, 24 May 2006 19:52:20 +0000 (19:52 +0000)]
* support/regression/tests/bug-221100.c: fixed xdata problem caused by
modification of test for the pic16 port, put the array to the code
memory for pic16port; thanks to Maarten Brock and Frieder Ferlemann
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