+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