sdcc:
[fw/sdcc] / ChangeLog
index ca9b1fe33ff16d7e38c1c679f55a87f8434a21db..001634983400dae5e4b192d6926e900dd3663112 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,297 @@
+2006-07-10 Borut Razem <borut.razem AT siol.net>
+
+       * support/scripts/sdcc.nsi: added device/include/asm/pic/features.h and
+         device/lib/src/pic/libm/*.c in WIN32 installation
+
+2006-07-08 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/include/mcs51/XC866.h: added sbit definitions for Px_x, P1_x, P2_x
+       * src/pic16/glue.c (initPointer), fixed bug 1496419 for pic16
+
+2006-07-06 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/hc08/gen.c (genAddrOf): fixed bug when offset on stack is >127
+
+2006-07-06 Borut Razem <borut.razem AT siol.net>
+
+       * support/regression/tests/bitfields.c:
+         fixed bug [ 1518322 ] regression test bitfields fails on ppc hosts
+       * support/regression/tests/constantRange.c:
+         fixed bug [ 1518317 ] regression test constantRange fails on alpha host
+
+2006-07-04 Borut Razem <borut.razem AT siol.net>
+
+       * src/configure.in, src/configure, src/Makefile.in, as/z80/Makefile.in,
+         src/port.mk,
+         src/avr/Makefile.in, src/ds390/Makefile.in, src/ds400/Makefile.in,
+         src/hc08/Makefile.in, src/mcs51/Makefile.in, src/pic16/Makefile.in,
+         src/pic/Makefile.in, src/xa51/Makefile.in, src/z80/Makefile.in:
+         reverted changes from 2006-07-03
+       * Makefile.common.in: added @CPPFLAGS@ to CPPFLAGS
+       * support/regression/Makefile.in, support/regression/ports/host/spec.mk:
+         added CPPFLAGS, used by the host port
+
+2006-07-03 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * support/regression/valdiag/tests/switch.c,
+       * support/regression/valdiag/tests/constantRange.c: adapted to gcc 4
+       * support/regression/tests/libmullong.c: fixed for host
+       * support/regression/ports/host/spec.mk: disable all warnings for host,
+       SDCC runs with --less-pedantic too
+
+2006-07-03 Borut Razem <borut.razem AT siol.net>
+
+       * src/configure.in, src/configure, src/Makefile.in, as/z80/Makefile.in:
+         defined CPPFLAGS
+       * src/port.mk: defined CPPFLAGS, renamed to src/port.mk.in
+       * src/avr/Makefile.in, src/ds390/Makefile.in, src/ds400/Makefile.in,
+         src/hc08/Makefile.in, src/mcs51/Makefile.in, src/pic16/Makefile.in,
+         src/pic/Makefile.in, src/xa51/Makefile.in, src/z80/Makefile.in:
+         include ../port.mk
+       * sim/ucsim/main_in.mk, sim/ucsim/avr.src/Makefile.in,
+         sim/ucsim/gui.src/Makefile.in, sim/ucsim/hc08.src/Makefile.in,
+         sim/ucsim/s52.src/Makefile.in, sim/ucsim/sim.src/Makefile.in,
+         sim/ucsim/xa.src/Makefile.in: ignore header files for dependencies
+
+2006-07-02 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/devices.inc,
+       * device/include/pic16/pic18fregs.h,
+       * device/include/pic16/pic18f4550.h,
+       * device/lib/pic16/pics.all,
+       * device/lib/pic16/libdev/pic18f4550.c: added support for 18f4550
+
+2006-07-01 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * as/hc08/lkaomf51.c (OutputName),
+       * as/mcs51/lkaomf51.c (OutputName),
+       * as/z80/asmain.c (asmbl),
+       * src/ds390/main.c (asmLineNodeFromLineNode),
+       * src/hc08/ralloc.c (hc08_assignRegisters),
+       * src/mcs51/main.c (asmLineNodeFromLineNode),
+       * src/xa51/ralloc.c (checkRegMask),
+       * src/xa51/gen.c (emitcode),
+       * src/z80/gen.c (_emit2),
+       * src/SDCCast.c (searchLitOp),
+       * src/SDCCglobl.h,
+       * support/packihx/packihx.c,
+       * support/Util/MySystem.c (split_command): fix gcc 4 warnings
+       * src/ds390/gen.c (aopPutUsesAcc),
+       * src/ds390/ralloc.c (getRegBitNoSpil): unused, therefore disabled
+       * support/regression/tests/libmullong.c (mullong_wrapper),
+       * src/SDCCsymt.c (powof2),
+       * src/SDCCast.c,
+       * src/SDCCicode.c: renamed TYPE_WORD by TYPE_TARGET_INT and so on
+       * src/SDCCsymt.h: added TYPE_TARGET_*
+       * src/SDCCutil.c (doubleFromFixed16x16, fixed16x16FromDouble),
+       * src/SDCCutil.h (doubleFromFixed16x16, fixed16x16FromDouble): moved to
+       SDCCast because 1) header problems 2) this is the right place
+       * src/SDCCast.c (doubleFromFixed16x16, fixed16x16FromDouble): added
+       * src/SDCCval.h (doubleFromFixed16x16, fixed16x16FromDouble): added
+       prototype
+
+2006-06-29 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCicode.h: removed buggy semicolon in unused macro
+       * src/SDCClrange.c (findPrevUseSym, rlivePoint): fixed bug #1486853,
+       search for previous definiton of auto symbols too,
+       (findPrevUse): fixed logic of emitWarnings
+
+2006-06-26 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/gen.c (genFunction, genEndFunction): also preserve
+         PCLATH and PCLATU on interrupts, potentially fixes #1505141
+
+2006-06-25 Raphael Neider <rneider AT web.de>
+
+       * device/lib/pic/libm: NEW, added math library functions
+       * device/lib/pic/libsdcc: NEW; added float support functions
+       * device/lib/pic/{Makefile.in,configure.in,configure}: added libm/
+       * device/include/pic/{limits.h,errno.h,sdcc-lib.h,float.h,math.h}:
+         NEW, added math related headers
+       * device/include/asm/pic/features.h: NEW
+       * src/pic/gen.c (emitpcode_real): emit warning on NULL pCodeOp,
+         (popGet): allow larger offsets for AOP_PCODE,
+         (genDataPointerSet): handle literals explicitly, more debug output,
+         (genAssign): fixed for float using aopLiteral ;-)
+       * src/pic/glue.c (pic14createInterruptVect): inserted pagesel before
+         GOTO initialisation routine
+       * src/pic/pcoderegs.c (pCodeRegMapLiveRangesInFlow): set wasUsed
+         flag on registers, fixes #1469043 (local variables do not work)
+       * src/pic/main.c (_pic14_do_link),
+       * src/pic16/main.c (_pic16_linkEdit): use fullDstFileName if
+         available
+
+2006-06-25 Borut Razem <borut.razem AT siol.net>
+
+       * device/lib/pic16/libc/stdio/sprintf.c: return the number of
+         characters printed (not including the trailing '\0' used to end
+         output to strings). Problem detected in regression test bug-927659.c.
+         NOTE: printf() family functions should return int instead
+         unsigned int!
+       * device/lib/pic16/libc/stdio/vfprintf.c: "%%" prints "%", unknown
+         specifier are printed as themselves
+       * sdcc/support/regression/tests/bug1057979.c: pic16 printf doesn't
+         support flags, width and precision specifiers
+
+2006-06-24 Borut Razem <borut.razem AT siol.net>
+
+       * sdcc/support/regression/tests/bitvars.c: added gbz80, pic16 and pic16
+         to the list of sdcc tagrets not supporting bit type
+       * sdcc/support/regression/tests/bug-905992.c.c: excluded regression
+         testfor pic16 due to bug:
+         [ 1511794 ] pic16: regression test bug-895992.c fails
+
+2006-06-24 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/mcs51/gen.c (genCmp): optimization for RFE 1162453
+       * src/SDCCglue.c (initPointer), fixed bug 1496419
+       * support/regression/tests/bug1496419.c: new, added
+
+2006-06-22 Borut Razem <borut.razem AT siol.net>
+
+       * support/regression/ports/pic16/support.c: use gpsim usart module from
+         libgpsim_modules library
+
+2006-06-21 Jesus Calvino-Fraga <jesusc at ece.ubc.ca>
+
+       * device/include/mcs51/at89c51ed2.h: Fixed bug 1510144 changed
+       IP0H to IPH0.
+
+2006-06-19 Raphael Neider <rneider AT web.de>
+
+       * src/pic/glue.h,src/pic16/glue.h: added prototypes
+       * src/pic/glue.c,src/pic16/glue.c (pic1x_stringInSet,
+         pic1x_emitSymbolIfNew): NEW, check for a string in a set,
+         (pic14printExterns,pic14printPublics,pic16printPublics,
+         pic16_printExterns): use new functions to emit symbols
+         (picglue,pic16glue): emit publics before emitting externs
+       * src/pic/gen.c,src/pic16/gen.c (genFunction): remember the names of
+         locally defined functions to avoid bug #1443651
+       * support/regression/tests/bug-716242.c: removed pic16 workaround
+       * support/regression/ports/pic16/spec.mk: ignore errors during build
+
+2006-06-19 Raphael Neider <rneider AT web.de>
+
+       * src/pic/glue.h: added pic14aopLiteral prototype
+       * src/pic/glue.c (pic14aopLiteral): return unsigned int
+       * src/pic/gen.c: removed stdint.h dependency
+         (aopGet): use Safe_strdup()
+         (bitpatternFromVal): removed, replaced use with pic14aopLiteral
+         (genDataPointerSet): use pic14aopLiteral()
+       * src/pic16/glue.h, src/pic16/glue.c, src/pic16/gen.c: similar changes
+         for pic16; thanks to Bernhard and Maarten
+
+2006-06-18 Borut Razem <borut.razem AT siol.net>
+
+       * support/regression/tests/structflexarray.c: flexible array members
+         not supported by gcc < 3
+       * sim/ucsim/configure, sim/ucsim/configure.in: do not compile serio
+         GUI tool by default
+       * src/pic/gen.c: don't include [p]strdin.h on solaris
+       * support/Util/pstdint.h: addad svn attributes
+       * support/regression/tests/constantRange.c,
+         support/regression/tests/rotate.c: include inttypes.h instead
+         stdint.h on solaris, addad svn attributes
+
+2006-06-18 Raphael Neider <rneider AT web.de>
+
+       * src/SDCCsymt.c (initCSupport): change return type of divschar to
+         int for PIC16
+       * src/pic16/genarith.c (genAddLit): sign-extend via standard routine
+         (pic16_genMinusBits): simplified sign-extension
+         (pic16_genUMult8XLit_8,pic16_genUMult8X8_8): renamed to
+           pic16_genMult8XLit_n resp. pic16_genMult8X8_n, fixed and
+           adjusted to correctly handle mixed-signed operands, disabled
+           now unused multiplciation routines
+       * src/pic16/gen.c (pic16_pushpCodeOp): fixed to handle literals
+         (assignResultValue): added argument denoting the size of the result
+           as returned by the function (fixes upcasts in assigning from
+           function calls: char foo(); int i = foo();)
+         (genCall,genPcall,genGenPointerGet,genReceive): pass size of
+           function result to assignResultValue
+         (genMult): disabled inlined multiplication code
+         (genDiv): augmented to also handle the modulus operator, fixed to
+           handle mixed-signed operands correctly
+         (genMod): simply call genDiv, disabled unused code
+         (genAssign): fixed missing (sign-)extension on result
+       * src/pic16/main.c (_hasNativeMulFor): accept literals [-128..256) as
+           valid char operands, allow signed operands for native code, added
+           division and modulo operator handling
+       * device/lib/pic16/libsdcc/char/divschar.c: divschar returns an int
+
+       As a consequence, onebyte.c (if split into two files) and muldiv.c
+       pass regression tests.
+
+2006-06-17 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * doc/Makefile.in: two runs of makeindex seem needed to get
+       correct page references in the index of sdccman.pdf
+       * doc/sdccman.lyx: mentioned cmon51, added links, small changes
+
+2006-06-17 Borut Razem <borut.razem AT siol.net>
+
+       * sdcc/device/lib/Makefile.in: corrected PORTINCDIR path
+
+2006-06-17 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * doc/sdccman.lyx: updated, added (porting source code, debugging),
+       mentioned ec2drv and paulmon
+
+2006-06-16 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * as/mcs51/lkarea.c (lnkarea2): clear new xdatamap, bugfix for two
+         consecutive abs areas
+         (find_empty_space, allocate_space): added map to handle codemap or
+          xdatamap,
+         (lnksect2): renamed rloc to locIndex, fixed bug 960060 by handling
+          absolute idata and xdata
+       * as/mcs51/lkmem.c (summary2): updated legend
+
+2006-06-16 Raphael Neider <rneider AT web.de>
+
+       * src/pic16/gen.c (shiftR2Left2Result): fixed bug #1507127
+
+2006-06-13 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * debugger/mcs51/cmd.c (cmdListFunctions): fixed bugs 1181163 and
+         1208515
+       * src/SDCClrange.c (findPrevUse): fixed bug 1294475
+
+2006-06-13 Vangelis Rokas <vrokas AT users.sourceforge.net>
+
+       * src/port.h (struct PORT): added field gp_tags, to hold the tag
+       value of generic pointers,
+       * src/avr/main.c,
+         src/ds390/main.c,
+         src/hc08/main.c,
+         src/izt/i186.c,
+         src/izt/tlcs900h.c,
+         src/mcs51/main.c,
+         src/pic/main.c,
+         src/pic16/main.c,
+         src/xa51/main.c,
+         src/z80/main.c: PORT structure, added elements for gp_tags field,
+       * src/SDCCsymt.h: replaced hardwired values of GPTYPE_* macros with
+       fields in the PORT structure of each port,
+       * src/SDCCast.c (decorateType): allow processing of generic pointers
+       for PIC16 port (FPTRSIZE equals GPTRSIZE), also set GPTYPE_NEAR for
+       S_FIXED symbols
+
+2006-06-12 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * link/z80/lkgb.c,
+       * link/z80/lkgg.c,
+       * src/pic16/gen.c,
+       * src/pic16/main.c,
+       * src/pic16/pcode.c,
+       * src/pic/main.c,
+       * src/pic/pcoderegs.c,
+       * src/SDCCicode.c,
+       * src/SDCCmain.c,
+       * src/SDCCsymt.c: replaced all exit(-1) by exit(EXIT_FAILURE) to fix
+         bug 1504689 on minGW
+
 2006-06-12 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
 
        * device/lib/printf_tiny.c: fixed bug #1465675 (%x format specifier)