* src/SDCCglue.c (printChar): fixed bug #973350, patch provided by Phuah Yee Keat...
[fw/sdcc] / ChangeLog
index 13ec66391e3e5fabf95e45200b74ce6c6fff4959..9782b44ee4175847ba2f9f7ccb915b3e933bf897 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,8 +1,212 @@
+2004-06-29 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/SDCCglue.c (printChar): fixed bug #973350, patch provided by
+       Phuah Yee Keat <yk.phuah AT nestac.com>
+
+2004-06-28 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/pic16/glue.c (pic16createInterruptVect): function now emits
+       correctly the IVT even if it is relocated to some other location
+
+2004-06-28 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * device/include/pic16/pic18fregs.h: added case for pic18f2220.h
+       * device/include/pic16/pic18f2220.h: NEW,
+       * device/lib/pic16/libdev/pic18f2220.c: NEW,
+       * device/lib/pic16/libdev/Makefile: added 18f2220 in DEVS,
+       * src/pic16/device.c (struct Pics16): added info for 18f2220,
+       * src/pic16/device.h (struct pic16_options): added ivt_loc and
+       nodefaultlibs, ivt_loc is the location of the interrupt vector
+       table, and nodefaultlibs signs that default libraries should not be
+       linked in link stage,
+       * src/pic16/gen.c (genFunction): relocate interrupt vector functions
+       according to --ivt-loc argument,
+       * src/pic16/main.c (_process_pragma): emit '_stack' as public symbol
+       when pragma stack is found,
+
+2004-06-25 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * src/mcs51/peeph.def: added peepholes 182.d (return 0.0), 
+       256 (range check), 257 (do while), 258.a-f (bit banging 
+       f.e. on 3-wire SPI bus)
+
+2004-06-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCClrange.c (findNextUseSym): fixed a live range bug with
+       variables used exclusively within a loop
+
+2004-06-21 Bernhard Held <bernhard AT bernhardheld.de>
+
+       * src/mcs51/gen.c (genCpl): quick fix for bug #974835
+
+2004-06-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCClrange.c (computeClash): fixed bug #971834
+
+2004-06-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/mcs51/gen.c (genCmp): fixed bug #975903
+       * src/hc08/gen.c (operandsEqu),
+       * src/ds390/gen.c (operandsEqu),
+       * src/z80/gen.c (operandsEqu),
+       * src/pic/gen.c (operandsEqu),
+       * src/pic16/gen.c (operandsEqu),
+       * src/mcs51/gen.c (operandsEqu): fixed bug #976283
+       * src/SDCCmain.c (parseCmdLine): report --unknown-option only once
+
+2004-06-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCcse.c (cseBBlock): fixed bug #966963
+
+2004-06-12 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/pic16/gen.c (genPointerGet): added E_INTERNAL_ERROR for
+       default case in switch statement,
+       * glue.c (pic16_initPointer): expr is initialised via decoarteType
+       to eliminate problem with initialisation of pointers, but problem
+       still exists,
+       * (pic16_pointerTypeToGPByte): removed, no needed for pic16,
+       * (emitStaticSegment): removed various lines emitting debug info,
+       * src/pic16/pcode.c, src/pic16/pcode.h, src/pic16/ralloc.h:
+       added processor registers for utilizing EEPROM,
+       * src/pic16/pcode.c (pic16_emitDB): number of DBs emitted is not
+       configurable and set 8
+
+2004-06-08 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * .version: increased version number to 2.4.2,
+
+       Cumulative patch for pic16 port
+       * src/pic16/device.c: changed scheme to dump initial values for
+       variables in idata segment, all print_idata* functions were removed,
+       now the pic16_printIval* will be called,
+       * src/pic16/glue.c: (pic16_initPointer, pic16_pointerTypeToGPByte,
+       * _pic16_printPointerType, pic16_printPointerType,
+       * pic16_printGPointerType, pic16_printIvalArray, pic16_printIvalStruct,
+       * pic16_printIvalBitFields, pic16_printIvalFuncPtr, pic16_printIvalPtr:
+       NEW, similar to the respective functions in SDCCglue.c,
+       * src/pic16/pcode.c (pic16_emitDB, pic16_flushDB): reverted to old
+       way, emitting hex bytes,
+       * (pic16_emitDS): NEW, emits a string for pointer initialisation,
+
+2004-06-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/avr/ralloc.c (serialRegAssign),
+       * src/xa51/ralloc.c (serialRegAssign),
+       * src/pic/ralloc.c (serialRegAssign),
+       * src/pic16/ralloc.c (serialRegAssign),
+       * src/hc08/ralloc.c (serialRegAssign),
+       * src/z80/ralloc.c (serialRegAssign),
+       * src/ds390/ralloc.c (serialRegAssign),
+       * src/mcs51/ralloc.c (serialRegAssign): fixed bug #964479
+       
+2004-06-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+       * src/SDCCicode.c (geniCodeJumpTable): fixed bug #967601
+       * src/SDCCpeeph.c (labelIsReturnOnly): fixed bug #966505
+
+2004-06-07 Vangelis Rokas <vrokas AT otenet.gr>
+
+       Cumulative patch for pic16 port:
+       * src/pic16/device.h (typedef PIC16_device) modified fields for
+       defining microcontrollers,
+       * src/pic16/device.c: added new info for all devices in Pics16 array,
+       * src/pic16/gen.c (genPcall): fixed bug that caused the return label
+       to be optimised out by the pCode optimiser,
+       * src/pic16/glue.c (pic16emitRegularMap): treat implicit aggragates
+       specially, bug reported by G.M. Gallant,
+       * src/pic16/pcode.c (pic16_newpCodeLabelFORCE): NEW, marks a label
+       as force'd so that cannot be optimised out by pCode optimiser,
+       * src/pic16/pcode.c,
+       * src/pic16/pcodepeeph.c,
+       * src/pic16/pcoderegs.c: many modifications to re-enable peepholes,
+       they are disabled by default, but can be enabled explicit with
+       command argument --denable-peeps, for testing,
+        * device/lib/pic16/startup/Makefile: added --no-peep,--pomit-config-words,
+        --pomit-ivt in COMPILE_FLAGS
+2004-06-06 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * src/pic16/pcode.c (pic16_emitDB): removed double semicolon which fails
+         compilation on MSVC
+
+2004-06-06 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * device/include/sab80515.h: added sfr P6, changed GPL to LGPL
+
+2004-06-06 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       device/include/sab80515.h: fixed bug #967492, DAPR is defined at adress
+       0xd8, but the correct adress is 0xda. Thanks to anonymous for reporting
+
+2004-06-06 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * src/pic16/device.c (pic16_assignConfigWord): fixed bug that
+       would only assign 0x300001 register.
+
+2004-06-05 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * device/lib/pic16/startup/Makefile: added $(MODELFLAGS)
+       in COMPILE_FLAGS. Thanks to G. Gallant for report.
+
+2004-06-05 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+       * doc/sdccman.lyx: minor changes, mentioned beta vendor support
+       for ds80c400
+       * src/mcs51/peeph.def: ran unexpand -a over peeph.def
+       * src/mcs51/peeph.def: removed obsolete peephole 100.a,
+       added peephole 254 (left shift), 255 (jump table)
+
+2004-06-04 Vangelis Rokas <vrokas AT otenet.gr>
+
+       * device/lib/Makefile.in: removed comment line with model-pic16,
+       * (target port-specific-objects-pic16): the libraries and objects
+       are copied to the build directory form the device/lib/pic16/bin
+       directory
+
+       Cumulative patch concerning pic16 port:
+       * library directory has been re-organized,
+       * added support for PIC18F1220,
+       * added headers and library sources for chips 18f1220,18f6520,
+       18f6620,18f6680,18f6720,18f8520,18f8620,18f8680,18f8720
+
+       * configuration registers setting has changed, now each supported
+       device has a complete description of the registers it uses,
+       * all initialisations are moved to idata sections, these section
+       can be absolute or relocatable,
+       * fixed initialisation of codespace variables,
+       * fixed warning about PCLATU and gpsim,
+       * src/pic16/gen.c (genCmp): now can handle partially iCodes with no ifx,
+       * (genAssign): use table reads when assigning from variables in codespace,
+       * src/pic16/glue.c (pic16emitStaticSeg): fixed to correctly initialise
+       char/int variables placed in codespace,
+       * (pic16_emitConfigRegs): NEW, emits a list with configuration
+       registers set in .asm file, no need for --pomit-config-words anymore,
+       * (pic16glue): some 8051 legacy segments are commented out
+       (to be removed completely),
+       * added support for alternative assembler and linker with --asm=
+       and --link= command line arguments,
+       * peepholes are disabled automatically in the port, no need to
+       specify on command line,
+       * port supports natively char/int/long multiplication, but converts
+       all divisions to support functions,
+       * main.c: pic16_linkCmd and pic16_asmCmd changed to force output
+       to the file set in variable $2,
+       * pcode.c (pic16_emitDB, pic16_flushDB): modified to print printable
+       strings in ASCII format and not in hex,
+       * ralloc.c (serialRegAssign): added a triplet of conditional calls
+       to pic16_allocDirReg for IC_RESULT, IC_LEFT and IC_RIGHT so to
+       allocate proper register if iCodes aren't temporary,
+
+2004-06-02 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * support/regression/tests/zeropad.c: added TEST_G macro for alpha
+
 2004-06-02 Vangelis Rokas <vrokas AT otenet.gr>
 
         * src/pic16/gen.c (genPcall): warning about gpsim and PCLATU
        is commented out
-                
+
 2004-06-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
 
        * src/hc08/gen.c (genPointerGetSetOfs): disabled optimization if