+2004-01-07 Bernhard Held <bernhard@bernhardheld.de>
+
+ * device/include/Makefile.in: fix install
+
+2004-01-07 Erik Petrich <epetrich@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@ece.ubc.ca>
+
+ * as/mcs51/lkmain.c: Help about -Y option
+ * as/mcs51/lkarea.c: Fixed gcc warnings
+
+2004-01-06 Bernhard Held <bernhard@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@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@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@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@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@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@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@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@ece.ubc.ca>
* as/mcs51/aslink.h, as/mcs51/lkarea.c, as/mcs51/lkdata.c,