+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
+