Many signedness and type propagation fixes
[fw/sdcc] / ChangeLog
index 9fdc955703c042413eadf9a9967ce7bd6c1a0610..c6d252c523a823d0dfe65b95dd1dabab4f311e53 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,78 @@
+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,
 
 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