+2004-01-01 Bernhard Held <bernhard@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
+
+2004-01-01 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ * src/SDCCsymt.h: missing from yesterday's commits
+
+2003-12-31 Erik Petrich <epetrich@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@ivorytower.norman.ok.us>
+
+ * src/SDCCglobl.h: missing from yesterday's commits
+
+2003-12-28 Erik Petrich <epetrich@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@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@ivorytower.norman.ok.us>
+
+ * device/lib/ds390/tinibios.c (CpuSpeed): suppress unreachable code
+ warning
+
+2003-12-20 Erik Petrich <epetrich@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@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@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@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@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@web.de>
(committed by Erik Petrich <epetrich@ivorytower.norman.ok.us> on Frieder's behalf)
2003-12-13 Frieder Ferlemann <Frieder.Ferlemann@web.de>
- * src/mcs51/main.c: fixed bug #737001 for the mcs51. SDCC clears
- xdata and data memory on startup. Set the environment variable
+ * 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