+2006-06-19 Raphael Neider <rneider AT web.de>
+
+ * src/pic/glue.h,src/pic16/glue.h: added prototypes
+ * src/pic/glue.c,src/pic16/glue.c (pic1x_stringInSet,
+ pic1x_emitSymbolIfNew): NEW, check for a string in a set,
+ (pic14printExterns,pic14printPublics,pic16printPublics,
+ pic16_printExterns): use new functions to emit symbols
+ (picglue,pic16glue): emit publics before emitting externs
+ * src/pic/gen.c,src/pic16/gen.c (genFunction): remember the names of
+ locally defined functions to avoid bug #1443651
+ * support/regression/tests/bug-716242.c: removed pic16 workaround
+ * support/regression/ports/pic16/spec.mk: ignore errors during build
+
+2006-06-19 Raphael Neider <rneider AT web.de>
+
+ * src/pic/glue.h: added pic14aopLiteral prototype
+ * src/pic/glue.c (pic14aopLiteral): return unsigned int
+ * src/pic/gen.c: removed stdint.h dependency
+ (aopGet): use Safe_strdup()
+ (bitpatternFromVal): removed, replaced use with pic14aopLiteral
+ (genDataPointerSet): use pic14aopLiteral()
+ * src/pic16/glue.h, src/pic16/glue.c, src/pic16/gen.c: similar changes
+ for pic16; thanks to Bernhard and Maarten
+
+2006-06-18 Borut Razem <borut.razem AT siol.net>
+
+ * support/regression/tests/structflexarray.c: flexible array members
+ not supported by gcc < 3
+ * sim/ucsim/configure, sim/ucsim/configure.in: do not compile serio
+ GUI tool by default
+ * src/pic/gen.c: don't include [p]strdin.h on solaris
+ * support/Util/pstdint.h: addad svn attributes
+ * support/regression/tests/constantRange.c,
+ support/regression/tests/rotate.c: include inttypes.h instead
+ stdint.h on solaris, addad svn attributes
+
+2006-06-18 Raphael Neider <rneider AT web.de>
+
+ * src/SDCCsymt.c (initCSupport): change return type of divschar to
+ int for PIC16
+ * src/pic16/genarith.c (genAddLit): sign-extend via standard routine
+ (pic16_genMinusBits): simplified sign-extension
+ (pic16_genUMult8XLit_8,pic16_genUMult8X8_8): renamed to
+ pic16_genMult8XLit_n resp. pic16_genMult8X8_n, fixed and
+ adjusted to correctly handle mixed-signed operands, disabled
+ now unused multiplciation routines
+ * src/pic16/gen.c (pic16_pushpCodeOp): fixed to handle literals
+ (assignResultValue): added argument denoting the size of the result
+ as returned by the function (fixes upcasts in assigning from
+ function calls: char foo(); int i = foo();)
+ (genCall,genPcall,genGenPointerGet,genReceive): pass size of
+ function result to assignResultValue
+ (genMult): disabled inlined multiplication code
+ (genDiv): augmented to also handle the modulus operator, fixed to
+ handle mixed-signed operands correctly
+ (genMod): simply call genDiv, disabled unused code
+ (genAssign): fixed missing (sign-)extension on result
+ * src/pic16/main.c (_hasNativeMulFor): accept literals [-128..256) as
+ valid char operands, allow signed operands for native code, added
+ division and modulo operator handling
+ * device/lib/pic16/libsdcc/char/divschar.c: divschar returns an int
+
+ As a consequence, onebyte.c (if split into two files) and muldiv.c
+ pass regression tests.
+
+2006-06-17 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+ * doc/Makefile.in: two runs of makeindex seem needed to get
+ correct page references in the index of sdccman.pdf
+ * doc/sdccman.lyx: mentioned cmon51, added links, small changes
+
+2006-06-17 Borut Razem <borut.razem AT siol.net>
+
+ * sdcc/device/lib/Makefile.in: corrected PORTINCDIR path
+
+2006-06-17 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+ * doc/sdccman.lyx: updated, added (porting source code, debugging),
+ mentioned ec2drv and paulmon
+
+2006-06-16 Maarten Brock <sourceforge.brock AT dse.nl>
+
+ * as/mcs51/lkarea.c (lnkarea2): clear new xdatamap, bugfix for two
+ consecutive abs areas
+ (find_empty_space, allocate_space): added map to handle codemap or
+ xdatamap,
+ (lnksect2): renamed rloc to locIndex, fixed bug 960060 by handling
+ absolute idata and xdata
+ * as/mcs51/lkmem.c (summary2): updated legend
+
+2006-06-16 Raphael Neider <rneider AT web.de>
+
+ * src/pic16/gen.c (shiftR2Left2Result): fixed bug #1507127
+
+2006-06-13 Maarten Brock <sourceforge.brock AT dse.nl>
+
+ * debugger/mcs51/cmd.c (cmdListFunctions): fixed bugs 1181163 and
+ 1208515
+ * src/SDCClrange.c (findPrevUse): fixed bug 1294475
+
+2006-06-13 Vangelis Rokas <vrokas AT users.sourceforge.net>
+
+ * src/port.h (struct PORT): added field gp_tags, to hold the tag
+ value of generic pointers,
+ * src/avr/main.c,
+ src/ds390/main.c,
+ src/hc08/main.c,
+ src/izt/i186.c,
+ src/izt/tlcs900h.c,
+ src/mcs51/main.c,
+ src/pic/main.c,
+ src/pic16/main.c,
+ src/xa51/main.c,
+ src/z80/main.c: PORT structure, added elements for gp_tags field,
+ * src/SDCCsymt.h: replaced hardwired values of GPTYPE_* macros with
+ fields in the PORT structure of each port,
+ * src/SDCCast.c (decorateType): allow processing of generic pointers
+ for PIC16 port (FPTRSIZE equals GPTRSIZE), also set GPTYPE_NEAR for
+ S_FIXED symbols
+
+2006-06-12 Maarten Brock <sourceforge.brock AT dse.nl>
+
+ * link/z80/lkgb.c,
+ * link/z80/lkgg.c,
+ * src/pic16/gen.c,
+ * src/pic16/main.c,
+ * src/pic16/pcode.c,
+ * src/pic/main.c,
+ * src/pic/pcoderegs.c,
+ * src/SDCCicode.c,
+ * src/SDCCmain.c,
+ * src/SDCCsymt.c: replaced all exit(-1) by exit(EXIT_FAILURE) to fix
+ bug 1504689 on minGW
+
+2006-06-12 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
+
+ * device/lib/printf_tiny.c: fixed bug #1465675 (%x format specifier)
+
+2006-06-12 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * src/SDCCast.c (backPatchLabels): fixed bug #1504636
+
+2006-06-11 Maarten Brock <sourceforge.brock AT dse.nl>
+
+ * device/lib/printf_large.c (OUTPUT_CHAR, _output_char): added and used
+ for optimization
+
+2006-06-11 Vangelis Rokas <vrokas AT users.sourceforge.net>
+
+ * src/pic16/gen.c (genCast): fixed bug with assignment of a pointer
+ to a char variable. Fixed bug #1504211
+ * device/include/pic16/adc.h,
+ device/include/lib/pic16/libio/adc/adcopen.c: applied patch #1364387
+ and fixed bug #1364390
+
+2006-06-10 Borut Razem <borut.razem AT siol.net>
+
+ * CVSROOT: removed the CVS left-over
+
+2006-06-10 Maarten Brock <sourceforge.brock AT dse.nl>
+
+ * as/hc08/asmain.c (asexit),
+ * as/hc08/lkmain.c (lkexit),
+ * as/mcs51/asmain.c (asexit),
+ * as/mcs51/lkmain.c (lkexit),
+ * src/SDCCglue.c (DEFSETFUNC),
+ * src/SDCCmain.c (linkEdit, assemble),
+ * support/librarian/sdcclib.c (AddRel),
+ replaced unlink() by standard C remove()
+ * src/SDCC.y: replaced removePostIncDecOps() by createRMW()
+ * src/SDCCast.c (replaceAstWithTemporary, createRMW,
+ gatherImplicitVariables): new, added to fix bug 608752,
+ (createFunction): added gatherImplicitVariables()
+ * src/SDCCast.h: added createRMW prototype
+ * src/SDCCsymt.h (struct symbol): added infertype
+ * support/regression/tests/bug608752.c: new, added
+
+2006-06-10 Raphael Neider <rneider AT web.de>
+
+ * src/pic16/gen.c (pic16_aopOp): use WREG as destination even for
+ multibyte dummy reads (fixes #1503234)
+
+2006-06-10 Maarten Brock <sourceforge.brock AT dse.nl>
+
+ * device/include/mcs51/compiler.h: new, added header file to enable
+ creating common sfr definition header files for different compilers
+
+2006-06-05 Raphael Neider <rneider AT web.de>
+
+ * src/pic16/{pcode.h,genarith.c}:
+ introduced pCodeOp combining any two pCodeOps (previously only
+ two register operands could be combined), removed pcop2 from
+ pCodepReg, replaced pCodeOpReg2 with pCodeOp2, fixes #1492366
+ * src/pic16/pcodepeep.c (pic16_pCodeOpCopy): added case for PO_TWO_OPS
+ * src/pic16/gen.c (pic16_popGet2,pic16_popGet2p,pic16_popCombine2):
+ rewritten to use new PO_TWO_OPS
+ * src/pic16/main.c (_hasNativeMulFor): cover more cases natively,
+ * src/pic16/pcode.c (pic16_newpCodeOpImmd): initialize rIdx field,
+ (pic16_newpCodeOp): catch invalid attempts on PO_TWO_OPS,
+ (pic16_newpCodeOp2): NEW, create combined pCodeOp,
+ (pic16_get_op): embraced return arg to allow #define return(x),
+ added new case for combined opcodes
+ (pic16_get_op2): reduced to use pic16_get_op() on second pCodeOp,
+ (pic16_pCode2str,pic16_getRegFrompCodeOp,
+ pic16_getRegFromInstruction2): fixed/added handling of new pCodeOp
+
+2006-06-04 Bernhard Held <bernhard AT bernhardheld.de>
+
+ * src/SDCCval.c (checkConstantRange): added
+ * src/SDCCval.h: added checkConstantRange
+ * support/Util/SDCCerr.c,
+ * support/Util/SDCCerr.h: replaced unused W_IF_NEVER_TRUE and
+ W_IF_ALWAYS_TRUE by W_COMP_RANGE and W_LIT_OVERFLOW
+ * src/SDCC.y: moved early 'condition transformations' to SDCCast.c
+ * src/SDCCast.c (decorateType): added checkConstantRange,
+ added 'condition transformations' from SDCC.y so that now W_COMP_RANGE
+ can be emitted with the correct always true/false warning,
+ added optimization for double '!';
+ result of decorateType() must be assigned back to the tree, because
+ decorateType() can change the tree
+ * src/SDCCicode.c (geniCodeLogic),
+ (geniCodeAssign): replaced new checkConstantRange, added warnings,
+ (checkConstantRange): removed, it was only a fragment which never
+ emitted a warning
+ * src/SDCCsymt.c (computeType): fixed promotion for
+ "-1 < (unsigned bit) b"
+ * src/pic/ralloc.c (packRegsForAssign),
+ * src/pic16/ralloc.c (packRegsForAssign),
+ * src/hc08/ralloc.c (packRegsForAssign),
+ * src/z80/ralloc.c (packRegsForAssign): ported fix for bug #930931
+ from mcs51
+ * src/mcs51/ralloc.c (packRegsForAssign): removed outcommented source
+ * support/regression/tests/constantRange.c: added
+ * support/valdiag/tests/constantRange.c: added
+ * support/valdiag/valdiag.py: added -DPORT_HOST=1
+
+2006-06-02 Borut Razem <borut.razem AT siol.net>
+
+ * support/regression/ports/pic16/support.c: increase stack size
+ to 255 bytes
+ * support/regression/Makefile.in: sort tests by name so that the
+ resutlts can be compared on different machines / platforms
+
+2006-06-02 Maarten Brock <sourceforge.brock AT dse.nl>
+
+ * device/lib/printf_large.c (output_digit): optimized further, Tnx Frieder
+ * src/ds390/gen.c (emitLabel): new, added,
+ (genDjnz): fixed stack overflow bug,
+ (throughout): cosmetic changes to sync with mcs51/gen.c,
+ replaced emitcode("", "%05d$:", lbl->key + 100) with emitLabel(lbl)
+ * src/mcs51/gen.c (genEndFunction): small optimization,
+ (throughout): cosmetic changes to sync with ds390/gen.c
+
+2006-06-02 Maarten Brock <sourceforge.brock AT dse.nl>
+
+ * device/lib/printf_large.c (output_digit, calculate_digit): optimized,
+ (_print_format): fixed printing pointers
+ * src/mcs51/gen.c (emitLabel, movb): new, added,
+ (genAssign): small optimization,
+ (genDjnz): fixed stack overflow bug,
+ (throughout): replaced sprintf with SNPRINTF,
+ replaced mcs51_regWithIdx with REG_WITH_INDEX,
+ replaced emitcode("mov", "b,...") with MOVB(...),
+ replaced emitcode("", "%05d$:", lbl->key + 100) with emitLabel(lbl),
+ replaced D(emitcode("; genXXX", "")) with D(emitcode(";", "genXXX"))
+ * src/mcs51/peeph.def: added rules 140 and 264
+ * src/SDCCmem.c (allocLocal): store register declared locals in DSEG/OSEG
+ so they may get optimized into registers
+
2006-05-30 Maarten Brock <sourceforge.brock AT dse.nl>
* src/SDCCmain.c (optionsTable, parseCmdLine): handle --use-stdout
* src/SDCCast.c (isLoopCountable): fixed bug #1478316
(processParms): fixed bug #1247551
* src/SDCCmain.c (printVersionInfo, printOptions, printUsage,
- parseCmdLine, main): print version to stdout, help to stdout on
- windows and to stderr on all the rest; exit with EXIT_FAILURE if
- no arguments given
+ parseCmdLine, main): print '--version' to stdout,
+ print 'help' to stdout if --help is given,
+ print 'help' to stderr and exit with EXIT_FAILURE if no or bad
+ arguments are given; fixed --help
2006-05-27 Bernhard Held <bernhard AT bernhardheld.de>