X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=ChangeLog;h=3380536a0e55d4d47c4b0437724478eb0eaffcd5;hb=b2c2579dd84588d36b75aac7b89101d2ab78a274;hp=5b3e2f46d69fb6e215093e8e471c901510280cce;hpb=516e6dd59479a521b181159b8c9a0a5e955df5d1;p=fw%2Fsdcc diff --git a/ChangeLog b/ChangeLog index 5b3e2f46..b47ef8cf 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,1394 @@ +2006-08-01 Maarten Brock + + * sim/ucsim/z80.src/z80mac.h (add_u16_disp): use explicit signed char cast + +2006-07-31 Borut Razem + + * sim/ucsim/configure, sim/ucsim/cmd.src/newcmdcl.h, + sim/ucsim/cmd.src/newcmd.cc, sim/ucsim/cmd.src/cmdutil.cc, + sim/ucsim/z80.src/Makefile.in, sim/ucsim/configure.in, + sim/ucsim/hc08.src/Makefile.in, sim/ucsim/hc08.src/hc08.cc, + sim/ucsim/ddconfig_in.h, sim/ucsim/s51.src/Makefile.in, + sim/ucsim/s51.src/uc51cl.h, sim/ucsim/s51.src/serialcl.h, + sim/ucsim/s51.src/uc51.cc, sim/ucsim/s51.src/serial.cc, + sim/ucsim/app.cc, sim/ucsim/avr.src/Makefile.in: + enable ucsim mingw compilation. Serial port is disabled, + since it uses termios.h API, which is not available on native + WIN32 + +2006-07-31 Borut Razem + + * Small Device C Compiler 2.6.0 released + * support/scripts/sdcc.nsi: added FULL_DOC option + * .version, doc/sdccman.lyx: changed sdcc version to 2.6.1 + +2006-07-28 Borut Razem + + * support/scripts/sdcc.nsi: remove $INSTDIR/include/asm/pic16/*.h + * doc/INSTALL.txt: updated + +2006-07-27 Borut Razem + + * device/lib/pic/Makefile.in, device/lib/pic/Makefile.subdir, + device/lib/pic/libdev/Makefile.in: fixed bug + [ 1438354 ] pic libsdcc: distclean doesn't work + * device/lib/pic16/Makefile.in, device/lib/pic16/Makefile.subdir, + device/lib/pic16/libio/Makefile.in: fixed bug + [ 1438344 ] pic16 lib: clean doesn't work properly + * doc/knownbugs.html removed [ 1438354 ] and [ 1438344 ] from the list + +2006-07-26 Maarten Brock + + * device/lib/pic/libsdcc/fsdiv.c, + * device/lib/pic/libsdcc/fsmul.c, + * device/lib/pic16/libsdcc/float/fsdiv.c, + * device/lib/pic16/libsdcc/float/fsmul.c, + * device/lib/_fsdiv.c, + * device/lib/_fsmul.c: bugfix, handle too large and too small numbers + * support/regression/tests/bug1520966.c: added + * doc/knownbugs.html: removed [ 1520966 ] from the list + +2006-07-25 Borut Razem + + * configure.in, configure, sdccconf_in.h: fixed bug + [ 1519095 ] regression test onebyte.c fails on ppc64 host + * doc/knownbugs.html: removed [ 1519095 ] from the list + +2006-07-25 Maarten Brock + + * doc/knownbugs.html: added, contains list of known bugs at release + * device/include/mcs51/compiler.h: fixed SFR32 for SDCC + +2006-07-23 Maarten Brock + + * device/include/mcs51/compiler.h: added SFRX for xdata based special + function registers and corrected defaults with additional warning + * device/lib/malloc.c: cosmetic changes + * device/lib/realloc.c: bugfix for bug #1496907, Thanks Efim Monyak + * src/ds390/ralloc.c (getRegBitNoSpil): reenabled, + (fillGaps): and used it + +2006-07-20 Raphael Neider + + * src/pic/device.c (addMemRange,assignRegister): suppress verbose + output unless SDCCPICDEBUG is set + * device/lib/pic16/Makefile.rules (%.lib target): suppress verbose + output if SILENT is set + +2006-07-11 Borut Razem + + * doc/README.txt: updated + +2006-07-10 Borut Razem + + * support/scripts/sdcc.nsi: added device/include/asm/pic/features.h and + device/lib/src/pic/libm/*.c and device/lib/src/pic16/libsdcc/stack/*.S + in WIN32 installation + * .version, sdcc.spec, doc/sdccman.lyx: changed sdcc version to 2.6.0 - + release candidate 1 + +2006-07-08 Maarten Brock + + * device/include/mcs51/XC866.h: added sbit definitions for Px_x, P1_x, P2_x + * src/pic16/glue.c (initPointer): fixed bug 1496419 for pic16 + +2006-07-06 Maarten Brock + + * src/hc08/gen.c (genAddrOf): fixed bug when offset on stack is >127 + +2006-07-06 Borut Razem + + * support/regression/tests/bitfields.c: + fixed bug [ 1518322 ] regression test bitfields fails on ppc hosts + * support/regression/tests/constantRange.c: + fixed bug [ 1518317 ] regression test constantRange fails on alpha host + +2006-07-04 Borut Razem + + * src/configure.in, src/configure, src/Makefile.in, as/z80/Makefile.in, + src/port.mk, + src/avr/Makefile.in, src/ds390/Makefile.in, src/ds400/Makefile.in, + src/hc08/Makefile.in, src/mcs51/Makefile.in, src/pic16/Makefile.in, + src/pic/Makefile.in, src/xa51/Makefile.in, src/z80/Makefile.in: + reverted changes from 2006-07-03 + * Makefile.common.in: added @CPPFLAGS@ to CPPFLAGS + * support/regression/Makefile.in, support/regression/ports/host/spec.mk: + added CPPFLAGS, used by the host port + +2006-07-03 Bernhard Held + + * support/regression/valdiag/tests/switch.c, + * support/regression/valdiag/tests/constantRange.c: adapted to gcc 4 + * support/regression/tests/libmullong.c: fixed for host + * support/regression/ports/host/spec.mk: disable all warnings for host, + SDCC runs with --less-pedantic too + +2006-07-03 Borut Razem + + * src/configure.in, src/configure, src/Makefile.in, as/z80/Makefile.in: + defined CPPFLAGS + * src/port.mk: defined CPPFLAGS, renamed to src/port.mk.in + * src/avr/Makefile.in, src/ds390/Makefile.in, src/ds400/Makefile.in, + src/hc08/Makefile.in, src/mcs51/Makefile.in, src/pic16/Makefile.in, + src/pic/Makefile.in, src/xa51/Makefile.in, src/z80/Makefile.in: + include ../port.mk + * sim/ucsim/main_in.mk, sim/ucsim/avr.src/Makefile.in, + sim/ucsim/gui.src/Makefile.in, sim/ucsim/hc08.src/Makefile.in, + sim/ucsim/s52.src/Makefile.in, sim/ucsim/sim.src/Makefile.in, + sim/ucsim/xa.src/Makefile.in: ignore header files for dependencies + +2006-07-02 Raphael Neider + + * src/pic16/devices.inc, + * device/include/pic16/pic18fregs.h, + * device/include/pic16/pic18f4550.h, + * device/lib/pic16/pics.all, + * device/lib/pic16/libdev/pic18f4550.c: added support for 18f4550 + +2006-07-01 Bernhard Held + + * as/hc08/lkaomf51.c (OutputName), + * as/mcs51/lkaomf51.c (OutputName), + * as/z80/asmain.c (asmbl), + * src/ds390/main.c (asmLineNodeFromLineNode), + * src/hc08/ralloc.c (hc08_assignRegisters), + * src/mcs51/main.c (asmLineNodeFromLineNode), + * src/xa51/ralloc.c (checkRegMask), + * src/xa51/gen.c (emitcode), + * src/z80/gen.c (_emit2), + * src/SDCCast.c (searchLitOp), + * src/SDCCglobl.h, + * support/packihx/packihx.c, + * support/Util/MySystem.c (split_command): fix gcc 4 warnings + * src/ds390/gen.c (aopPutUsesAcc), + * src/ds390/ralloc.c (getRegBitNoSpil): unused, therefore disabled + * support/regression/tests/libmullong.c (mullong_wrapper), + * src/SDCCsymt.c (powof2), + * src/SDCCast.c, + * src/SDCCicode.c: renamed TYPE_WORD by TYPE_TARGET_INT and so on + * src/SDCCsymt.h: added TYPE_TARGET_* + * src/SDCCutil.c (doubleFromFixed16x16, fixed16x16FromDouble), + * src/SDCCutil.h (doubleFromFixed16x16, fixed16x16FromDouble): moved to + SDCCast because 1) header problems 2) this is the right place + * src/SDCCast.c (doubleFromFixed16x16, fixed16x16FromDouble): added + * src/SDCCval.h (doubleFromFixed16x16, fixed16x16FromDouble): added + prototype + +2006-06-29 Bernhard Held + + * src/SDCCicode.h: removed buggy semicolon in unused macro + * src/SDCClrange.c (findPrevUseSym, rlivePoint): fixed bug #1486853, + search for previous definiton of auto symbols too, + (findPrevUse): fixed logic of emitWarnings + +2006-06-26 Raphael Neider + + * src/pic16/gen.c (genFunction, genEndFunction): also preserve + PCLATH and PCLATU on interrupts, potentially fixes #1505141 + +2006-06-25 Raphael Neider + + * device/lib/pic/libm: NEW, added math library functions + * device/lib/pic/libsdcc: NEW; added float support functions + * device/lib/pic/{Makefile.in,configure.in,configure}: added libm/ + * device/include/pic/{limits.h,errno.h,sdcc-lib.h,float.h,math.h}: + NEW, added math related headers + * device/include/asm/pic/features.h: NEW + * src/pic/gen.c (emitpcode_real): emit warning on NULL pCodeOp, + (popGet): allow larger offsets for AOP_PCODE, + (genDataPointerSet): handle literals explicitly, more debug output, + (genAssign): fixed for float using aopLiteral ;-) + * src/pic/glue.c (pic14createInterruptVect): inserted pagesel before + GOTO initialisation routine + * src/pic/pcoderegs.c (pCodeRegMapLiveRangesInFlow): set wasUsed + flag on registers, fixes #1469043 (local variables do not work) + * src/pic/main.c (_pic14_do_link), + * src/pic16/main.c (_pic16_linkEdit): use fullDstFileName if + available + +2006-06-25 Borut Razem + + * device/lib/pic16/libc/stdio/sprintf.c: return the number of + characters printed (not including the trailing '/0' used to end + output to strings). Problem detected in regression test bug-927659.c. + NOTE: printf() family functions should return int instead + unsigned int! + * device/lib/pic16/libc/stdio/vfprintf.c: "%%" prints "%", unknown + specifier are printed as themselves + * sdcc/support/regression/tests/bug1057979.c: pic16 printf doesn't + support flags, width and precision specifiers + +2006-06-24 Borut Razem + + * sdcc/support/regression/tests/bitvars.c: added gbz80, pic16 and pic16 + to the list of sdcc tagrets not supporting bit type + * sdcc/support/regression/tests/bug-905992.c.c: excluded regression + testfor pic16 due to bug: + [ 1511794 ] pic16: regression test bug-895992.c fails + +2006-06-24 Maarten Brock + + * src/mcs51/gen.c (genCmp): optimization for RFE 1162453 + * src/SDCCglue.c (initPointer), fixed bug 1496419 + * support/regression/tests/bug1496419.c: new, added + +2006-06-22 Borut Razem + + * support/regression/ports/pic16/support.c: use gpsim usart module from + libgpsim_modules library + +2006-06-21 Jesus Calvino-Fraga + + * device/include/mcs51/at89c51ed2.h: Fixed bug 1510144 changed + IP0H to IPH0. + +2006-06-19 Raphael Neider + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * sdcc/device/lib/Makefile.in: corrected PORTINCDIR path + +2006-06-17 Frieder Ferlemann + + * doc/sdccman.lyx: updated, added (porting source code, debugging), + mentioned ec2drv and paulmon + +2006-06-16 Maarten Brock + + * 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 + + * src/pic16/gen.c (shiftR2Left2Result): fixed bug #1507127 + +2006-06-13 Maarten Brock + + * debugger/mcs51/cmd.c (cmdListFunctions): fixed bugs 1181163 and + 1208515 + * src/SDCClrange.c (findPrevUse): fixed bug 1294475 + +2006-06-13 Vangelis Rokas + + * 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 + + * 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 + + * device/lib/printf_tiny.c: fixed bug #1465675 (%x format specifier) + +2006-06-12 Bernhard Held + + * src/SDCCast.c (backPatchLabels): fixed bug #1504636 + +2006-06-11 Maarten Brock + + * device/lib/printf_large.c (OUTPUT_CHAR, _output_char): added and used + for optimization + +2006-06-11 Vangelis Rokas + + * 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 + + * CVSROOT: removed the CVS left-over + +2006-06-10 Maarten Brock + + * 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 + + * src/pic16/gen.c (pic16_aopOp): use WREG as destination even for + multibyte dummy reads (fixes #1503234) + +2006-06-10 Maarten Brock + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * src/SDCCmain.c (optionsTable, parseCmdLine): handle --use-stdout + immediately when encountered, + (printUsage): always use stderr even on windows + +2006-05-30 Bernhard Held + + * src/SDCCast.c (isLoopCountable): fixed bug #1478316 + (processParms): fixed bug #1247551 + * src/SDCCmain.c (printVersionInfo, printOptions, printUsage, + 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 + + * src/SDCCcse.c (findPointerSet): fixed bug #1493710 + * support/regression/tests/bug-1493710.c: added + +2006-05-27 Borut Razem + + * support/regression/fwk/lib/testfwk.c: define array in _printn() as + static instead auto + * support/regression/ports/pic16/support.c: increase stack size + from default 64 bytes to 128 bytes + * support/regression/tests/staticinit.c, + support/regression/tests/float.c: regression tests fully enabled + for pic16 port by putting the initialized data arrays into the code + section + * support/regression/ports/pic16/spec.mk: don't link default libraries. + This was changed by mistake in the previous version. + +2006-05-28 Vangelis Rokas + + * src/pic16/gen.c (genFunction, genEndFunction): some + beautifications, fixed bug with falsely restoring FSR2 in large + stack model, thanks to Beau E. Cox for reporting the bug + +2006-05-26 Maarten Brock + + * debugger/mcs51/break.c, + * debugger/mcs51/cmd.c (throughout): removed unused variables and labels, + use %p to print pointers, made address variables unsigned + * debugger/mcs51/cmd.c (infoSymbols): added missing parameter to printf + * debugger/mcs51/symtab.c (parseSymbol): must return something + * src/mcs51/gen.c (aopForSym): small optimization, + moved declarations mcs51_ptrRegReq and mcs51_nRegs to ralloc.h, + (freeAsmop): added missing break, + (aopPut): removed parameter bvolatile, determine it inside the function, + (saveRegisters, unsaveRegisters): small optimization, + (genIpush): removed pointless check, + (throughout): replaced Safe_calloc, strcpy with Safe_strdup, + replaced sprintf with SNPRINTF, + replaced strcpy with strncpyz, + updated aopPut calls, + replaced D(emitcode("; genXXX", "")) with D(emitcode(";", "genXXX")) + * src/mcs51/ralloc.h: added declarations mcs51_ptrRegReq and mcs51_nRegs + +2006-05-24 Borut Razem + + * support/regression/tests/bug-221100.c: fixed xdata problem caused by + modification of test for the pic16 port, put the array to the code + memory for pic16port; thanks to Maarten Brock and Frieder Ferlemann + +2006-05-23 Jesus Calvino-Fraga + + * src/pic/gen.c: MSC 6 does not have . Use pstdint.h instead. + * support/Util/pstdint.h: added + +2006-05-22 Borut Razem + + * src/regression/Makefile: removed bool2.c test, added -q linker option + * src/regression/add2.c, src/regression/add3.c, src/regression/bool1.c, + src/regression/bool3.c, src/regression/nestfor.c, src/regression/ptrfunc.c, + src/regression/compare.c, src/regression/or1.c, src/regression/compare2.c, + src/regression/while.c, src/regression/compare3.c, src/regression/compare4.c, + src/regression/compare5.c, src/regression/sub2.c, src/regression/rotate1.c, + src/regression/rotate2.c, src/regression/rotate3.c, src/regression/rotate4.c, + src/regression/switch1.c, src/regression/rotate5.c, src/regression/for.c, + src/regression/add.c, src/regression/sub.c, src/regression/call1.c: + define SUPPORT_BIT_TYPES 0, removed unused bit variables + +2006-05-22 Raphael Neider + + * src/pic16/gen.c (pic16_storeForReturn): fragile fix for + bug #1492360 (problematic due to generic pointers, see code) + +2006-05-22 Borut Razem + + * support/regression/ports/pic16/specs.mk: removed stack size linker + directive + * support/regression/tests/array.c, + support/regression/tests/bitopcse.c, + support/regression/tests/bug-908454.c, + support/regression/tests/malloc.c: modified for pic16 regression test + * support/regression/tests/bitfields.c: + pic16 - excluded bitfileds of size > 8 + * support/regression/tests/bp.c: pic16 - reduced data size + * support/regression/tests/bug-221100.c: pic16 - reduced data size + * support/regression/tests/bug-460010.c: + pic16 - used the absolute address the fits in memory + * support/regression/tests/bug-716242.c: + bug [ 1443651 ] pic 16: redefining symbol that cannot be redefined. + * support/regression/tests/float.c: + pic16 - excluded - data size too big + * support/regression/tests/onebyte.c: + pic16 - bug [ 1444425 ] onebyte.c regression tes fails on pic16 + * support/regression/tests/shifts.c: + pic16 - function names probably have to differ in first X characters + (gpasm limitation?) + * support/regression/tests/staticinit.c: + pic16 - excluded some tests due error: no target memory available for + section ".idata" + +2006-05-22 Borut Razem + + * support/Util/dbuf.c: fixed bug #1489008 fix dbuf_c_str(), + second try. Thanks Stas Sergeev once more. + +2006-05-21 Maarten Brock + + * src/hc08/gen.c (transferAopAop): aop forced to stack was not restored, + (genLeftShift, genRightShift): fixed bug 1491627 + * src/hc08/peeph.def (rules 7, 8.x): added + * support/regression/tests/shifts.c (ShiftLeftByParam, + ShiftRightByParam, testShiftByParam): added to test variable shifting + +2006-05-20 Raphael Neider + + * src/pic/gen.c (bitpatternFromVal): fixed for 64-bit machines + * src/pic16/ralloc.c (newReg): use correct name in hashtable, + (allocReg): add only new registers to dynAllocRegs, + (pic16_assignRegisters): do not reset dynrIdx, fixes bugs + #1489055, #1445850, and probably #1483693 + +2006-05-19 Vangelis Rokas + + * src/pic16/glue.c (pic16_emitConfigRegs, pic16_emitIDRegs): fixed + bug in for-loop that didn't emit the last of CONFIG and ID registers + +2006-05-18 Maarten Brock + + * src/mcs51/gen.c (genCodePointerGet): inc dptr instead of loading acc + with offset + * src/mcs51/peeph.def (186.x): updated and reenabled to fix bugs + 1489016, 1434401 and 1490124 + * src/ds390/peeph.def (186.x, 227.x): updated and reenabled to fix bugs + 1489016, 1434401 and 1490124 + +2006-05-17 Borut Razem + + * support/Util/dbuf.c: fixed bug #1489008 fix dbuf_c_str(), + thanks Stas Sergeev + +2006-05-15 Maarten Brock + + * device/include/mcs51/P89c51RD2.h, + * device/include/mcs51/P89LPC901.h, + * device/include/mcs51/P89LPC922.h, + * device/include/mcs51/P89LPC932.h: added, thanks Omar Espinosa + +2006-05-14 Vangelis Rokas + + * device/lib/pic16/libsdcc/stack/{stack.S, Makefile.in}: add workaround + to fix missing stack pragma in compiled binary object file, + +2006-05-14 Bernhard Held + + * support/packihx/configure.in, + * support/packihx/configure: removed warning, autoconf >= 2.5x can + determine sizeof basic types even while cross compiling + +2006-05-13 Bernhard Held + + * src/avr/gen.c (aopop), + * src/ds390/gen.c (aopOp), + * src/hc08/gen.c (aopOp), + * src/mcs51/gen.c (aopop), + * src/pic16/gen.c (pic16_aopOp), + * src/pic/gen.c (aopOp), + * src/z80/gen.c (aopop): fix for bug #1479882; use new, exclusive asmop + if size of operand is smaller than spill location + +2006-05-12 Borut Razem + + * *.dsw, *.dsp: changed property svn:eol-style to CRLF since they + have to have CR/LF line endings even if they are checked out on *nix + or on WIN32 in cygwin binmode + +2006-05-12 Maarten Brock + + * doc/sdccman.lyx: documented numeric ranges, WEBDOC #1442369 + * device/include/ds80c390.h: added sfr16 definitions + * src/ds390/gen.c, + * src/ds390/gen.h, + * src/ds390/main.c, + * src/ds390/ralloc.c, + * src/ds390/ralloc.h: changes all over the place to sync with mcs51 + fixing several bugs and adding sfr16/sfr32, reentrant bit params, + bit returning functions + * support/regression/tests/sfr16.c: enabled test on ds390 + +2006-05-11 Erik Petrich + + * src/hc08/gen.c (asmopToBool, genIfx): fix for bug #1429722 + * src/hc08/gen.c (storeRegToAop): fix for bug #1439894 + +2006-05-11 Maarten Brock + + * sim/ucsim/sim.src/memcl.h: added get_decoder() to cl_address_space + * sim/ucsim/sim.src/mem.cc: implemented cl_address_space::get_decoder, + (cl_address_space constructor): removed expensive initialization, + (cl_address_space::get_cell): extended for late initialization, + (cl_address_space::*): use late initialization, + (cl_address_decoder::activate): removed expensive initialization, + This reduced regression test running time by 25% + +2006-05-11 Bernhard Held + + * packihx/, + * configure.in, + * configure, + * sdcc.dsw, + * Makefile.bcc, + * Makefile.in, + * support/packihx/Makefile.in, + * support/packihx/clean.mk, + * support/packihx/Makefile.bcc, + * support/packihx/PackIhx.dsp: moved packihx to support/packihx + +2006-05-11 Erik Petrich + + * src/SDCCval.c (valNot): fix for regression test failure + of not.c on big endian hosts + +2006-05-10 Maarten Brock + + * device/inlcude/mcs51/msc1210.h: new, added, thanks Philippe Latu + +2006-05-10 Erik Petrich + + * device/lib/mcs51/Makefile.in: changed string comparison operator + to = for POSIX compliance; == is bash extension + +2006-05-10 Maarten Brock + + * device/lib/hc08/_mulint.c: applied patch 1485428, thanks + kosmonaut_pirx + +2006-05-09 Vangelis Rokas + + * src/pic16/gen.c (pic16_freeAsmop): release any temp registers + allocated by aopForSym thus fixing bug #1478657 about failed testfwk.c + * src/pic16/main.c (_pic16_keywords): added 'sfr16' keyword, + * src/pic16/ralloc.c (pic16_allocWithIdx): also a fix for bug exposed by + bug report #1478657, + +2006-05-05 Borut Razem + + * doc/Makefile.in: remove of WARNINGS and labels.pl immediately after + making the html + +2006-05-02 Borut Razem + + * doc/Makefile.in: removed *.ind dependency since there is no rule to + create *.ind, which made make to fail if invoked with -j 2 + +2006-05-01 Maarten Brock + + * src/SDCCglue.c (emitRegularMap): partial fix for bug 1477149, thanks + Hubert Sack for patch 1479782 + +2006-05-01 Vangelis Rokas + + * src/pic16/glue.c (pic16_printIvalStruct): fixed bug #1445929 + +2006-05-01 Raphael Neider + + * src/pic/device.c (sanitise_processor_name): only remove p(ic) prefix, + (create_pic): store only prefix-free device name, + (init_pic): check for device names with "16" prefix, + (list_valid_pics), + * src/pic/device.h (struct PIC_device), + * src/pic/main.c (_pic14_genAssemblerPreamble): adapted to single + stored device name, + * device/include/pic/pic12f{635,675,629,683}.h, + * device/lib/pic/libdev/pic12f{635,675,629,683}.c: NEW device libraries + * device/lib/pic/libdev/Makefile.in: allow pic12* devices, + * device/include/pic/pic16f505.h, + * device/lib/pic/libdev/pic16f505.c: removed + * device/include/pic/pic14devices.txt: added support for pic12f + devices, removed unsupported non 16-bit devices + [above changes provided by patch from Zik Saleeba] + * src/pic/*, src/pic16/*, device/include/pic16/*, + device/lib/pic/**, device/lib/pic16/**: obfuscated email address + +2006-05-01 Borut Razem + + * configure.in, configure, doc/Makefile.in: + sync with nightly build makefile - latex, dvipdf and dvips + not needed any more + +2006-04-30 Bernhard Held + + * support/scripts/sdcc.nsi: removed all Readmes and Makefiles + in the library source + +2006-04-30 Maarten Brock + + * support/regression/ports/hc08/spec.mk: fixed bug 1478892 + +2006-04-28 Raphael Neider + + * src/pic16/pcode.c (pic16_newpCodeOpLit12), + * src/pic16/gen.c (pic16_popGetLit12): NEW, create 12 bit literal, + (pic16_loadFSR0): handle 12 bit literals correctly, fixes #1440527 + * src/pic16/pcode.h: added prototype for pic16_newpCodeOpLit12() + +2006-04-28 Bernhard Held + + * device/lib/pic/libdev/Makefile.in, + * device/lib/hc08/Makefile.in, + * device/lib/gbz80/Makefile.in, + * device/lib/z80/Makefile.in, + * device/lib/ds390/Makefile.in, + * device/lib/ds400/Makefile.in: added srcdir to include search path, + thanks to Borut for the bug report + * configure.in, + * configure: always create doc/Makefile independent from --enable-doc + * Makefile.in: always install from directory doc independent from + --enable-doc + * device/lib/pic/Makefile.in: added libdev again, it was erroneously + removed + * device/lib/pic/libdev/Makefile.in: fixed VPATH build + * doc/Makefile.in: install *.txt if present + * device/include/Makefile.in (install): added installation of pic/*.inc + and pic/*.txt files again, they were erroneously removed + +2006-04-28 Raphael Neider + + * src/pic/{gen.c,main.h,pcode.c}, + * src/pic16/{gen.c,pcode.c}: quietened compiler warnings + concerning signedness with casts + +2006-04-28 Raphael Neider + + * src/pic/gen.c (genFunction): set global pic14_hasInterrupt on + definition of an interrupt handler, + * src/pic/glue.c (pic14_emitInterruptHandler): moved output of + interrupt handler stuff from picglue() to separate routine, + (picglue): enabled definition of intr handlers in files w/o main() + +2006-04-26 Maarten Brock + + * support/librarian/sdcclib.c: moved include up to enable + compilation with MSVC 2005 Express Edition (VC8) + +2006-04-26 Bernhard Held + + * device/lib/Makefile: fixed build of gbz80 lib + +2006-04-26 Maarten Brock + + * support/regression/tests/bug-460010.c, + * support/regression/tests/bug-524691.c, + * support/regression/tests/bug-716242.c: removed conditional defines + that are already in testfwk.h + +2006-04-25 Maarten Brock + + * src/ds390/gen.c (AccAXRrl1, AccAXLrl1): changed to real rotate by 1, + (AccAXRsh1): added, shift right by 1, + (AccAXLsh, AccAXRsh, AccAXRshS): updated for AccAXRrl1, AccAXRsh1 and + AccAXLrl1 + * support/regression/tests/rotate.c: use and enabled ds390 + +2006-04-25 Bernhard Held + + * src/SDCCast.c (decorateType): partial fix for RFE 1475769, + remove cast to same type + * src/SDCCast.c (decorateType): fix for RFE 1475742, + optimize 'ifx (op == 0)' resp. 'ifx (op != 0)' + * as/z80/Makefile, + * link/z80/Makefile: removed, they have moved to + Makefile.in files + * configure, + * configure.in: replaced duplicate message about ucsim by missing sdcpp + * install-sh: fix bug #1204398 by setting umask 0022 + * device/lib/Makefile: separate build of z80 and gbz80 lib + +2006-04-24 Bernhard Held + + Enabled VPATH feature: changed nearly all Makefiles (149 files). + See sdccman.lyx '2.4.10 VPATH feature' about how to use it. + + One basic decision: e.g. src/clean.mk includes further files. In order + to make this work there are two solutions: + - rename another dozen clean.mk to clean_in.mk, add srcdir to them and + run configure on them. This way they can use + 'include $(srcdir)/port-clean.mk' + - always include clean.mk by the Makefile at the same level. To avoid + that `make clean` tries to include and build Makefile.dep the + MAKECMDGOALS are examined (see e.g. src/Makefile.in). This has been + implemented, because now even `make uninstall` doesn't create + Makefile.in. clean.mk could be eliminated by pasting it in + Makefile.in. + + * debugger/mcs51/Makefile.in: build own objects from library sources + (SLIB, SDCC) in current directory + + * configure, configure.in: renamed --disable-device-lib-build in + --disable-device-lib; added --enable-doc, the required tools are + searched by configure; added result message; the toolchain for the + belonging ports are now only built, if the port is enabled. + + * support/regression/*: all output is written in directory gen, because + the fwk and ports directories don't livet in the build tree using vpath + + * doc/sdccman.lyx: renamed --disable-device-lib-build to + --disable-device-lib, added --enable-doc, added section VPATH + + * sim/ucsim/configure.in, + * sim/ucsim/configure.in: hc08 couldn't be disabled, now hc08 and + z80 are enabled by default + +2006-04-24 Raphael Neider + + * src/pic/device.c (pic14_assignConfigWordValue): remember assignments + to config word, "pic14_"-prefixed some extern functions + (pic14_emitConfigWord): emit __config directive(s) if assignment to + config word has been found + * src/pic/device.h: added prototypes + * src/pic/pcode.c: added "pic14_"-prefix where needed + * src/pic/ralloc.c (IS_CONFIG_ADDRESS,pic14_assignRegisters): cosmetic + fixup + * src/pic/glue.c (pic14_constructAbsMap): handle assignments to config + words, + (pic14emitRegularMap): ignore config words, + (pic14createInterruptVect): moved generating __config directives away + (picglue): have __config directives emitted + +2006-04-24 Borut Razem + + * doc/Makefile: sync with nightly build makefile + +2006-04-24 Raphael Neider + + * src/pic/pcoderegs.c (OptimizeRegUsage): do not optimize + registers that have not been assigned proper liveranges, + fixes #1469504 and #1474602, + (pCodeRegOptimizeRegUsage): fixed typo in comment + +2006-04-24 Borut Razem + + * device/examples/main8051.c: deleted - it was removed from CVS + 24.mar.2000 and after that modified 18.feb.2001, so it reappered + after the transition to Subversion + * src/SDCCalloc.h: deleted - it was removed from CVS + 3.feb.2001 and after that modified 18.feb.2001, so it reappered + after the transition to Subversion + * sim/ucsim/cpu.gif, sim/ucsim/interrupt.gif, sim/ucsim/new.gif, + sim/ucsim/serial1.gif, sim/ucsim/serial2.gif, + sim/ucsim/term_cpuopt.gif, sim/ucsim/timers.gif, sim/ucsim/wins.gif, + sim/ucsim/post.jpg, sim/ucsim/UCsim.jpg: corrected + +2006-04-22 Maarten Brock + + * as/asx8051.dsp: added mcs51/strcmpi.h + * as/hc08/as_hc08.dsp: added asm.h, m6808.h, strcmpi.h + * as/hc08/aslink.h: updated lnksect prototype + * as/hc08/asm.h, + * as/mcs51/asm.h: added a_addr to struct area and s_org to struct sym + * as/hc08/asmain.c, + * as/mcs51/asmain.c (asmbl): init dot.s_org for S_ORG, + (newdot): handle A_ABS + * as/hc08/asout.c, + * as/mcs51/asout.c (outarea): output address + * as/hc08/lkaomf51.c, + * as/mcs51/lkaomf51.c: disabled unused array UsageType + * as/hc08/m08pst.c, + * as/mcs51/i51pst.c, + * as/z80/z80pst.c: "ABS" is not A_OVR + * as/hc08/lkarea.c (newarea): read a_addr, + (lnkarea): added codemap array, sort absolute areas to the front, + combine all GSINITx/GSFINAL, + (find_empty_space, allocate_space): new functions, + (lnksect): return next address, handle absolute sections + * as/mcs51/lkarea.c (newarea): read a_addr, + lnksect2 prototype changed, + (lnkarea2): define codemap unsigned, combine all GSINITx/GSFINAL, + (find_empty_space, allocate_space): new, factored out of lnksect2, + (lnksect2): return next address, handle absolute sections + * as/hc08/lkhead.c, + * as/mcs51/lkhead.c (newhead): head is absolute but not overlay + * as/hc08/lklibr.c (addfile, fndsym), + * as/mcs51/lklibr.c (addfile, buildlibraryindex, fndsym): prevent + index out of range and detect both '/' and '/' + * device/include/mcs51/c8051f200.h: added _XPAGE, removed bad comment + * device/include/stdbool.h: removed SDCC_ds390 from check to pass + regression tests (ds390 cannot return bool yet) + * doc/sdccman.lyx: changed version number, document changed --no-peep, + document critical interrupts on z80, document changed SDCC define + * src/asm.c (_asxxxx_mapping): fixed .org directive, + (_a390_mapping): added .org directive + * src/hc08/gen.c (transferAopAop): made bytemask log to fix warning, + (genMultOneByte): fixed warnings + * src/hc08/hc08.dsp: lowered warning level to 2 to suppress pedantic + ones + * src/pic16/device.c: removed newReg prototype, removed BYTE_IN_LONG + * src/pic16/gen.c (pic16_popGetLabel): made parameter key signed, + (pic16_genLeftShiftLiteral, genRightShiftLiteral): fixed warnings + * src/pic16/gen.h: changed prototype for pic16_popGetLabel + * src/pic16/main.c: removed newReg prototype + * src/pic16/pcode.c, + * src/pic16/pcode.h (pic16_emitDB): changed parameter c to int to fix + warnings + * src/pic16/pic16.dsp: lowered warning level to 2 to suppress pedantic + ones + * src/pic16/ralloc.c + * src/pic16/ralloc.h (newReg): changed type to int and size to unsigned + to fix warnings + * src/pic/pcode.c (allocInternalRegister): changed parameter optype + from short to PIC_OPTYPE + * src/pic/pic.dsp: lowered warning level to 2 to suppress pedantic ones + * src/pic/ralloc.c (newReg, allocInternalRegister): changed parameter + optype from short to PIC_OPTYPE + * src/port.h: made int_size unsigned to fix warnings + * src/SDCC.y: fixed warning on MSVC + * src/SDCCicode.c (getArraySizePtr): return unsigned int + * src/SDCCopt.c (convertToFcall): fixed warnings + * src/SDCCsymt.h: removed double prototype for genSymName + * src/xa51/ralloc.c (allocReg): made size unsigned int, type int and + offset int to fix warnings + +2006-04-22 Borut Razem + + * doc/sdccman.lyx, */Makefile, */Makefile.in: + references to CVS replaced with Subversion + +2006-04-21 Borut Razem + + * doc/sdccman.lyx, */Makefile, */Makefile.in: + references to CVS replaced with Subversion + +2006-04-19 Borut Razem + + * src/version.awk: adapted for svn + * /asxxxx/asxhtml/*.gif: set property svn:mime-type to image/gif + sim/ucsim/doc/*.gif: set property svn:mime-type to image/gif + sim/ucsim/doc/*.jpg: set property svn:mime-type to image/jpeg + /binutils-avr/etc/*.vi, *.jin: removed all properties + support/scripts/sdcc.ico: set property svn:mime-type to image/x-icon + +2006-04-19 Borut Razem + + * CVS to Subversion migration completed + +2006-04-18 Borut Razem + + * support/scripts/sdcc.nsi: removed unexisting ${DEV_ROOT}/lib/pic/*.o, + ${DEV_ROOT}/lib/src/pic/libdev/*.S, ${DEV_ROOT}/lib/src/pic/libdev/*.inc + +2006-04-17 Borut Razem + + * device/include/Makefile.in: added pic/*.inc to the installation + +2006-04-15 Bernhard Held + + * support/regression/collate-results.py: fixed output in case of + a valdiag error + * support/regression/generate-cases.py: fixed splitting of pathnames + with dots + * as/hc08/lklibr.c (addfile), + * as/mcs51/lklibr.c (addfile): fixed off-by-one bug + +2006-04-11 Raphael Neider + + * src/pic16/gen.c (getFreePtr, pic16_popRegFromString), + * src/pic16/ralloc.c (pic16_allocregWithName): removed debug output + * src/pic16/pcode.c (assignValnums): fixed #1460578 + +2006-04-11 Raphael Neider + + * device/lib/pic/libdev/*.c, + * device/include/pic/*.h: replaced sfr and data with __sfr and __data, + fixes #1468739, enables compilation in --std-c99 mode + * support/scripts/inc2h.pl: emit __sfr/__data instead of sfr/data + +2006-04-11 Raphael Neider + + * src/pic/device.c (find_device): removed debug output + (list_valid_pics): enabled verbose listing of supported devices + * device/include/stdbool.h: define bool as char for pic14/16 as well + +2006-04-07 Frieder Ferlemann + + * src/SDCC.y: allow using brackets here: "__interrupt (1) __using (1)" + +2006-04-07 Maarten Brock + + * .version: bumped version to 2.5.6 + * src/pic/ralloc.c (newReg): MSVC doesn't support __builtin_return_address + +2006-04-06 Raphael Neider + + * .version: bumped version to 2.5.6 (pic14 ABI changed) + * src/SDCCmain.c: add -DSDCC_PROCESSOR= for pic14 port + * src/pic/glue.c (emitSymbolToFile,pic14_constructAbsMap, + pic14emitRegularMap,pic14emitMaps): moved output for absolute symbols to + pic14_constructAbsMap + (pic14printPublics): declare absolute global symbols as global + (pic14createInterruptVect), + * src/pic/ralloc.c (IS_CONFIG_ADDRESS): support second config word, + (newReg): assume new registers unused, use correct name in + hashtable (reg->name instead of name), more debugLog output + * src/pic/device.h (PIC_device): added fields for verbose output + * src/pic/device.c: moved device definition to pic14devices.txt, + added routines for runtime parsing of pic14devices.txt, + added support for second config word + * src/pic/main.c (_process_pragma): removed #pragma maxram, + (_pic14_keywords): no longer accept "bit" and "sbit" keywords + (_pic14_initPaths): add search paths with "pic" suffix (not "pic14") + (_pic14_parseOptions): moved pCodeInitRegisters here + (_pic14_do_link): add "pic$(ARCH).lib" to linker arguments + * src/pic/pcode.c (AnalyzeBanking): bail out on unset processor, + (pCodeInitRegisters): rewrapped comments, perpared new approach to + handling the pseudo stack + * device/lib/Makefile.in: ignore failures in objects-pic16, + * device/lib/pic/{configure,configure.in,Makefile}: added libdev/ + * device/lib/pic/NEWS: document new dependency on picXXX.lib + * device/lib/pic/Makefile.subdir, + * device/lib/pic16/Makefile.subdir: improved clean rules + * device/lib/pic/libdev/: NEW, pic14 device libraries + * device/lib/pic/libsdcc/_gptr{get,put}{1,2,3,4}.S: use _X not X + * device/lib/pic/libsdcc/macros.inc: use _X not X, declare default SFRs + * device/include/Makefile.in: create subdir and install pic14 headers + * device/include/pic/p16f_common.inc: removed unused declarations + * device/include/pic/pic16*.h: added header files for 100+ 14 bit + PICs from inc2h.pl v1.6, + replaced BIT_AT macros with struct declarations + * device/include/pic/pic14devices.txt: definition of supported devices, + all above improvements contributed by Zik Saleeba, thanks + * support/scripts/inc2h.pl: removed BIT_AT, replaced with structs + * support/scripts/sdcc.nsi: also install pic14 device libraries and + headers + +2006-04-06 Maarten Brock + + * device/include/mcs51/c8051f410.h: added interrupt numbers, + * device/include/mcs51/c8051f200.h: old SiLabs mcu completes the list, + thanks to Charles Olds + +2006-04-06 Frieder Ferlemann + + * debugger/mcs51/cmd.c (infoRegisters): show return address on stack + +2006-04-06 Maarten Brock + + * src/SDCCpeeph.c (labelIsReturnOnly): fixed bug 1464657 + * src/mcs51/gen.c (genJumpTab): fixed bug in medium model + * support/regression/bug1464657.c: added, new test + +2006-04-05 Maarten Brock + + * src/SDCCmain.c (preProcess): implemented RFE 1449908, define SDCC as the + version number + +2006-04-05 Maarten Brock + + * src/SDCCpeeph.c (initPeepHole): implemented RFE 1460196, when both + --no-peep and --peep-file are used don't use default rules but + do use the + +2006-04-05 Maarten Brock + + * src/mcs51/gen.c (genCall): fixed bug 1457608 + +2006-03-30 Frieder Ferlemann + + * doc/sdccman.lyx: reverted to version 1.129 of december as my latest + changes seem to cause (trigger?) problems with the build system. + +2006-03-29 Maarten Brock + + * src/SDCCpeeph.c (operandsLiteral): new, added, + (callFuncByName): inserted operandsLiteral + * src/mcs51/peeph.def: reenabled 132.e, added extra check to 132.x + +2006-03-28 Frieder Ferlemann + + * doc/sdccman.lyx: added paragraph "Use of SDCC in Education" + * src/mcs51/peeph.def: disabled rule 132.e fixing bug #1453093 + +2006-03-24 Maarten Brock + + * src/z80/gen.c (genFunction, genEndFunction): fixed bug 1160666, + implemented patch 1120823 Thanks to Willy De la Court (normal + interrupts need an interrupt number now if they are made critical), + and enabled nesting of critical functions though not for gbz80 + (genCritical, genEndCritical): added functions + (genZ80Code): added cases for CRITICAL and ENDCRITICAL + * src/z80/mappings.i: added "ei" to all mappings + +2006-03-20 Frieder Ferlemann + + * sim/ucsim/cmd.src/newcmdcl.h: applied patch fixing GCC 4.1 build + submitted by the Debian SDCC maintainer Aurelien Jarno: + "Credits goes to Martin Michlmayr, who rebuilt the whole Debian + archive with gcc 4.1 on mips and wrote the patch" + +2006-03-16 Raphael Neider + + * src/pic16/genarith.c (genAddLit): simplified and fixed case where + the left operand is shorter than the result (c* = lit-c* + int), + fixes bug #1450796 + * src/pic16/gen.c (genRightShift): check IS_SYMOP before accessing + OP_SYMBOL + +2006-03-14 Vangelis Rokas + + * src/.version: increased version number to 2.5.5 + * src/SDCCmain.c (linkEdit): do not test for PIC16 target since, PIC16 + linking is done manually in pic16 port's _linkEdit, + * src/SDCCsymt.c (compStructSize): for target PIC16 and shell variable + PIC16_PACKED_BITFIELDS, compact bitfield structures as much as possible, + * src/pic16/gen.c (aopForSym): when direct register name is WREG then + allocate asmop as AOP_ACC, + (aopForRemat): added parameter 'bool result' in function declaration, + (pic16_aopGet): return AOP_ACC when accessing WREG, + (pic16_popGetTempReg): minor modification, + (pic16_popRegFromIdx): first try with 'pic16_regWithIdx' then with + 'pic16_allocWithIdx', + (genPcall): removed ftype, usage of OP_SYM_TYPE asserted error when + calling function in absolute addresses, + (genAssign): take into account AOP_ACC asmop, + * src/pic16/pcode.c (pic16_newpCodeOpReg): minor modifications, + * src/pic16/pcoderegs.c: some debug functions and lines added, + * src/pic16/ralloc.c (decodeRegType): added but commented out, + * (pic16_typeRegWithIdx): search 'pic16_dynInternalRegs' for given + register too, + * (pic16_findFreeReg, pic16_findFreeRegNext): allocate new register via + call to allocReg, not by manually allocating a new one, + (pic16_assignRegisters): now before going through the register + allocating functions mark all registers as free. This eliminates some + side effects resulting from peephole parser done earlier in the backbone + +2006-03-13 Maarten Brock + + * src/SDCCicode.c (geniCodeLogic), + * src/SDCCast.c (decorateType): applied patch by Bernhard for rfe 1422617 + +2006-03-10 Maarten Brock + + * src/mcs51/gen.c (sameReg): new, checks if two aop regs are the same, + (genSend): bugfix, do not allocate and free twice, + (shiftRLong): handle partially overlapping aops + * support/regression/tests/bitopcse.c: fixed warning redefined idata + +2006-03-08 Borut Razem + + * support/regression/fwk/include/testfwk.h: added defines for xdata, idata + for pic16 + +2006-03-08 Maarten Brock + + * support/regression/tests/bug1409955.c: new, added + * src/mcs51/gen.h: changed asmop.freed:1 to asmop.allocated for tracking + * src/mcs51/gen.c (newAsmop): set asmop.allocated to 1, + (aopForSym, aopOp): increment asmop.allocated if reused, + (freeAsmop): decrement asmop.allocated and check for zero instead of + using asmop.freed, + (freeForBranchAsmop): use asmop.allocated instead of asmop.freed, + (genNot, genCpl, genUminus, genMinus, genMult, genDiv, genMod, genCmpGt, + genCmpLt, genAndOp, genOrOp, genAnd, genOr, genXor, genRRC, genRLC, + genGetHbit, genGetAbit, genGetByte, genGetWord, genSwap, + genLeftShiftLiteral, genLeftShift, genRightShiftLiteral, + genSignedRightShift, genRightShift, genDataPointerGet, + genPagedPointerGet, genFarPointerGet, genCodePointerGet, + genGenPointerGet, genDataPointerSet, genAssign, genCast): free asmop's + in reverse order from allocation, + (genPlus, genCmpEq): free asmop's in reverse order from allocation and + added swappedLR to keep track + * support/regression/fwk/include/testfwk.h: added defines for xdata, idata, + pdata & code for GCC, z80, gbz80 & hc08 + * support/regression/tests/zeropad.c: moved defines to testfwk.h + +2006-03-08 Raphael Neider + + * src/pic16/main.c (_hasNativeMulFor): fixed bug #1444425 + +2006-03-07 Maarten Brock + + * device/include/mcs51/c8051f410.h: new SiLabs mcu + * src/ds390/peeph.def: disabled 186.d and 227.a as fix for #1434401 + * support/regression/tests/array.c: added parenthesis, made arrays unsigned + +2006-03-06 Borut Razem + + * support/regression/ports/pic16/spec.mk: link with libm18f.lib, + made the linker quiet + +2006-03-06 Vangelis Rokas + + * src/pic16/gen.c (genPcall): fixed bug #1443644 + * src/pic16/device.h (struct pic16_options_t): added 'int CATregs' flag + which dumps before the function entry point a data byte which represents + the number of the local variables used by the specified function, added + 'xinst' for initial support for Extended Instruction Support, + * src/pic16/gen.c (aopForSym, pic16_aopGet): beautifications, + (pic16_testStackOverflow): do not prefix GSTACK_TEST_NAME with + port->fun_prefix anymore (may change later), + (genFunction, genEndFunction): do not store/restore local registers for + _main (this should take care the --main-return command line option in + the future), + (genOr): removed some legacy pic-port instructions, + * src/pic16/genarith.c (genAddLit): re-enabled old code because + performing operations with SFR's causes data to be written more than + once to each SFR. Perhaps SFRs should be handled in special cases... + * src/pic16/glue.c: macros BIG_ENDIAN and BYTE_IN_LONG are moved to + pcode.h + * src/pic16/main.c (_process_pragma): stack bound checking did not take + into account for stack starting position, + (struct OPTIONS pic16_optionsTable): added command line argument + --extended or -y for Extended Instruction Support, + * src/pic16/ralloc.c (pic16_decodeOp): added case for FUNCTION, + (deassignLRs): *** perhaps the most important change, old 'for' code + (commented out for reference), didn't account for some registers which + were left marked 'not free' after a pointer operation. The change + reduces register usage a lot in some cases + +2006-03-04 Borut Razem + + * support/regression/ports/hc08/spec.mk: remove *.asm in traget + _clean + * support/regression/tests/bug-524697.c: decreased array size for + mcs51 to fit into the internal RAM + * support/regression/Makefile.in: a little bit more verbose + +2006-03-03 Borut Razem + + * support/regression/fwk/lib/testfwk.c, + support/regression/fwk/include/testfwk.h: introduced function + _prints(), nonrecursive _printn(), call _initEmu() from main() + * support/regression/ports/gbz80/support.asm, + support/regression/ports/ucz80/support.asm, + support/regression/ports/z80/support.asm, + support/regression/ports/ds390/support.c, + support/regression/ports/hc08/support.c, + support/regression/ports/host/support.c, + support/regression/ports/mcs51/support.c, + support/regression/ports/xa51/support.c: added empty _initEmu() + function + * support/regression/ports/pic16/gpsim.cmd, + support/regression/ports/pic16/spec.mk, + support/regression/ports/pic16/support.c, + support/regression/Makefile.in: added pic16 regression test + +2006-03-01 Raphael Neider + + * src/pic16/gen.c (genPcall,pic16_derefPtr,genGenPointerGet, + genConstPointerGet): use safe way of generating MOVFF to cover + literals as well as registers, fixes bug #1440527 + * src/pic16/glue.c (pic16_printIvalBitFields): prevent NULL pointer + dereference + (pic16_printIvalUnion,pic16_isUnion): NEW, handle initialized unions + more correctly, fixes bug #1232186 + (pic16_printIval): use pic16_printIvalUnion() for initialized unions + * src/pic16/main.c (_pic16_linkEdit): reorder linker arguments to make + gplink guess the correct processor in more cases, applied patch + from Till Riedel attached to and fixing bug #1436552 + +2006-02-20 Frieder Ferlemann + + * support/regression/tests/array.c: added, contains check for #1434401 + * src/mcs51/peeph.def: disabled 186.d as temporary fix for #1434401 + 2006-02-16 Maarten Brock * device/include/mcs51/at89s8253.h: new, thanks to Krzysztof Polomka @@ -1619,7 +3010,7 @@ 2005-06-20 Slade Rich - * src/pic/pcode.c : Fixed problem when a string constant contains a "\r\n" + * src/pic/pcode.c : Fixed problem when a string constant contains a "/r/n" and the output asm file line is printed on two lines. 2005-06-19 Erik Petrich @@ -1664,20 +3055,20 @@ 2005-05-26 Raphael Neider * src/pic16/glue.c (pic16_printIvalChar): fixed _constant_ string - initializers with \0, bug #1208187 + initializers with /0, bug #1208187 * src/pic/glue.c (printIvalChar): fixed (non- and constant) string - intializers with \0, bug #1208187 + intializers with /0, bug #1208187 2005-05-26 Raphael Neider * src/pic16/glue.c (pic16_printIvalChar): fixed string - initializers with \0, bug #1208187 + initializers with /0, bug #1208187 * src/pic16/main.c (_process_pragma): added sanity checks for stack position and size, emit warnings when appropriate 2005-05-26 Maarten Brock - * device/lib/_strncpy.c: fixed not filling with \0 + * device/lib/_strncpy.c: fixed not filling with /0 2005-05-26 Erik Petrich @@ -1880,7 +3271,7 @@ (findNextInstruction), (findPrevInstruction), (findInstructionUsingLabel), src/pic/pcode.h: fixed bug #1164907 - Labels not being recognized - * src/pic/pcode.c (findLabel): added missing '\n' + * src/pic/pcode.c (findLabel): added missing '/n' * src/src.dsp: added SDCCdwarf2.c to the project 2005-04-09 Borut Razem @@ -2464,7 +3855,7 @@ to memccpy(void *, void *, char, size_t) * src/pic16/gen.c (genFunction, genEndFunction): reenable if-case to check whether to omit frame pointer or not, - * (genInline): convert all occurences of "\n" to LF in inline + * (genInline): convert all occurences of "/n" to LF in inline assembler blocks, this helps formatting the inline text, * (pic16_loadFSR0): modified prototype, * (genNearPointerGet, genNearPointerSet): reorganization of code, @@ -4228,8 +5619,8 @@ 2004-08-04 Jesus Calvino-Fraga - * src/mcs51/gen.c (genInline): Add \n for labels, not DOS/WIN dirs - such as c:\mydir. + * src/mcs51/gen.c (genInline): Add /n for labels, not DOS/WIN dirs + such as c:/mydir. 2004-08-03 Maarten Brock @@ -4293,7 +5684,7 @@ _memcmp.c _memmove.c calloc.c realloc.c free.c * support/regression/tests/malloc.c: added tests for new functionality * support/regression/tests/zeropad.c: added tests for truncated initializers - and initialized char arrays starting with '\x0' + and initialized char arrays starting with '/x0' * src/mcs51/peeph.def: fixed regression, added peephole 177.f 2004-07-26 Bernhard Held @@ -4471,7 +5862,7 @@ a member of a specific memory bank, * (pic16_printIvalCharPtr): added code to add string literals either to code or the idata sections, - * src/pic16/main.c (_process_pragma): added \n to WHITE constant, + * src/pic16/main.c (_process_pragma): added /n to WHITE constant, also accept the 'udata' pragma, * src/pic16/main.h: new structure types sectName and sectSym * src/pic16/pcode.c: added new pCodeInstruction entry for BANKSEL @@ -7100,7 +8491,7 @@ 2003-10-31 Borut Razem - * support\cpp2\cpplex.c: fixed for SDCPP: + * support/cpp2/cpplex.c: fixed for SDCPP: comments(when executed with -C option) and _asm blocks were included even if they where in skipped #if block. Applied solution from GCC cpp 3.3.2 @@ -7842,20 +9233,20 @@ Fixed some warnings when building with MSVC: - * as\mcs51\asdata.c - * as\z80\asdata.c - * as\mcs51\asm.h - * as\z80\asm.h - * link\z80\aslink.h - * link\z80\lkdata.c - * link\z80\lkeval.c - * link\z80\lkgb.c - * link\z80\lkihx.c - * link\z80\lks19.c - * link\z80\lksym.c - * support\cpp2\cpplib.c - * src\ds390\gen.c - * src\mcs51\gen.c + * as/mcs51/asdata.c + * as/z80/asdata.c + * as/mcs51/asm.h + * as/z80/asm.h + * link/z80/aslink.h + * link/z80/lkdata.c + * link/z80/lkeval.c + * link/z80/lkgb.c + * link/z80/lkihx.c + * link/z80/lks19.c + * link/z80/lksym.c + * support/cpp2/cpplib.c + * src/ds390/gen.c + * src/mcs51/gen.c 2003-08-03 Bernhard Held @@ -7863,21 +9254,21 @@ 2003-08-01 Jesus Calvino-Fraga - * support\librarian\clean.mk: Do not remove Makefile. - * support\librarian\Makefile: added. + * support/librarian/clean.mk: Do not remove Makefile. + * support/librarian/Makefile: added. 2003-08-01 Jesus Calvino-Fraga Added librarian to MSVC build: * all.dsp * sdcc.dsw - * support\librarian\librarian.dsp + * support/librarian/librarian.dsp 'configure' not needed for librarian, removed: - * support\librarian\configure - * support\librarian\configure.in - * support\librarian\config_in.h - * support\librarian\Makefile.in + * support/librarian/configure + * support/librarian/configure.in + * support/librarian/config_in.h + * support/librarian/Makefile.in Hopefully these ones built the librarian and the rest of sdcc properly: * Makefile @@ -7897,13 +9288,13 @@ Adding sdcclib to the build. MSVC project coming soon. Files added/changed: - * support\librarian\clean.mk - * support\librarian\configure - * support\librarian\configure.in - * support\librarian\config_in.h - * support\librarian\Makefile.bcc - * support\librarian\Makefile.in - * support\librarian\sdcclib.c + * support/librarian/clean.mk + * support/librarian/configure + * support/librarian/configure.in + * support/librarian/config_in.h + * support/librarian/Makefile.bcc + * support/librarian/Makefile.in + * support/librarian/sdcclib.c * Makefile.bcc * Makefile * Makefile.common.in @@ -7916,25 +9307,25 @@ example, one compiled using --model-large and another one compiled with --model-small. The following files were modified: - * as\mcs51\asdata.c - * as\mcs51\aslink.h - * as\mcs51\asm.h - * as\mcs51\asmain.c - * as\mcs51\asout.c - * as\mcs51\i51pst.c - * as\mcs51\lkdata.c - * as\mcs51\lklibr.c - * as\mcs51\lkmain.c - * as\z80\asdata.c - * as\z80\asm.h - * as\z80\asmain.c - * as\z80\asout.c - * as\z80\z80pst.c - * link\z80\aslink.h - * link\z80\lkdata.c - * link\z80\lklibr.c - * link\z80\lkmain.c - * src\SDCCglue.c + * as/mcs51/asdata.c + * as/mcs51/aslink.h + * as/mcs51/asm.h + * as/mcs51/asmain.c + * as/mcs51/asout.c + * as/mcs51/i51pst.c + * as/mcs51/lkdata.c + * as/mcs51/lklibr.c + * as/mcs51/lkmain.c + * as/z80/asdata.c + * as/z80/asm.h + * as/z80/asmain.c + * as/z80/asout.c + * as/z80/z80pst.c + * link/z80/aslink.h + * link/z80/lkdata.c + * link/z80/lklibr.c + * link/z80/lkmain.c + * src/SDCCglue.c 2003-07-28 Jesus Calvino-Fraga @@ -8120,7 +9511,7 @@ 2003-06-18 Bernhard Held - * support/Util/MySystem.c (merge_command): quick fix for Linux segfault with \"cmd\" arg + * support/Util/MySystem.c (merge_command): quick fix for Linux segfault with /"cmd/" arg 2003-06-15 Borut Razem @@ -8176,7 +9567,7 @@ * doc/sdccman.lyx: updated to Lyx 1.3 * doc/cdbfileformat.lyx: updated to Lyx 1.3 * doc/test_suite_spec.lyx: updated to Lyx 1.3 - * doc/Makefile: added fix for the \tabularnewline problem, thanks to Jesus + * doc/Makefile: added fix for the /tabularnewline problem, thanks to Jesus 2003-06-03 Bernhard Held @@ -8738,7 +10129,7 @@ * src/SDCC.lex: Fix for bug #711240: dynamic buffer handling of C literal strings in stringLiteral() * support/Util/dbuf.c, support/Util/dbuf.h: added: dynamic buffer handling - * src/Makefile.bcc, src/Makefile.in, src\src.dsp: added support/Util/dbuf.c + * src/Makefile.bcc, src/Makefile.in, src/src.dsp: added support/Util/dbuf.c to the project 2003-03-27 Paul Stoffregen @@ -9305,7 +10696,7 @@ 2003-01-12 Bernhard Held * src/SDCCmain.c (main): port->finaliseOptions() moved for z80 linking - * src/SDCCutil.c (join): ugly bug: missing '\0' + * src/SDCCutil.c (join): ugly bug: missing '/0' * as/mcs51/lkmem.c (summary): sp on address 7 is safe 2003-01-11 Bernhard Held @@ -9390,23 +10781,23 @@ 2002-12-10 Jesus Calvino-Fraga - * in \sdcc\as\mcs51\ changed these files in order to create an + * in /sdcc/as/mcs51/ changed these files in order to create an aomf51 file: aslink.h, lkdta.c, lklex.c, lklibr.c, lklist.c, lkmain.c. Also added: lkmem.c and lkaomf51.c. Changed the following files to include the previous two files: aslink.dsp, Makefile.aslink, Makefile.bcc, and Makefile.in. - * Changed \sdcc\src\SDCCmain.c so it creates files with extension + * Changed /sdcc/src/SDCCmain.c so it creates files with extension .adb instead of .cdb 2002-11-09 Jesus Calvino-Fraga - * \sdcc\as\mcs51\lklist.c: Now reports memory usage using the + * /sdcc/as/mcs51/lklist.c: Now reports memory usage using the value from option --iram-size. 2002-09-20 Jesus Calvino-Fraga - * \sdcc\as\mcs51\lklist.c: added boundary check before using + * /sdcc/as/mcs51/lklist.c: added boundary check before using dram[] array. 2002-09-18 @@ -9421,50 +10812,50 @@ compact code for X = LITERAL - Y 2002-09-00 Jesus Calvino-Fraga - * \sdcc\as\mcs51\lklist.c: Fixed incorrect number of parameters to + * /sdcc/as/mcs51/lklist.c: Fixed incorrect number of parameters to sprintf() in line 1267. 2002-09-08 Jesus Calvino-Fraga - * \sdcc\src\SDCCglue.c: Generate areas REG_BANK_[0-3] only for 8051 + * /sdcc/src/SDCCglue.c: Generate areas REG_BANK_[0-3] only for 8051 like ports. 2002-09-04 Jesus Calvino-Fraga Changes to aslink (All the changes are marked with 'JCF'): - * \sdcc\as\mcs51\aslink.h: External definition of sflag and + * /sdcc/as/mcs51/aslink.h: External definition of sflag and summary(). - * \sdcc\as\mcs51\lkarea.c: Computes the size of area BSEG_BYTES from + * /sdcc/as/mcs51/lkarea.c: Computes the size of area BSEG_BYTES from area BSEG. Also moves, if possible, the DATA area down into the internal ram so more space is available. - * \sdcc\as\mcs51\lkdata.c: Definition of memory summary output flag + * /sdcc/as/mcs51/lkdata.c: Definition of memory summary output flag sflag. - * \sdcc\as\mcs51\lklist.c: For the BSEG area report the size in bits, + * /sdcc/as/mcs51/lklist.c: For the BSEG area report the size in bits, not bytes. Function summary() which creates a memory usage summary file with extension .mem. Reports of overlaping stack and small stack size. If the space for the stack is less than 16 bytes aslink trows a warning. - * \sdcc\as\mcs51\lkmain.c: Creation of some of the default areas for + * /sdcc/as/mcs51/lkmain.c: Creation of some of the default areas for the 8051. Option 'y' for memory summary output file. Changes to sdcc (All the changes are marked with 'JCF'): - * \sdcc\src\SDCCglobl.h: External definition of RegBankUsed[4]. + * /sdcc/src/SDCCglobl.h: External definition of RegBankUsed[4]. - * \sdcc\src\SDCCglue.c: If a register bank is used, creates an + * /sdcc/src/SDCCglue.c: If a register bank is used, creates an overlaying area for it (uses RegBankUsed[4]). - * \sdcc\src\SDCCmain.c: Definition RegBankUsed[4]; marks register + * /sdcc/src/SDCCmain.c: Definition RegBankUsed[4]; marks register bank zero as used by default. By default aslink locates the stack (equivalent to --stack-after-data). Pass option 'y' to aslink for the creation of the .mem file. Delegates the allocation of data area to aslink (it is not longer 0x30 by default). If --stack-loc passes the begining of the stack area to aslink. - * \sdcc\src\SDCCmem.c: If a register bank is used, marks it so + * /sdcc/src/SDCCmem.c: If a register bank is used, marks it so glue() in SDCCglue.c creates an area for it. 2002-09-03 Borut Razem @@ -9561,7 +10952,7 @@ so it is replaced with STRCASECMP, which is defined as stricmp in case of MSC and BORLANDC - solved MSC error in function aopDump() - * sdcc_vc.h: define PREFIX as "\\sdcc" + * sdcc_vc.h: define PREFIX as "//sdcc" 2002-07-18 Bernhard Held * src/SDCCast.c (decorateType): fixed access to array of structures http://sourceforge.net/mailarchive/forum.php?thread_id=902690&forum_id=4107