+2004-03-06 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * sim/ucsim/configure.in,
+ * sim/ucsim/configure,
+ * sim/ucsim/doc/Makefile.in: use docdir
+ * src/SDCC.y: fixed sbit atrributes
+ * src/SDCCast.c (getResultTypeFromType): added support for bitfields
+ * src/SDCCast.c (decorateType): |^& need special promotion handling
+ * src/SDCCast.h,
+ * src/SDCCsymt.h: moved definition of RESULT_TYPE
+ * src/SDCCsymt.h (computeType),
+ * src/SDCCicode.c: computeType() needs op
+ * src/SDCCsymt.c (checkTypeSanity),
+ * doc/sddman.lyx: "plain" bitfields are unsigned
+ * src/SDCCsymt.c (computeTypeOr): added
+ * src/SDCCsymt.c (computeType): added support for bitfields, fixed
+ |^& ops
+ * src/SDCCval.c (val*): computeType() needs op
+ * src/SDCCval.c (valCastLiteral): fixed casting of bitfields
+ * support/regression/tests/onebyte.c: added tests for |^&
+
+2004-03-06 Hans Dorn <hjdorn AT users.sourceforge.net>
+
+ * src/pic16/gen.c: (genpic16Code) use copy of printILine's output
+ for writing icode into asm output.
+
+2004-03-05 Vangelis Rokas <vrokas AT otenet.gr>
+
+ * src/pic16/device.c: added some debug lines enabled
+ with macro DEBUG_CHECK,
+ * src/pic16/genarith.c: more debug in genPlus,
+ * (pic16_genUMult8XLit_16, pic16_genUMult8X8_16): removed,
+ * (pic16_genUMult16X16_16, pic16_genUMult16XLit_16): NEW,
+ * src/pic16/gen.c: added prototypes for pic16_genMult16X16_16,
+ * (aopForSym): onStack symbols are re-placed in data memspace,
+ and onStack flag is cleared,
+ * (pic16_popGetTempReg, pic16_popReleaseTempReg): modified to
+ copy temporary pcodeop,
+ * (genPcall): added warning for not updating PCLATU,
+ * (genFunction): removed test with IFFUNC_CALLEESAVES, its
+ always true for pic16 port,
+ * (genMultOneWord): NEW, supports integer multiplication,
+ * (genMult): modified to call genMultOneWord,
+ * (ifxForOp): added warning when return NULL,
+ * src/pic16/glue.c (pic16emitRegularMap): symbol implicit
+ flag is set before call to operandFromSymbol for implicit
+ added structures,
+ * src/pic16/main.c (_pic16_finaliseOptions): options.float_rent,
+ options.intlong_rent are set by default,
+ * (_hasNativeMulFor): modified to allow port generation of integer
+ multiplication,
+ * src/pic16/ralloc.c (pic16_allocDirReg): commented out line which
+ set regtype to REG_SFR for all registers, restricting seting the
+ accessBank flag for registers 0<= r < 0x80 and 0xf80<=r<=0xfff,
+
+2004-03-05 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+ * src/mcs51/peephole.def: added 251.b and 253.x. 253.x are applied
+ more than 500 times in the regression tests
+
+2004-03-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * support/Util/SDCCerr.h,
+ * support/Util/SDCCerr.c,
+ * src/SDCC.y (struct_or_union_specifier, enum_specifier,
+ enumerator_list),
+ * src/SDCCsymt.c (addSymChain): show location of oriignal definition
+ for symbol conflicts.
+ * support/valdiags/tests/enum.c,
+ * support/valdiags/tests/tentdecl.c,
+ * support/valdiags/tests/struct.c: expect possible error messages
+ referring to original symbol definitions.
+ * src/SDCC.y (struct_or_union_specifier, struct_declarator),
+ * src/SDCCsymt.h,
+ * src/SDCCsymt.c (promoteAnonStructs): support anonymous struct/union
+
+2004-03-03 Hans Dorn <hjdorn AT users.sourceforge.net>
+
+ * src/pic16/gen.c (gencjne): fixed for right=REG / left=LIT
+
+2004-02-03 Vangelis Rokas <vrokas AT otenet.gr>
+
+ * src/pic16/ralloc.c (newReg): fixed bug #908929
+
+2004-03-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/ds390/gen.c: added missing #include "main.h"
+
+2004-03-02 Vangelis Rokas <vrokas AT otenet.gr>
+
+ * src/pic16/device.c (checkAddSym): NEW, adds a symbol to set while
+ checking if symbol is already in set,
+ * src/pic16/device.h: prototype for checkAddSym,
+ * src/pic16/gen.c: (_G): added entry interruptvector,
+ * (assignResultValue): removed some commented out lines,
+ * (genFunction): check for ISR via sym->type, absolute section for
+ interrupt code is created via a new pBlock, the goto instruction is
+ placed now correctly at the interrupt vector position, changed all
+ references from ivec to _G.interruptvector,
+ * WREG,STATUS,BSR are not saved in stack upon an entry to interrupt
+ is the interrupt is a high priority one, same for return from ISR,
+ * src/pic16/glue.c: changed all calls of addSetHead for publics and
+ externs to calls of checkAddSym,
+ * src/pic16/pcode.c (pic16_pBlockConvert2*): emit warning when
+ pic16_pcode_verbose flag is set,
+ * src/pic16/pcode.h: extern to pic16_pcode_verbose,
+ * src/pic16/pcoderegs.c: message about how many registers are saved
+ will only be emitted if pic16_pcode_verbose flag is set,
+
+2004-03-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/ds390/ralloc.h,
+ * src/ds390/ralloc.c (ds390_regWithIdx),
+ * src/ds390/gen.c (emitcode),
+ * src/ds390/main.h,
+ * src/ds390/main.c (instructionSize, ds390newAsmLineNode, updateOpRW,
+ ds390opcodeCompare, asmLineNodeFromLineNode, getInstructionSize,
+ ds390operandCompare, getRegsRead, getRegsWritten,
+ initializeAsmLineNode): customized instruction size calculation for
+ ds390, started basis for some register optimizations
+ * src/ds390/gen.c (gen390Code, emitcode): associate iCodes with
+ corresponding assembly output
+ * src/ds390/gen.c (genFunction, genEndFunction): added case to handle
+ missing push/pop of r0/r1. Optimized push/pops
+
+2004-03-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/mcs51/main.c (instructionSize): fixed ACALL size
+ * src/mcs51/main.c (updateOpRW): fixed bug with @dptr, @a+dptr operands
+
+2004-03-01 Vangelis Rokas <vrokas AT otenet.gr>
+
+ * src/pic16/device.c (pic16_dump_section): fixed a bug that allowed
+ the sorting of rlist with NULL elements
+ * (print_idataType, print_idata): NEW to create idata sections
+ * src/pic16/device.h: idataSymSet new variable
+ * src/pic16/gen.c (genFunction): fixed some bugs in string
+ comparing, improved the absolute section creation for ISRs,
+ added FSR0L/FSR0H in registers that are saved in an ISR,
+ * (genInline): fixed the processing of inline snippets,
+ now they undergo no process by the peephole optimizer
+ * src/pic16/glue.c (pic16emitRegularMap): symbols with initialiser
+ are placed in idataSymSet,
+ * (pic16emitStaticSeg): extern symbols are added in externs,
+ * src/pic16/ralloc.c (pic16_allocDirReg): work around to reduce bank
+ switching when aboslute variables are placed in access bank memory
+ * (pic16_writeUsedRegs): added call to pic16_dump_idata,
+ * (packRegsForSupport,packRegsForAccUse,packRegsForOneuse):
+ commented out with #if,
+ * (pic16_packRegisters): reintroduce the check for CAST because some
+ symbols are not correctly handled,
+ * src/pic16/pcode.h: changed the definition of pCodeAsmDir to hold a
+ pCodeInstruction instead of pCode,
+ * src/pic16/pcode.c (pic16_newpCodeAsmDir): modified for the new
+ pCodeAsmDir definition,
+ * (pic16_pCode2str, genericPrint): when an AsmDir pcode has a NULL
+ directive, then the argument directive is emitted without the leading
+ tab, hack for inline labels which must be in the first column,
+ * (compareLabel,pic16_findNextInstruction),
+ * (pic16_findPrevInstruction): added case for PO_ASMDIR,
+ * (insertBankSwitch): modified for the new pCodeAsmDir,
+
+2004-03-01 Hans-Juergen Dorn <hans.dorn AT apl-landau.de>
+ patch applied by Vangelis Rokas <vrokas AT otenet.gr>
+
+ * src/pic16/gen.c (pic16_popGet): case PO_DIR, adds the offset to
+ instance,
+ * (pushSide): commented out with #if,
+ * (assignResultValue): fixed some typos in saving
+ registers,
+ * (genPcall): FIXED and sync'ed with genCall,
+ * (genDataPointerGet,genDataPointerSet): using offset not leoffset
+ * (genNearPointerGet): fixed to handle some more cases,
+ implementation scheme via table reads,
+ * (genConstPointerGet): modified to access code memory correct,
+ * (genCodePointerGet,genNearPointerSet,genGenPointerSet): modified
+ and improved to handle some cases
+ * glue.c (printIvalType,printIvalChar,emitStaticSeg): use "DB"
+ instead of "RETLW" for init data
+ * src/pic16/ralloc.c (pic16_allocDirReg): warning when a symbol is
+ not IN_DIRSPACE, work around to reduce bank switching when aboslute
+ variables are placed in access bank memory (<0x80 and >=0xf80),
+ * src/pic16/pcode.c: added SFRs TBLPTR, TABLAT, added opcodes TBLRD,
+ TBLRD_POSTINC,TBLRD_POSTDEC,TBLRD_PREINC,TBLWT,TBLWT_POSTINC,
+ TBLWT_POSTDEC,TBLWT_PREINC
+ * Fixed initialisation of BSR, set "alias" for SSAVE to "0"
+ * (pic16_emitDB,pic16_flushDB): New functions to generate "DB"
+ directives
+ * (pic16_pCodeConstString): use "DB" instead of "RETLW"
+ * src/pic16/pcode.h: added TBLRD*,TBLWT*, added pic16_emitDB,
+ pic16_flushDB, made pic16_newpCodeAsmDir public, added TBLPTR, TABLAT
+ * src/pic16/ralloc.h: added IDX_BSR,IDX_TBLPTR*,IDX_TABLAT
+
+2004-02-29 Borut Razem <borut.razem AT siol.net>
+
+ * src/Makefile.in, src/SDCCutil.c, support/Util/findme.c,
+ support/Util/findme.h, support/Util/system.h: enhance binary relative
+ search for lib and include by using findProgramPath()
+
+2004-02-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCCpeeph.h,
+ * src/SDCCpeeph.c (pcDistance),
+ * src/port.h,
+ * src/mcs51/ralloc.h,
+ * src/mcs51/ralloc.c (mcs51_regWithIdx),
+ * src/mcs51/main.h,
+ * src/mcs51/main.c (instructionSize, asmLineNode, updateOpRW,
+ mcs51opcodeCompare, asmLineNodeFromLineNode, getInstructionSize,
+ mcs51operandCompare, getRegsRead, getRegsWritten): made instruction
+ size calculation port specific, started basis for some register
+ optimizations
+ * src/mcs51/gen.c (genFunction, genEndFunction): added case to handle
+ missing push/pop of r0/r1. Optimized push/pops
+ * src/mcs51/ralloc.c (packregisters): fixed bug #727095
+ * device/lib/_modsint.c (_modsint),
+ * device/lib/_modslong.c (_modslong): fixed sign of result in non-asm
+ and stack version so regression tests pass
+
+2004-02-26 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * src/Makefile.in (dep): include SLIBOBJS in dependency check
+ * src/SDCCast.c (decorateType): catch another small optimization
+ with '?' operator
+ * src/SDCCsymt.c (computeType): added comments and cosmetic changes
+ * src/SDCCval.c (valMult, valDiv, valMod, valPlus, valMinus, valShift):
+ modified to finally use computeType() all over SDCC,
+ see Feature Request #877103
+ * src/SDCCval.h: cosmetic
+ * src/SDCCicode.c (operandOperation): fixed EQ_OP bug, now same as in
+ valCompare(); regression tested in muldiv.c
+ * support/regression/tests/muldiv.c (testMod): mod sign follows
+ dividend only
+
+2004-02-23 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * src/SDCCast.c (decorateType): fixed bug #902362
+ * doc/INSTALL.txt: fixed install instructions for win32
+
+2004-02-21 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * device/include/Makefile.in (install): fixed by replacing spaces
+ by tabs
+ * doc/README.txt,
+ * doc/INSTALL.txt: updated for release
+ * doc/sdccman.lyx: added warning for --xstack being buggy
+
+2004-02-20 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * src/pic16/ralloc.c (packRegsForAccUse): disabled functions with #if
+ to eliminate build warnings.
+ * src/pic16/gen.c (pic16_popGet): fixed for gcc 2.95.4
+
+2004-02-20 Vangelis Rokas <vrokas AT otenet.gr>
+ Hans-Juergen Dorn <hans.dorn AT apl-landau.de>
+
+ * doc/sdccman.lyx: removed PIC16 from PIC16 Port Specific Options,
+ removed -penable-stack, added comment for stack pragma, added
+ warning for not initializing the stack/frame registers, removed
+ comment at interrupts section
+
+ Stack is made permanent, there is no ability to disable stack usage.
+ * src/pic16/device.h,
+ * src/pic16/device.c: removed all references to USE_STACK macro,
+ * src/pic16/device.c (pic16_dump_section): when no elements in
+ rlist, free rlist before return,
+ * (pic16_dump_int_registers): NEW, internal registers are a new set
+ of general purpose registers reused by each function,
+ * (checkAddReg): returns 1 if registers is added to set,
+ * (pic16_groupRegistersInSection): when a registers is of type
+ PO_GPR_TEMP add it in pic16_int_regs and not in pic16_rel_udata,
+ * src/pic16/device.h: memRange and Assigned Memory are deleted,
+ SRCASECMP macro is moved here from device.c
+ * src/pic16/genarith.c (pic16_pCodeOpType): added cases for
+ PO_PCLATU, PO_PRODL, PO_PRODH,
+ * (pic16_pCodeOpType, genMinus,
+ changed compares to "a" register, with AOP_ACC,
+ * (pic16_genPlus): fixed some bugs and indented properly,
+ * (pic16_addSign): changed size to size+offset in the MOVWF
+ instruction,
+ * (pic16_genUMult8XLit_8): NEW, uses processor MULLW instruction to
+ multiply 8-bit operand by literal, result is 8-bit,
+ * (pic16_genUMult8X8_8): NEW, uses processor MULWF instruction to
+ multiply 2 8-bit operand, result is 8-bit,
+ * (pic16_genMult8X8_8): modified to call genUMult8X*_8 functions and not
+ genUMult8X*_16,
+ * src/pic16/gen.c: changed accUse to contain WREG only,
+ * (pic16_emitcomment): renamed to pic16_emitpcomment,
+ * (aopForSym): allocated dir register when IN_DIRSPACE(space) is,
+ true, do not use immediate addressing any more unless sym is a
+ pointer in codespace,
+ * (aopForRemat): do not use immediate addressing when symbol not in
+ codespace and when symbol's address is requested,
+ * (aopOp): for-loop in if(sym->accUse) is modified for the new
+ accUse size (= 1),
+ * (aopGet): added case for AOP_ACC and don't return "accumulator
+ bug" but WREG instead,
+ * (popGetTempReg): pushes contents of temporary register in stack,
+ * (popReleaseTempReg): pops contents of temporary register from
+ stack. Use popGetTempReg/popReleaseTempReg in aligned pairs,
+ * (pic16_popGet): separated case AOP_ACC to return register WREG
+ from processor registers, AOP_PCODE not checks if pcop is PO_DIR
+ or PO_IMMEDIATE and initializes their instance/offset appropriately,
+ * The whole issue with aopForSym,aopForRemat,popGet) is to minimize
+ the use of immediate pointers to certain cases only.
+
+ * (pic16_pushpCodeOpReg, pic16_poppCodeOpReg): use pic16_popGet2p,
+ * (pic16_loadFromReturn, pic16_storeForReturn: NEW,
+ * (assignResultValue, genCall, genRet): modified to use the new
+ function return value scheme with WREG,PRODL,PRODH,FSR0L and FSR0,
+ genPcall is still broken,
+ * (genFunction): added code to create 'A' type pBlocks when
+ interrupt functions are generated, code not extensively tested yet,
+ ISRs push WREG,STATUS,BSR,PRODL,PRODH,FSR0L,FSR0H registers on stack,
+ * (genEndFunction): modified so ISRs pop stored registers from stack,
+ * (genMultOneByte): cleanup,
+ * (AccRsh): added flag andmask, to and result with appropriate mask,
+ * (genUnpackBits,genPackBits): fixed and can handle bit fields,
+ * (genDataPointerGet): fixed and reenabled its use,
+ * (genNearDataPointerGet): bugs fixed,
+ * (genDataPointerSet): bugs fixed,
+ * src/pic16/genutils.c: added functions pic16_DumpValue,pic16_DumpAop,
+ pic16_DumpSymbol, pic16_DumpOp,
+ * src/pic16/genutils.h: function prototypes for the above functions,
+ * src/pic16/glue.c: new flags initsfpnt, to initialize stack/frame
+ pointers,
+ * (pic16emitRegularMap): many many many improvements, but needs a
+ major cleanup,
+ * src/pic16/main.c: enable_stack in pic16_options is removed,
+ * (_pic16_parseOptions): removed command line options -penable-stack,
+ * (_process_pragma): emit stack symbol only when stack pragma is
+ processed,
+ * src/pic16/pcode.c: pic16_pc_fsr0 is removed, all operations are
+ redirected to FSR0L/FSR0H pair,
+ * (pic16_get_op, pic16_get_op2): modifications and improvements,
+ * (pic16_getRegFromInstruction, pic16_getRegFromInstruction2): added
+ cases PO_PRODL,PO_PRODH, pic16_getRegFromInstruction2 returns sane
+ for immediates,
+ * (insertBankSwitch): modified to handle cases like: (alfa + 1)
+ * (dumpPicOptype): NEW,
+ * src/pic16/pcode.h: added PO_PCLATU,PO_PRODL,PO_PRODH in enum,
+ * src/pic16/pcoderegs.c (pCodeRegMapLiveRangesInFlow): fixed bug
+ with movff instruction,
+ * src/pic16/ralloc.c: renamed typeRegWithIdx to pic16_typeRegWithIdx,
+ added pic16_int_regs, some packRegsFor* functions are commented out,
+ because produce errors,
+ * src/pic16/NOTES: minor modifications
+
+2004-02-18 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
+
+ * as/mcs51/aslink.h, as/mcs51/lkarea.c, as/mcs51/lkdata.c, as/mcs51/lkmain.c,
+ as/mcs51/lkmem.c, src/SDCCglob.h, src/SDCCmain.c: added options --stack-size and
+ --pack-iram.
+ * doc/sdccman.lyx: described options --stack-size and --pack-iram.
+ * as/mcs51/lkaomf51.c: fixed bug #895763
+
+2004-02-17 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * device/include/c8051f320.h: added. Contributed by Maarten Brock.
+
+2004-02-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * doc/sdccman.lyx: added details about the HC08 storage classes and
+ interrupts, fixed the register usage info for z80 & gbz80
+
+2004-02-17 Vangelis Rokas <vrokas AT otenet.gr>
+
+ * doc/sdccman.lyx: added more pic16 port documentation
+ * device/include/pic16/: added header pic18fregs.h
+
+2004-02-16 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * doc/sdccman.lyx: added Vangelis' contribution
+
+2004-02-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCClrange.c (rlivePoint): live range of SEND operand should
+ extend to the next CALL or PCALL, not just to the next CALL.
+
+2004-02-16 Vangelis Rokas <vrokas AT otenet.gr>
+
+ * src/pic16/gen.c (genInline): fixed bug #896482 with inline assembly
+
+2004-02-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/mcs51/ralloc.c (packRegsForAssign, reassignAliasedSym): fixed
+ bug #895752 and a better fix for bug #716790
+
+2004-02-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCCsymt.c (processFuncArgs): fixed bug #896796
+
+2004-02-14 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+ * doc/sdccman.lyx: minor changes, minor changed
+
+2004-02-13 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * src/SDCCicode.c (usualBinaryConversions): removed pic16 from ports
+ which can't handle SDCC_NEWONEBYTEOPS,
+ (geniCodeMultiply): removed conversion from mult to shift for pic14
+ and pic16
+
+2004-02-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/hc08/gen.h,
+ * src/hc08/gen.c (storeRegToAop, aopOp, aopAdrStr, accopWithAop,
+ rmwWithAop): Ported my 2003-10-02 fix for bug #663539 to the hc08,
+ thus fixing bug #895406
+
+2004-02-11 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * device/lib/_modsint.c,
+ * device/lib/_modslong.c: sign follows divisor only
+ * src/hc08/gen.c (genMultOneByte): if result size is 1,
+ signs or signedness can be ignored
+ * src/SDCCast.c (addCast): cosmetic - added lineno to CAST
+ * src/SDCCast.c (resultTypePropagate): added even more ops: +, - and *,
+ added optimization for IFX,
+ (decorateType): Mult/Div/ModOneByte ops can handle all kind of signed
+ arguments;
+ reenabled optimization for IFX, which was removed on 2004-01-11
+ * src/SDCCast.h: added return type IFX
+ * src/SDCCicode.c: Mult/Div/ModOneByte ops can handle all kind of signed
+ arguments with 8 or 16 bit results; pic14 and pic16 ports use old
+ promotion behaviour; env. var. SDCC_NEWONEBYTEOPS selects the new,
+ SDCC_OLDONEBYTEOPS selects the old behaviour
+ * src/SDCCsymt.c (computeType): type2 can be NULL (for LEFT_OP);
+ changed again and commented promotion rule
+ * src/SDCCval.c (valDiv): promotion no longer necessary
+ * src/ds390/gen.c (genMultOneByte) (genDivOneByte) (genModOneByte),
+ * src/mcs51/gen.c (genMultOneByte) (genDivOneByte) (genModOneByte):
+ rewritten
+ * support/regression/tests/onebyte.c: added
+
+2004-02-11 Vangelis Rokas <vrokas AT otenet.gr>
+
+ * gen.c (genInline): reverted to old code for assemnling inline
+ code because of bug reported James Chadd
+
+2004-02-10 Vangelis Rokas <vrokas AT otenet.gr>
+
+ * ralloc.h: missing declarations from previous patch,
+ seems that patch for ralloc.h was never applied, fixed
+
+2004-02-10 Hans-Juergen Dorn <hans.dorn AT apl-landau.de>
+ patch committed by Vangelis Rokas <vrokas AT otenet.gr>
+
+ * pcode.c,
+ * pcode.h,
+ * ralloc.h: added FSR0L, FSR0H and other missing PIC16 SFR's for
+ indirect addressing. Marked FSR0 as deprecated
+ * gen.c (pointerCode): commented out, not needed now
+ (pic16_popGet2p): new MOVFF helper function
+ (genGenPointerGet),
+ (genGenPointerSet): reimplemented with MOVFF and POSTINC0
+ (shiftRLong): removed duplicate debugging info
+
+2004-02-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/ds390/gen.c (genNearPointerGet),
+ * src/mcs51/gen.c (genNearPointerGet): allow the genDataPointerGet()
+ optimization with bits, but not bitfields.
+ * src/ds390/ralloc.c (packRegisters),
+ * src/mcs51/ralloc.c (packRegisters): fixed bug #884453 & #880832
+
+2004-02-09 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * src/SDCCcse.c (algebraicOpts): copy operands before modification
+
+2004-02-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCCsymt.h,
+ * src/SDCCicode.c (operandFromSymbol),
+ * src/mcs51/ralloc.c (verifyRegsAssigned, serialRegAssign),
+ * src/ds390/ralloc.c (verifyRegsAssigned, serialRegAssign),
+ * src/z80/ralloc.c (verifyRegsAssigned, serialRegAssign),
+ * src/hc08/ralloc.c (verifyRegsAssigned, serialRegAssign),
+ * src/pic/ralloc.c (verifyRegsAssigned, serialRegAssign),
+ * src/pic16/ralloc.c (verifyRegsAssigned, serialRegAssign): fixed
+ bug #892038
+ * src/SDCCast.c (createIvalStruct, createIvalArray, gatherAutoInit),
+ * src/SDCCglue.c (emitRegularMap, printIvalStruct, printIvalArray,
+ printIvalCharPtr, printIvalPtr, printIval, emitStaticSeg, emitOverlay)
+ * src/SDCCsymt.c (newSymbol),
+ * src/SDCC.y (struct_or_union_specifier, enum_specifier,
+ enumerator_list),
+ * src/SDCCval.h,
+ * src/SDCCval.c (newiList): fixed bug #885705
+
+2004-02-08 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
+
+ * doc/sdccman.lyx: added section 3.1.4: sdcclib.
+ * as/mcs51/lkmem.c: report the size of the stack in .mem file.
+
+2004-02-08 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+ * device/include/c8051f120.h,
+ * device/include/c8051f300.h,
+ * device/include/c8051f310.h: added/updated header files for Silicon
+ Laboratories (formerly Cygnal) CPUs. Contributed by Maarten Brock.
+ * doc/sdccman.lyx: minor changes, recommended diff -Naur and diff -u
+ in new section Submitting patches
+
+2004-02-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/mcs51/gen.c (genNearPointerGet, genPagedPointerGet,
+ genFarPointerGet, genCodePointerGet, genGenPointerGet,
+ genNearPointerSet, genPagedPointerSet, genFarPointerSet,
+ genGenPointerSet),
+ * src/ds390/gen.c (genNearPointerGet, genPagedPointerGet,
+ genFarPointerGet, genCodePointerGet, genGenPointerGet,
+ genNearPointerSet, genPagedPointerSet, genFarPointerSet,
+ genGenPointerSet),
+ * src/pic16/gen.c (genNearPointerGet, genPagedPointerGet,
+ genFarPointerGet, genCodePointerGet, genGenPointerGet,
+ genNearPointerSet, genPagedPointerSet, genFarPointerSet,
+ genGenPointerSet),
+ * src/pic/gen.c (genNearPointerGet, genPagedPointerGet,
+ genFarPointerGet, genCodePointerGet, genGenPointerGet,
+ genNearPointerSet, genPagedPointerSet, genFarPointerSet,
+ genGenPointerSet): fixed bug #892400
+ * src/pic16/gen.c (genSkipz, AccRol): disabled functions with #if 0
+ to eliminate build warnings.
+ * src/SDCCast.c (processParms),
+ * src/SDCC.y (function_declarator2, declarator2_function_attributes):
+ fixed bug 751859
+ * support/valdiag/valdiag.py: added GCC to the list of defines active
+ when compiling with gcc
+
+2004-02-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * support/Util/SDCCerr.h,
+ * support/Util/SDCCerr.c,
+ * src/SDCCast.c (decorateType, sizeofOp): complain when sizeof is used
+ with an incomplete type (fixed bug #883734)
+ * src/SDCCicode.c (geniCodeCast): fixed bug #890510
+
+2004-02-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/pic16/gen.c (genCmpEq, shiftRLong): fixed declarations
+
+2004-02-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCCast.c (decorateType),
+ * src/SDCCicode.c (geniCodeParms, geniCodeCall): fixed bugs in my ANSI
+ function pointer implementation
+ * support/regression/tests/funptrs.c: added tests to verify both forms
+ of function pointers work correctly. Added tests to verify parameters
+ are passed in the correct order.
+
+2004-02-06 Vangelis Rokas <vrokas AT otenet.gr>
+
+ * device.c (regCompare): registers are sorted by ascending
+ address and increasing size,
+ * main.c (_pic16_finaliseOptions): removed the declaration
+ of compiler macro MCU. Now a macro of the format pic18fxxxx
+ will be defined from the command line
+
+2004-02-06 Hans-Juergen Dorn <hans.dorn AT apl-landau.de>
+ patch committed by Vangelis Rokas <vrokas AT otenet.gr>
+
+ * pcode.c (pic16initMnemonics): fixed typo in assignment to PCOP_RLNCF
+ PCOP_RLCF was overwritten!
+ * gen.c (genSkip): commented out calls to pic16_emitcode,
+ * (genCmpEQ): fixed "long" compares, only high word did get compared,
+ * (genlshTwo),
+ * (genRRC): added debugging info,
+ * (shiftL2Left2Result): Fixed bug, if offr > offl. Result got
+ overwritten while shifting,
+ * (shiftR2Left2Result): Fixed bug, if offr < offl. Result got
+ overwritten while shifting,
+ * (AccLsh),
+ * (AccRsh),
+ * (shiftLLeftOrResult),
+ * (shiftRLeftOrResult),
+ * (shiftRLong),
+ * (shiftLLong): Implemented with pic16_emitpcode
+ * (genlshFour): Replaced pic16_aopPut with pic16_emitpcode,
+ * (genLeftShift): Fixed bug, operand for shift by variable always
+ was "and"ed with 0x0f,
+ * (genLeftShiftLiteral),
+ * (genrshTwo),
+ * (genRightShiftLiteral): added debugging info,
+ * (genrshFour): added comment,
+ * (genRightShift): determined signedness from operand "left"
+ instead of "result"
+
+2004-02-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCCicode.c (geniCodeParms),
+ * src/SDCCast.c (decorateType, processParms): support for ANSI-style
+ function pointers, fixed function pointer bugs #861242 and #861896
+
+2004-01-31 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+ * device/include/c8051f000.h,
+ * device/include/c8051f120.h,
+ * device/include/c8051f300.h: added header files for Silicon
+ Laboratories (formerly Cygnal) CPUs. Contributed by Maarten Brock.
+
+2004-01-31 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * src/SDCCast.c (processParams): added new type flow and restructured
+ (gatherAutoInit): added new type flow
+ (addCast): cosmetic changes
+ (getLeftResultType): added new type flow for array indices, patch
+ provided by Stas, see FR #877103
+ (decorateType): SDCC_NEWTYPEFLOW removed, new type flow is now standard;
+ array index patch by Stas
+ * src/SDCCast.h: added prototype getResultTypeFromType()
+ * src/SDCCval.h,
+ * src/SDCCval.c (resolveIvalSym) (resolveIvalSym),
+ * src/pic/glue.c (pic14emitStaticSeg),
+ * src/pic16/glue.c (pic16emitStaticSeg),
+ * src/SDCCglue.c (emitRegularMap) (emitStaticSeg): added new type flow
+ for initialization of symbols
+ * src/SDCCicode.c (geniCodeArray): removed warning W_ARRAY_BOUND
+ * support/Util/SDCCerr.h:
+ * support/Util/SDCCerr.c: replaced W_ARRAY_BOUND by W_IDX_OUT_OF_BOUNDS
+ * .version: bumped version number to 2.3.8
+ * device/include/Makefile.in (install),
+ * doc/Makefile (install): changed to 'rm `find ...`' construct to
+ avoid warnings
+
+2004-01-30 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * support/regression/tests/libmullong.c: fixed for 64 bit hosts
+ Slade Rich fixed an optimization bug
+ * src/pic/pcodepeep.c,
+ * src/pic/pcoderegs.c
+ * doc/Makefile (install): added test for directory
+
+2004-01-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/mcs51/ralloc.c (getRegPtr, getRegGpr),
+ * src/ds390/ralloc.c (getRegPtr, getRegGpr),
+ * src/pic/ralloc.c (getRegPtr, getRegGpr),
+ * src/pic16/ralloc.c (getRegPtr, getRegGpr),
+ * src/z80/ralloc.c (getRegGpr): fixed bug #883361
+ * as/mcs51/asexpr.c (term),
+ * as/hc08/asexpr.c (term): fixed bug #887146
+
+2004-01-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/z80/gen.c (genMult): handle single byte result product
+ * src/SDCCopt.c (killDeadCode): never convert ADDRESS_OF iCode to
+ DUMMY_READ_VOLATILE (fixed bug #886367)
+
+2004-01-27 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * support/regression/tests/libmullong.c: fixed logic, on little endian
+ hosts we ended without a mullong_wrapper()
+
+2004-01-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * ChangeLog: changed "@" to " AT " in hopes of reducing spam and
+ virus/worm forged address usage.
+
+2004-01-27 Bernhard Held <bernhard AT bernhardheld.de>
+
+ Fixed promotion, it should be done on AST level:
+ * src/SDCCast.c (addCast): added promotion to int
+ (decorateType): updated call to upCast()
+ * src/SDCCicode.c (geniCodeLeftShift): removed call to
+ usualUnaryConversions()
+
+2004-01-26 Michael Hope <michaelh AT juju.net.nz>
+
+ * support/regression/tests/literalop.c (mulWrapper): Added a
+ wrapper to remove integer overflow warnings.
+
+ * support/regression/tests/float_trans.c: Made work on host.
+
+ * support/regression/ports/ucz80/spec.mk (UCZ80): Made detect the
+ location of sz80.
+
+ * support/regression/generate-cases.py (main): Changed from inline
+ to a main method.
+
+ * doc/Makefile (install): Changed to depth first to get rid of
+ missing directory install warning.
+
+ * as/Makefile (install-doc): Made work on Mac.
+
+2004-01-25 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * src/SDCCast.c: added an additional type flow in decorateType() of
+ opposite direction, see feature request #860006; it's enabled at runtime
+ by setting the environment variable SDCC_NEWTYPEFLOW
+ * src/SDCCast.h: changed prototype of decorateType()
+ * src/SDCCglue.c (emitRegularMap): updated call of decorateType()
+ * src/SDCCicode.c (geniCodeDivision) (geniCodeModulus): promotion from
+ 'char' to 'int' can be omitted, if both operands are 'unsigned char';
+ see feature request #877103
+ * src/SDCCval.c: updated call of decorateType()
+ (valBitwise): fixed bug #882876
+ (valMinus): added promotion
+ (valLogicAndOr): result is unsigned
+ (cheapestVal) (constVal): literals from 0...255 are 'unsigned char' now
+ * src/SDCCsymt.c (computeType),
+ * src/mcs51/gen.c (genCmpGt) (genCmpLt): literal 'unsigned char'
+ must not cause an unsigned operation
+ * src/pic/glue (pic14emitRegularMap),
+ * src/pic16/glue.c (pic16emitRegularMap): updated call of decorateType()
+
+2004-01-23 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * src/pic/pcode.c (PCodeID): commented out left over debug code
+
+2004-01-20 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * support/valdiag/tests/overflow.c: added shift tests
+ * src/pic/device.c,
+ * src/pic/gen.c,
+ * src/pic/gen.h,
+ * src/pic/glue.c,
+ * src/pic/main.c,
+ * src/pic/pcode.c,
+ * src/pic/pcode.h,
+ * src/pic/pcodepeep.c,
+ * src/pic/pcoderegs.c,
+ * src/pic/ralloc.c,
+ * src/pic/ralloc.h: applied patch from Slade Rich;
+ added support for multiple code pages and multiple RAM banks on the
+ PIC 14 port. The ASM files now no longer simply assume all the
+ code / RAM are in the same page / bank. This means the linker can
+ safely allocate code/RAM of separate ASM files to different pages/banks.
+ * doc/sdccman.lyx: added Slade's tips
+ * src/mcs51/peeph.def: fixed bug #880768
+
+2004-01-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/hc08/ralloc.c (rematStr): fixed bug #879282
+ * src/SDCCast.c (decorateType): fixed bug #880197
+
+2004-01-20 Michael Hope <michaelh AT juju.net.nz>
+
+ * sim/ucsim/gui.src/serio.src/main.cc: Fixed unconditional use of
+ getopt.h.
+
+ * debugger/mcs51/cmd.c (getValBasic): Changed strtof to strtod as
+ strtof is not part of C89 and isn't included with Mac OS X.
+
+2004-01-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/hc08/gen.c (genPlusIncr, genUminus, genMinusDec, genCmp,
+ shiftL2Left2Result): fixed bug #879326
+ (genAnd, genOr, genXor): fixed bug when result was of type AOP_CRY
+ (genMultOneByte): fixed bug in signed vs unsigned multiplication
+ * sim/ucsim/hc08.src/inst.cc (inst_clr): added missing effective
+ address fetch for clr instruction
+ * device/lib/hc08/_mulint.c: created optimized assembly version
+ * src/SDCCdflow.c (computeDataFlow): fixed bug #878209
+
+2004-01-19 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * src/SDCCicode.c (geniCodeArray): applied patch from Stas Sergeev
+ proposed in FR #877103
+
+2004-01-18 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * src/SDCCval.c (cheapestVal): added missing checks
+ * src/SDCCicode.c (usualBinaryConversions): fixed condition
+ * src/SDCCicode.c (geniCodeAdd): fixed part of bug #877103
+
+2004-01-16 Klaus Flittner <klaus_flittner AT gmx.de>
+
+ * src/ds390/gen.c (aopOp3): fixed the assignment of different dptrs to
+ equal operands
+
+2004-01-16 Vangelis Rokas <vrokas AT otenet.gr>
+
+ * src/SDCCmain.c (linkEdit): variable $3 of the linker command is
+ loaded with the linker search paths (-L arguments) and the libraries
+ to be linked with the current source (-l arguments). Changes
+ currently will affect only the pic16 port.
+ * src/pic16/main.c (_pic16_finaliseOptions): add to the linker
+ include path the port specific paths and port specific libraries,
+ * gplink command now contains the $3 argument,
+ * src/pic16/device.h,
+ * src/pic16/device.c,: structure PIC_device is made public and
+ renamed to PIC16_device, the same for variable Pics which is renamed
+ to Pics16. Updated all references to them.
+ * src/pic16/glue.c (pic16glue): corrected bug with code
+ initialization which bypassed the variable initializations block.
+
+ * device/lib/pic16/Makefile.rules: removed --penable-stack from
+ COMPILE_FLAGS and added the --nostdinc option
+
+2004-01-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * device/include/mc68hc908jb8.h: Register defs for another member
+ of the hc08 family. Contributed by Bjorn Bringert - thanks!
+
+2004-01-14 Vangelis Rokas <vrokas AT otenet.gr>
+
+ Documenting changes from previous commits.
+ * configure.in (version 1.56),
+ * configure: initially I've added AC_CONFIG_SUBDIRS(device/lib/pic16)
+ when generating output files to configure the pic16 library,
+ but now I've commented it out, since gputils aren't installed in the
+ SF compile farm, so library won't compile
+
+ * device/lib/Makefile.in (version 1.56): initially I've added in
+ target 'all' the prerequestive 'model-pic16' so it compiled the
+ pic16 library, but now I've commented it out for the same reasons
+ above,
+ * added targets 'model-pic16' and 'objects-pic16' to compile the
+ library
+ * added target 'port-specific-objects-pic16' to handle the
+ generated libraries and copy them into the build/ directory
+ * added target 'clean-intermediate-pic16' to clean intermediate
+ files into pic16 directory
+ * in target 'installdirs' added line to create directory pic16 in
+ the installation path
+
+ * device/include/Makefile.in (version 1.11): in target 'install'
+ added lines to copy all header files to installation path,
+ * in target 'installdirs' added line create directory for pic16
+ headers in the installation path
+
+2004-01-13 Klaus Flittner <klaus_flittner AT gmx.de>
+
+ * src/ds390/gen.c (genCall): fixed a double use of acc and b after
+ a function call
+
+2004-01-13 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * configure,
+ * device/lib/configure.in,
+ * device/lib/configure: fixed for autoconf 2.57
+
+2004-01-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/z80/main.c (_parseOptions): fixed the portmode= command line
+ option so that it actually works. Made it specific to the z80, since
+ the gbz80 doesn't have these kinds of I/O ports.
+
+2004-01-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * device/include/z180.h,
+ * device/lib/_memcpy.c,
+ * device/lib/_memmove.c,
+ * device/lib/_mulint.c,
+ * device/lib/ser_ir.c,
+ * device/lib/ser_ir_cts_rts.c,
+ * device/lib/_strcmp.c,
+ * device/lib/_strtok.c: fixed pragmas to non-deprecated form
+ * src/z80/main.c (_process_pragma): add support for pragmas bank and
+ portmode; added deprecation warning for bank= and protmode= forms.
+ Also, guard against buffer overflow.
+ * src/z80/gen.c (aopGet): generate better code for sfr banked read
+
+2004-01-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/hc08/main.c (_hc08_genAssemblerPreamble): fixed bug #875487. Also
+ changed interrupt vector table generation to only emit declared vectors.
+ * device/include/Makefile.in: added missing backslash
+ * device/lib/pic16/Makefile.rules: add $(MODELFLAGS) to $(CFLAGS)
+
+2004-01-13 Vangelis Rokas <vrokas AT otenet.gr>
+
+ Mainly changes to support compilation of the device libraries
+ * src/pic16/device.c: stack is allocated via symbol and not
+ via literal number. The symbol is placed in the corresponding
+ position of the data ram
+ * (pic16_dump_section): relocatable and absolute uninitialized
+ data are now emitted in sorted order to reduce section naming,
+ * src/pic16/ralloc.c (newReg): fixed bug with SFR's that
+ weren't marked as being in the access bank,
+
+2004-01-13 Vangelis Rokas <vrokas AT otenet.gr>
+
+ Added portion of GNU PIC Library under the directory
+ device/include/pic16 and device/lib/pic16. These files
+ contain the declarations of SFRs for the PIC18Fxx2 devices.
+ The directory is initialized via configure from toplevel.
+
+2004-01-12 Klaus Flittner <klaus_flittner AT gmx.de>
+
+ * src/ds390/gen.c (operandsEqu): fixed a little typo, that prevented
+ the spilllocations to be compared correctly
+
+2004-01-12 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * src/SDCCast.c (decorateType): fixed bug introduced today
+
+2004-01-12 Borut Razem <borut.razem AT siol.net>
+
+ * src/SDCC.lex, support/Util/SDCCerr.h, support/Util/SDCCerr.c,
+ doc/sdccman.lyx: upper case pragmas are deprecated
+
+2004-01-12 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * src/SDCCast.c (decorateType): replacing 'ul > 0' by '!ul' results
+ in simpler and even better code
+
+2004-01-11 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * src/SDCCicode.c (operandOperation): fixed bug #874819
+ * src/SDCCast.c (decorateType): fixed
+ char foo (unsigned long ul) { return ul > 0; }
+
+2004-01-11 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+ * doc/sdccman.lyx: Moved and added some sections, small changes
+ all over. Telling LaTeX to be less strict with word spacing
+ to better keep the right margin. Changed some notes about
+ maintainance of the ports in section 3.2.1 - is it OK like this?
+
+2004-01-11 Vangelis Rokas <vrokas AT otenet.gr>
+
+ SDCC source changes:
+ * src/SDCCopt.c (cntToFcall, cnvToFloatCast, cnvFromFloatCast,
+ convilong): modified to inform the pic16 port that builtin functions
+ are external
+
+ PIC16 PORT specific changes:
+ * src/pic16/device.c pic16_dump_equates() added,
+ processor registers declared internally by the port are emitted in
+ the translation as equates,
+ * src/pic16/gen.c: inline code is passed unprocessed to the
+ translation,
+ * (pic16_popGetLit2): fnuction modified to take second operand as
+ pCodeOp pointer and not as literal,
+ * (popRegFromIdx): prefixed with pic16_,
+ * (pic16_popCombine2): modified to receive already allocated pCode
+ operands,
+ * (pic16_pushpCodeOpReg, pic16_poppCodeOpReg): added
+ * (genFunction): initializes local stack frame and pushes on stack
+ all the registers used by this function,
+ * (genEndFunction): restores all registers from stack and restores
+ stack frame,
+ * src/pic16/glue.c (pic16emitRegularMap): various changes and
+ improvements,
+ * (pic16glue): changed the program startup sequence,
+ * added new dbName code 'A' for functions placed in absolute section
+ * src/pic16/main.c: added function attribute _naked,
+ * added pragma 'code' to place a fnuction at an absolute address,
+ * added command line arguments --debug-ralloc and --pcode-verbose,
+ * (_pic16_finiliseOptions): options.all_callee_saves is set by default
+ * src/pic16/pcode.c (pic16_pBlockConvert2Absolute) added,
+ * (pic16_newpCodeOpLit2): modified to take the second operand as
+ pCodeOp pointer,
+ * (pic16_printpBlock): modified to emit each function in a separate
+ section,
+ * (pic16_get_op): modified to use the gpasm modifiers LOW,HIGH and
+ UPPER for immediate operands,
+ * src/pic16/pcodepeeph.c: added peephole support for the LFSR
+ instruction,
+ * src/pic16/peeph.def: all peepholes with movff are commented out,
+ because there is a problem in the pcode peep optimizer,
+ * src/pic16/ralloc.c: the register allocator can now reuse local
+ function symbols for another function. This saves register usage.
+ * src/pic16/ralloc.h: added flag isLocal in structure regs,
+
+ Added file src/pic16/NOTES with information about program writing on
+ the current port version.
+
+2004-01-11 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+ * src/mcs51/peephole.def: added peepholes 177.c,d (redundant moves)
+ and peephole 252 (array access)
+
+2004-01-09 Borut Razem <borut.razem AT siol.net>
+
+ * src/SDCCmain.c : fixed #872250: -l command line defined library
+ files are scanned before standard library files
+
+2004-01-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCCast.c (decorateType): fixed bug #874046
+
+2004-01-09 Borut Razem <borut.razem AT siol.net>
+
+ * support/scripts/sdcc.nsi: remove previous installation
+
+2004-01-09 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+ * src/SDCCglue.c (createInterruptVect): don't append 7(5) padding
+ bytes for last interrupt vector (mcs51)
+ * sdcc.spec: fixed typo
+
+2004-01-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/mcs51/gen.c (genFunction, genEndFunction, genReceive, getTempRegs,
+ gen51Code): more efficient parameter receive for --model-large
+ ("bug" #845294)
+
+2004-01-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/ds390/main.c,
+ * src/z80/main.c: added missed needLinkerScript flags (more than
+ one port structure defined in these file)
+ * src/ds390/gen.c (aopForSym, aopOp, operandsEqu, aopOp3): fixed
+ bug #795325
+
+2004-01-08 Vangelis Rokas <vrokas AT otenet.gr>
+
+ * src/SDCCmain.c: removed various references to DEFAULT_PORT
+ * src/port.h: added flag needLinkerScript in port->linker
+ structure to inform whether to create a .lnk file or not,
+ * src/avr/main.c,
+ * src/ds390/main.c,
+ * src/hc08/main.c,
+ * src/mcs51/main.c,
+ * src/pic/main.c,
+ * src/pic16/main.c,
+ * src/xa51/main.c,
+ * src/z80/main.c: changed appropriately to configure
+ needLinkerScript flag
+ * src/pic/gen.c,
+ * src/pic16/gen.c (genAddrOf): fixed bug #863624
+ * src/pic/glue.c: added variable udata_section_name to
+ override default uninitialized data segment definition for
+ devices only with SHAREBANK memory (reported from Erik Epetrich)
+ * (pic14emitOverlay): modified to emit a commented overlay segment
+ directive when no overlay data exist
+ * (picglue): modified to emit uninitialized data segment
+ according to udata_section_name
+ * src/pic/main.c (_pic14_parseOptions): added command line
+ options --udata-section-name=[name] to override default
+ udata definition name
+ * modified _linkCmd and _asmCmd to include compiler passed
+ arguments via -W option
+ * src/pic16/main.c: added $l in _asmCmd, changed extension for
+ object file from '.rel' to '.o' in port->linker structure,
+ changed size of fptr from 2 to 3 in port structure
+
+2004-01-07 Borut Razem <borut.razem AT siol.net>
+
+ * support/scripts/sdcc.nsi: update PATH
+ * support/scripts/sdcc.ico: craeted
+
+2004-01-07 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * device/include/Makefile.in: fix install
+ * doc/Makefile: fix install
+
+2004-01-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCCsymt.c (processFuncArgs): fixed superflous allocation noted
+ in bug #860505
+ * src/SDCCmem.c (printAllocInfoSeg, printAllocInfo): minor changes to
+ how the function variable allocation summary is displayed; also
+ include information about variables allocated to the overlay
+ segment
+
+2004-01-06 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
+
+ * as/mcs51/lkmain.c: Help about -Y option
+ * as/mcs51/lkarea.c: Fixed gcc warnings
+
+2004-01-06 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * src/SDCCval.c (valShift): changed from 16 to 32 bit shift count,
+ fixed warning
+ * support/valdiag/tests/overflow.c: added
+ * src/SDCCast.c (decorateType),
+ * src/SDCCicode.c (geniCodeLeftShift): added promotion to int for
+ LEFT_OP (left shift)
+
+2004-01-06 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
+
+ * as/mcs51/lkmain.c: stack must be after data when option -Y is not used
+ (default behaviour).
+
+2004-01-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ A python script to validate compiler diagnostic messages. It can be
+ used to verify that sdcc complains about bad c source code and
+ gives a good location of the error.
+ * support/valdiag/Makefile,
+ * support/valdiag/valdiag.py,
+ * support/valdiag/tests/*
+
+2004-01-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCC.y (enum_specifier, enumerator_list, opt_assign_expr),
+ * src/SDCCsymt.c (newEnumType),
+ * src/SDCCsymt.h
+ * support/Util/SDCCerr.c,
+ * support/Util/SDCCerr.h: fixed bug #871258 and some other unreported
+ enum related bugs.
+ * support/regression/tests/enum.c: added test for enum values that
+ require at least 2 bytes of storage.
+
+2004-01-06 Vangelis Rokas <vrokas AT otenet.gr>
+
+ * src/common.h: added ifndef/define/endif macros
+ around the header file.
+ Bug reported from Jesus Calvino-Fraga
+
+2004-01-06 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * sdcc.spec: updated
+ * device/include/Makefile.in: don't install CVS directories
+ * device/lib/Makefile.in: added removal of CVS directories after install
+ * doc/Makefile: fixed install, added local_icons
+ * sim/ucsim/gui.src/Makefile.in: fixed an old typo
+ * src/mcs51/gen.c (genRightShift): fixed bug #870788
+ * src/ds390/gen.c (genRightShift): fixed bug #870788
+ * src/SDCCast.c (decorateType): fixed bug #870781
+
+2004-01-06 Vangelis Rokas <vrokas AT otenet.gr>
+
+ PIC16 port related changes:
+ * device.c: removed pic16_finalMapping and pic16_finalMappingSize,
+ added variable stackPos,
+
+ * gen.c: genCall, assignResultValue: added support for
+ pushing/retrieving function parameters to/from stack,
+ genFunction,genEndFunction: setup stack frame for the
+ generated function,
+ genAddrOf: will be changed according to bug 863624
+
+ * added files genutils.c and genutils.h which contain gen*
+ debugged and optimised functions extracted from gen.c
+
+ * glue.c: added variable 'externs' which holds extern symbols,
+ pic16emitRegularMap: is modified to properly handle relocatable
+ symbols under the new scheme,
+ pic16createInterruptVect: is modified
+ pic16printPublics: is modified to emit 'global' assembler directives,
+ added pic16_printExterns to print extern symbols,
+ pic16glue: initializes stack/frame pointer in the beginning of
+ the assembly output. Temporary hack, will be corrected later,
+ because gplink yet does not support stack and SDCC does not
+ yet support a type of crt0.o object to create the final binary.
+
+ * Removed many lines that contain 8051 legacy code.
+ * The code is finally placed under a 'code' directive.
+ * Added port specific options.
+
+ * _process_pragma: simplified since now we do not need *special*
+ include file to define SFR registers. But a separate header
+ will be needed. This will be developed later.
+ * _pic16_parseOptions: added, parses port specific options:
+ --pgen-banksel, --obanksel=, --pomit-config-words, --pomit-ivt,
+ --pleave-reset-vector, --penable-stack, --pstack-model, --debug-xtra
+ --preplace-udata-with=
+
+ * _pic16_setDefaultOptions: modified to initialize section names,
+ but hack is temporarly out of order since it needs improvement.
+ * _pic16_genAssemblerPreamble: configuration words are emitted by
+ their address instead of their name. This part is incomplete and
+ supports only the 18Fxx2 devices. Other devices will emit an error
+ during assembly since they do not contain the same set of config
+ registers
+ * _pic16_genIVT: is modified,
+
+ * pcode.c: added definitions for some hardware registers that are needed
+ for stack support
+ * added flag is2LitOp and variable pci_magic in pCodeInstruction.
+ All PCI entries are updated. Now LFSR is supported.
+ * Removed pic16_pciTRIS is mentioned by mdubuc in source
+ * added pic16_newpCodeOpLit2 to support instructions with
+ two literal arguments
+ * pic16_pCode2str: corrected code that emits assembler instructions
+ with two literal operands and those that have an access bit modifier
+ * genericPrint: now PC_ASMDIR pCodes, can emit a label if it exists,
+ this fixes a bug which caused some labels to be lost, when an
+ assembler directive was added, i.e. banksel,
+ * pic16_FixRegisterBanking: improved logic that causes the insertion
+ of bank switching,
+ * InlineFunction: functions that are called once, are not any more
+ inlined. This can be a port option in the future,
+
+ * pcode.h: added pCodeOpLit2 and added variable label in pCodeAsmDir
+
+ * ralloc.c: added pic16_rel_udata and pic16_fix_udata variables which
+ hold the corresponding uninitialized symbols,
+ * pic16_allocProcessorRegister: registers have explicit marked the
+ accessBank field,
+ * pic16_allocInternalRegister: registers are explicit marked as
+ not used,
+ * pic16_writeUsedRegs: pic16_dynDirectBitRegs was missing from the
+ processing list, so bit registers were lost,
+ *
+
+ * ralloc.h: added field 'accessBank' and original symbol operand
+ in register definition,
+ * removed the field isMapped from register definition,
+
+ ** Several functions have been removed from various sources:
+ BanksUsedFlow2,BanksUsedFlow,FixBankFlow,InstructionRegBank,
+ pic16_addMemRange,pic16_isREGinBank,pic16_dump_map,pic16_dump_cblock
+ isSFR,validAddress,mapRegister,assignRegister,pic16_assignFixedRegisters
+ pic16_assignRelocatableRegisters
+
+ ** others have been introduced:
+ pic16_areRegsSame,pic16_dump_section,checkAddReg,pic16_groupRegistersInSection
+ pic16_popGetLit2,pic16_popCombine2,pushw,pushaop
+
+2004-01-05 Vangelis Rokas <vrokas AT otenet.gr>
+
+ * support/scripts/inc2h.pl: changed definition of BIT_AT
+ to emit 'sbit at' instead of 'bit at'. This was a request.
+
+ PIC16 port related preliminary changes:
+ * gen.c: prefixed function popRegFromString with
+ pic16_ and all references to it corrected
+ * pcode.c: all pic16_pc_* hardware registers prefixed
+ with underscore (_),
+ pic16_popCopyGPR2Bit(): function sets register wasUsed=1
+ * ralloc.c: newReg(): when register is REG_SFR then
+ set address to rIdx,
+ pic16_allocProcessorRegister(): marks register wasUsed=0
+ pic16_writeUsedRegs(): added a call to assign processor
+ registers via pic16_assignFixedRegisters
+
+2004-01-04 Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
+
+ * as/mcs51/aslink.h, as/mcs51/lkarea.c, as/mcs51/lkdata.c,
+ as/mcs51/lkmain.c, as/mcs51/lkmem.c: 8051 linker can now pack
+ variables in unused register banks. Also the SSEG is placed
+ wherever there is enough space for it, and IDATA can be anywhere
+ in internal RAM. For now compile using -Wl-Y[stack_size].
+ The mem file is different for this option as well, since it
+ makes no sense of talking about DSEG lenght.
+
+2004-01-02 Vangelis Rokas <vrokas AT otenet.gr>
+
+ * src/SDCClrange.c: fixed bug 869095 that caused segfault
+ in certain cases, e.g. when ROM assignment, patch provided
+ from Albert den Haan.
+
+2004-01-01 Bernhard Held <bernhard AT bernhardheld.de>
+
+ Many signedness and type propagation fixes:
+ * src/SDCCicode.c: made geniCodeCast() static
+ replaced SPEC_ by IS_ (cosmetic)
+ (operandOperation): fixed div and mod operation
+ (usualBinaryConversions): added support for promotion of char
+ (geniCodeMultiply): replaced (unsigned long) by (TYPE_UDWORD)
+ (geniCodeDivision): replaced (unsigned long) by (TYPE_UDWORD)
+ (geniCodeAdd): an array index will stay unsigned, even if promoted
+ from char to int
+ (geniCodeArray): ditto
+ * src/SDCCicode.h: made geniCodeCast() static: removed prototype
+ * src/SDCCsymt.c (computeType): added more support for char;
+ promotion of char is selectable by promoteCharToInt, fixed signedness
+ for all cases
+ (powof2): replaced (unsigned long) by (TYPE_UDWORD)
+ * src/SDCCsymt.h (powof2): replaced (unsigned long) by (TYPE_UDWORD)
+ * src/SDCCval (val*): replaced signedness calculation by
+ computeType()
+ rearranged if-branches (cosmetic)
+ (valShift): added warning W_SHIFT_CHANGED
+ (valCompare): fixed problem with different types
+ * src/hc08/rallo.c (leastUsedLR): fixed gcc 3.3 warning
+ * support/regression/tests/literalop.c: added many cases
+ * support/regression/tests/ast_constant_folding.c: changed finally to
+ 'unsigned int'
+ * .version: new year, new version: 2.3.7
+ * src/SDCCmain.c (main): applied patch #866468
+ * debugger/mcs51/sdcdb.c (parseCmdLine): added -k for ucsim, patch
+ provided by Scott Bronson
+ * doc/sdccman.lyx: updated documentation for sdcdb
+ updated and added chapter tips
+
+2004-01-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCCsymt.h: missing from yesterday's commits
+
+2003-12-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCC.y (struct_or_union_specifier),
+ * support/Util/SDCCerr.c,
+ * support/Util/SDCCerr.h: verify that struct & union tags are used
+ as declared.
+
+2003-12-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCCglobl.h: missing from yesterday's commits
+
+2003-12-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCC.y (external_definition, type_specifier2, sfr_reg_bit,
+ sft_attributes, struct_declaration, parameter_declaration,
+ type_name, start_block, declaration_list),
+ * src/SDCC.lex (check_type): support redefinition of typedef names
+
+2003-12-22 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+ * src/mcs51/gen.c (genPlus): added special handling for 256 byte
+ aligned xdata arrays. Erik helped me with the if clause.
+
+2003-12-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * device/lib/ds390/tinibios.c (CpuSpeed): suppress unreachable code
+ warning
+
+2003-12-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCCast.h,
+ * src/SDCCast.c (newAst_),
+ * src/SDCCicode.h,
+ * src/SDCCicode.c (ast2iCode, newiCode),
+ * src/SDCCglobl.h,
+ * src/SDCC.y (logical_and_expr, logical_or_expr, conditional_expr,
+ expr, statement, expression_statement, selection_statement,
+ iteration_statement, expr_opt, jump_statement): foundation for tracking
+ sequence points
+ * src/SDCCopt.c (killDeadCode): fixed bug #861580 (needs the sequence
+ point code too)
+
+2003-12-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * support/Util/SDCCerr.c,
+ * src/SDCCast.h,
+ * src/SDCCast.c (createCase, createDefault, decorateType),
+ * src/SDCClabel.c (labelUnreach),
+ * src/SDCC.y (labeled_statement, jump_statement): More improvements
+ to error messages.
+ * support/Util/SDCCerr.c (werrorfl): fixed a non-standard declaration
+ (with thanks to Stas Sergeev)
+ * device/include/time.h,
+ * device/lib/time.c (CheckTime): suppress unreachable code warning
+
+2003-12-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCCast.c (createIvalCharPtr),
+ * src/SDCCglue.c (printChar): fixed bug #862241 (an error in my fix for
+ bug #753752)
+ * support/regression/tests/nullstring.c: tests for these two bugs
+
+2003-12-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * support/Util/SDCCerr.h,
+ * support/Util/SDCCerr.c (E_NOT_ALLOWED),
+ * src/SDCC.y (struct_declaration, struct_or_union_specifier): complain
+ about storage class and 'at' used inside struct or union
+ * src/SDCCBBlock.c (iCodeFromeBBlock),
+ * src/SDCCcse.c (ifxOptimize),
+ * src/SDCCglue.c (emitRegularMap, initPointer, printIvalStruct,
+ printIvalArray, printiValFuncPtr, printIvalCharPtr, printIvalPtr,
+ printIval, emitStaticSeg, emitOverlay),
+ * src/SDCClabel.c (deleteIfx),
+ * src/SDCCopt.c (replaceRegEqv, eBBlockFromiCode),
+ * src/SDCCast.c (resolveSymbols, createIvalStruct, createIvalArray,
+ gatherAutoInit, processParms),
+ * support/Util/SDCCerr.h,
+ * support/Util/SDCCerr.c (werrorfl): Support for better error location
+ reporting for post-parse errors.
+
+2003-12-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCCval.c (valPlus, valMinus, valShift): fixed some problems with
+ implicit casts via union; they don't work on big endian systems
+ (possible fix for bug #861138)
+
+2003-12-16 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+ (committed by Erik Petrich <epetrich AT ivorytower.norman.ok.us> on Frieder's behalf)
+ * src/mcs51/main.c: fixed the fix for bug #737001
+
+2003-12-15 Borut Razem <borut.razem AT siol.net>
+
+ * support/scripts/sdcc.nsi: updated for NSIS 2.0 beta 4
+
+2003-12-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * support/makebin/makebin.c: put output in binary mode
+
+2003-12-13 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+ * src/mcs51/main.c: fixed bug #737001 for the mcs51. SDCC clears
+ xdata and data memory on startup. Set the environment variable
+ SDCC_NOGENRAMCLEAR to disable this.
+ * src/mcs51/peephole.def,
+ * src/ds390/peephole.def: using the atomic test and clear instruction jbc
+ (allows non-interrupt and interrupt code to safely compete for a resource
+ without the non-interrupt code having to disable interrupts)
+
+2003-12-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCCicode.c (geniCodeAdd),
+ * src/SDCCast.c (decorateType): fixed bug #857753 (need to be careful
+ with valFromType if type might be a pointer and host is big endian).
+ * src/SDCCast.c (decorateType): unary plus compatible with all arithmetic
+ types, not just integer types.
+ * src/SDCCsymt.c (addSymChain): clarified error message when symbol is
+ multiply defined with mismatching "at" address.
+
+2003-12-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/ds390/main.c (PORT tininative_port): fixed bug #858416
+ * src/SDCCglue.c (printChar, printIvalChar, emitStaticSeg),
+ * src/SDCCast.c (createIvalCharPtr, stringToSymbol): handle strings
+ with embedded nulls (fixed bug #753752)
+
+2003-12-12 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+ * src/mcs51/main.c(_mcs51_genRAMCLEAR): using r0 instead of r1/r2.
+ Apparently this did not see much testing (endless loop)
+
+2003-12-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/z80/ralloc.c: set DISABLE_PACK_HL = 1 as a temporary fix to bug #855165
+
+2003-12-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCCdebug.c (outputDebugSymbols, outputDebugStackSymbols, dumpSymInfo):
+ gracefully handle NULL memmap pointers
+
+2003-12-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCCopt.c (killDeadCode): change iCode type to DUMMY_READ_VOLATILE
+ instead of deleting the iCode when an operand is volatile
+ * src/z80/gen.c (genDummyRead),
+ * src/mcs51/gen.c (genDummyRead),
+ * src/ds390/gen.c (genDummyRead),
+ * src/hc08/gen.c (genDummyRead): handle operands in IC_LEFT and/or IC_RIGHT,
+ not just IC_RIGHT
+ * src/SDCCicode.c (geniCodeCall): fixed bug #851607
+ * src/SDCC.y: fixed bug #850420
+
+2003-12-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ Applied z80 i/o port patch from Peter Townson and fixed some operators
+ to better handle operands in A register.
+ * device/include/z180.h
+ * src/SDCC.y
+ * src/SDCCglue.c
+ * src/z80/gen.c
+ * src/z80/gen.h
+ * src/z80/main.c
+ * src/z80/peeph-z80.def
+ * src/z80/peeph.def
+ * src/z80/z80.h
+
+2003-12-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCCsymt.c (addSymChain, compareTypeExact): fixed bug #838241 again
+
+2003-12-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * device/lib/hc08/_mullong.c: Removed extra #endif
+
+2003-12-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * sim/ucsim/hc08.src/inst.cc,
+ * sim/ucsim/hc08.src/hc08mac.h: fixed some problems with CC flag bits and
+ carries from x to h
+ * src/hc08/gen.c (aopAdrStr): fixed problem with 16 bit immediate
+ * src/hc08/gen.c (XAccRsh): fixed problem with right shift
+ * device/include/stdarg.h: fixed varargs for hc08
+ * device/lib/Makefile.in,
+ * device/lib/hc08/Makefile,
+ * device/lib/hc08/_mulint.c,
+ * device/lib/hc08/_mullong.c: fixed some endian problems
+
+2003-11-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+ * sdcc/src/mcs51/gen.c (genMultOneByte): help peephole 105
+ * sdcc/src/mcs51/peeph.def: added peephole 186.e array access in code space
+ * device/lib/_gptrget.c,
+ * device/lib/_gptrput.c: P2 not used any more (related to #850747, #785979)
+
+2003-11-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCClrange.c (findNextUseSym, rlivePoint): fixed bug #849795
+ * src/SDCCast.c (astErrors): fixed bug #846007
+ * src/SDCCsymt.c (checkFunction): fixed follow-up bug on bug #846007
+
+2003-11-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCCast.c (decorateType): disabled a transformation I added in
+ revision 1.188 (access to fields of a structure at an absolute address);
+ it breaks with bitfields, extern declarations, and gcse analysis.
+ * src/SDCCopt.c (isLocalWithoutDef): if ADDRESS_OF applied to a symbol, it
+ could be assigned through a pointer, so don't complain.
+ * src/SDCCast.c (astErrors),
+ * src/SDCCast.h,
+ * src/SDCCglue.c (emitRegularMap): fixed bug #847813
+
+2003-11-26 Vangelis Rokas <vrokas AT otenet.gr>
+
+ * src/pic16/main.c (_pic16_genIVT): fixed interrupt vector table
+ * src/pic16/main.c (_pic16_genAssemblerPreamble): re-enabled the
+ output of __config directives, since gpasm now supports them
+ * src/pic16/main.c (_pic16_finaliseOptions): define MCU
+ pre-processor macro, i.e. -DMCU=p18f452
+ * src/pic16/ralloc.c: renamed packRegisters to pic16_packRegisters,
+ and modified to handle 'cast' icode similarly to '=' icode
+ * src/pic16/device.h (typedef struct PIC_device): added field
+ 'extMIface' to indicate that chip has external memory interface
+ * src/pic16/device.c: added chips 18F248, 18F258, 18F448, 18F458,
+ 18F6520, 18F6620, 18F6680, 18F6720, 18F8520, 18F8620, 18F8680,
+ 18F8720
+
+2003-11-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCC.y (pointer): fixed bug #846006
+ * support/Util/SDCCerr.c: made W_PTR_TYPE_INVALID message clearer
+ * src/SDCCast.c (decorateType): fixed bug #846009
+ * src/ds390/peeph.def,
+ * src/ds390/gen.c (genAnd, genOr),
+ * src/mcs51/peeph.def,
+ * src/mcs51/gen.c (genAnd, genOr): fixed bug #846777
+
+2003-11-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ Fixed several common-sub-expression bugs (#772861, #768380, & #755323)
+ * src/SDCCdflow.c
+ * src/SDCCcse.c
+ * src/SDCCcse.h
+ * src/SDCCBBlock.h
+ * src/SDCCBBlock.c
+
+2003-11-23 Klaus Flittner <klaus_flittner AT gmx.de>
+
+ fixed bug #845089
+ * src/SDCCbitv.h,
+ * src/SDCCbitv.c: added function to free a bitvector
+ * src/SDCClrange.h,
+ * src/SDCClrange.c: added function to recompute the liveranges
+ * src/avr/ralloc.c,
+ * src/ds390/ralloc.c,
+ * src/hc08/ralloc.c,
+ * src/mcs51/ralloc.c,
+ * src/pic/ralloc.c,
+ * src/pic16/ralloc.c,
+ * src/xa51/ralloc.c,
+ * src/z80/ralloc.c: recompute the liveranges after register packing
+
+2003-11-21 Klaus Flittner <klaus_flittner AT gmx.de>
+
+ * src/SDCCloop.c (newInduction): fixed bug #845630
+
+2003-11-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCCsymt.c (compareTypesExact): disabled debugging output
+ inadvertantly left behind from my 2003-11-12 change
+
+2003-11-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ Updated headers I neglected to commit yesterday.
+ * src/SDCClrange.h,
+ * src/SDCCicode.h
+
+2003-11-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCCcse.c (algebraicOpts): fixed bug #773153
+ * src/SDCClrange.c (rlivePoint): need to mark IC_RESULT used if POINTER_SET op
+ * src/SDCCopt.c (eBBlockFromiCode),
+ * src/SDCClrange.c (hashiCodeKeys, sequenceiCode, computeLiveRanges): seperated
+ the creation of the key hash table from the sequencing so it can be used
+ earlier (for some GCSE bug fixes still pending)
+
+2003-11-15 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+ * src/mcs51/gen.c (genPlus): generate shortcut for adding 0xab00
+ * support/regression/tests/addsub.c: testing genPlus shortcut
+
+2003-11-15 Borut Razem <borut.razem AT siol.net>
+
+ * src/SDCCmain.c: fixed bug #841645: -MM command line option passed to sdcpp
+
+2003-11-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCCcse.c (cseBBlock): fixed bug #527779
+ * src/SDCCcse.c (deleteGetPointers): rewrote so that the set
+ ordering is immaterial.
+ * src/SDCCdflow.c (mergeInExprs): fixed bug #587536
+
+2003-11-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCCicode.c (geniCodeAddressOf): fixed part of bug #840381
+ * src/SDCCopt.c (replaceRegEqv, isLocalWithoutDef): fixed other part
+ (SIGSEV) of bug #840381
+ * src/SDCCmain.c (linkEdit, assemble): fixed bug #841606 (don't
+ unlink new file before rename if new and old filenames are the same)
+
+2003-11-13 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+ * src/mcs51/main.c: started fixing bug #737001 (SDCC not clearing
+ uninitialized variables) for the mcs51. Set environment variable
+ SDCC_GENRAMCLEAR to test.
+ xdata initialization slightly shorter
+
+2003-11-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCCsymt.h,
+ * src/SDCCsymt.c (addSymTypeChain, compareTypesExact): fixed bugs
+ #838241 & 780691 (basicly the same bug)
+ * src/SDCCBBlock.c (iCode2eBBlock): fixed bug #840148
+ * src/SDCCBBlock.c (iCodeFromeBBlock): fixed bug #840162
+
+2003-11-11 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * src/SDCCmain.c (linkEdit): "fix" #834252
+
+2003-11-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCCast.c (removePostIncDecOps, removePreIncDecOps),
+ * src/SDCCast.h,
+ * src/SDCC.y: fixed bug #819403
+
+2003-11-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * support/regression/fwk/lib/testfwk.c: printn is recursive and thus needs
+ the reentrant attribute.
+ * src/hc08/gen.c (genPackBits): added missing stack readjustment
+ * sim/ucsim/hc08.src/inst.cc (inst_mov): fixed bugs with mov instruction
+ simulation
+ * src/SDCCast.c (decorateType): fixed bug with storage class not being
+ updated during pointer dereference; f.e. ~(((char *)1)*) was being
+ erroneously reduced to a literal.
+ * src/hc08/ralloc.c (packRegisters, rematStr),
+ * src/hc08/gen.c (aopForRemat): allow literals to be rematerialized in
+ some cases
+
+2003-11-08 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+ * src/mcs51/main.c: fixed bug #838385. Thanks to Josef Pavlik for finding and fixing
+ * doc/sdccman.lyx: changed from 'article' to 'book'
+ * doc/Makefile: readded test_suite_spec and cdbfileformat
+
+2003-11-08 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * device/include/stdlib.h: include malloc.h to comply with ANSI
+ * support/regression/tests/malloc.c: include stdlib.h instead of malloc.h
+
+2003-11-07 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+ * doc/Makefile: sdccman.pdf should build with correct references (more info in commit msg)
+ * doc/clean.mk: also remove *.out files
+ * doc/sdccman.lyx: some additions, larger top/bottom margins
+
+2003-11-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCC.y: fixed bug #837365
+ * support/regression/tests/bitopcse.c
+ * src/hc08/gen.c (genPointerGet): Don't assume pointer operand is
+ a symbol (might be valop instead)
+ * device/lib/Makefile.in: added errno.c to HC08SOURCES
+ * device/lib/clean.mk: added hc08 to the cleaning list
+
+2003-11-04 Borut Razem <borut.razem AT siol.net>
+
+ * configure, configure.in, sdcc_vc_in.h, sdcconf_in.h: reverted changes,
+ made 2003-11-04
+ * support/Util/NewAlloc.c, as/hc08/lklibr.c, as/mcs51/lklibr.c,
+ as/z80/aslist.c, as/z80/assym.c: removed inclusion of nonstandard malloc.h;
+ malloc is declared in standard stdlib.h
+
+2003-11-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * device/lib/hc08/Makefile: need to clean .rel not .o files
+ * src/hc08/gen.c (genDjnz): can't use djnz with extended addressing mode
+
+2003-11-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/port.h,
+ * src/hc08/main.c,
+ * src/mcs51/main.c,
+ * src/ds390/main.c,
+ * src/z80/main.c,
+ * src/avr/main.c,
+ * src/pic/main.c,
+ * src/pic16/main.c,
+ * src/xa51/main.c: added hasExtBitOp & oclsExpense functions to ports
+ * src/SDCCicode.c: changed several IS_FARSPACE tests to isOclsExpensive
+ tests (which uses the port's oclsExpense function)
+ * src/SDCC.y,
+ * src/SDCCast.c,
+ * src/SDCCicode.c,
+ * src/hc08/gen.c,
+ * src/ds390/gen.c,
+ * src/mcs51/gen.c: added support for the SWAP iCode (RFE #834167)
+
+2003-11-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
+
+ * src/SDCCcse.c (ifxOptimize),
+ * src/SDCClabel.c (labelIfx, deleteIfx): When the condition to
+ an IFX iCode is volatile, convert to DUMMY_READ_VOLATILE instead
+ deleting the IFX iCode.
+ * src/hc08/ralloc.c: reduced unneeded slocs
+ * src/hc08/gen.c: fixed bug in asmopToBoolean
+
+2003-11-04 Borut Razem <borut.razem AT siol.net>
+
+ * configure, configure.in, sdcc_vc_in.h, sdcconf_in.h,
+ support/Util/NewAlloc.c, as/hc08/lklibr.c, as/mcs51/lklibr.c,
+ as/z80/aslist.c, as/z80/assym.c: decision to include malloc.h
+ transferred to configure
+
+2003-11-03 Bernhard Held <bernhard AT bernhardheld.de>