X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=ChangeLog;h=5ca2fe528685597e0030d35f7bc2bde19fac1ea9;hb=c2a0ea8e1e3331b8ea967a0c23cfaabf6fc33e59;hp=e7abfd352b2019dc5f51d2dd8bbfb21ef7ef03e9;hpb=f760fda1275f579b0ad76473b287533a4448bdc7;p=fw%2Fsdcc diff --git a/ChangeLog b/ChangeLog index e7abfd35..8d49de6b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,1254 @@ +2003-02-16 Bernhard Held + + * sim/ucsim/mkecho: inserted #!/bin/sh for Cygwin, so that it's executable + * src/asm.c: fix pipe() for Mingw32 + +2003-02-15 Bernhard Held + + * src/SDCCglue.h: make tmpfileNameSet available for preOutName + * src/SDCCmain.c (preProcess): make sure, that preOutName will be deleted; + make -V work again; --c1mode reads now from stdin + * doc/sdccman.lyx: added --c1mode + * support/Util/SDCCerr.c: new messages for c1 mode + * support/Util/SDCCerr.h: new messages for c1 mode + * src/SDCC.lex (checkCurrFile): test if fullSrcFileName is NULL for c1mode + +2003-02-15 + + * src/asm.c: new options: --no-c-code-in-asm and --i-code-in-asm + +2003-02-14 Bernhard Held + + * doc/sdccman.lyx: Environment variables, -o and other minor things + +2003-02-14 + + * src/xa51/main.c: before anyone really tries to use it :) + + * Install doc's in share/sdcc/doc + * removed some obsolete files + * Do a proper make distclean and uninstall + M Makefile.common.in + R sdccbuild.sh + M as/Makefile + M device/include/Makefile.in + M device/lib/Makefile.in + M doc/sdccman.lyx + M link/Makefile + M sim/ucsim/doc/Makefile.in + M src/clean.mk + R src/avr/peeph.rul + R src/xa51/peeph.rul + M support/cpp2/Makefile.in + M support/makebin/Makefile + + +2003-02-13 Bernhard Held + + * support/regression/ports/host/spec.mk: use cc as host compiler for max osx + +2003-02-10 Borut Razem + + * doc/bccinst.txt, packihx/packihx.c, sdcc_vc_in.h, src/SDCCset.h, + support/cpp2/config.in: Borland C++ build doesn't depend on Cygwin configure + * Bcc.ini, Makefile.bcc, as/mcs51/Makefile.bcc, + device/examples/ds390/tinitalk/Makefile.bcc, packihx/Makefile.bcc, + support/cpp2/Makefile.bcc, src/Makefile.bcc, src/avr/Makefile.bcc, + src/ds390/Makefile.bcc, src/izt/Makefile.bcc, src/mcs51/Makefile.bcc, + src/pic/Makefile.bcc, src/pic16/Makefile.bcc, src/xa15/Makefile.bcc, + src/z80/Makefile.bcc: Borland Makefile cleanup + * as/z80/Makefile.bcc: Added Borland Makefile + * support/cpp2/borland.h: Removed + +2003-02-10 Bernhard Held + + * doc/sdccman.lyx: new pragma NOIV by "Johannes Stezenbach" + * src/SDCC.lex: new pragma NOIV + * src/SDCCglobl.h: new pragma NOIV + * src/SDCCmem.c: new pragma NOIV + +2003-02-09 Bernhard Held + + * src/SDCCmain.c: signal handling is switched off by SDCC_LEAVE_SIGNALS + +2003-02-09 Bernhard Held + + * src/SDCCmain.c: signal handling is switched off by --debug + * doc/Makefile: small fix for install; use clean.mk again + * doc/clean.mk: clean *.pdf and *.html too + +2003-02-08 Bernhard Held + + * device/lib/_mulint.c: small fix for large/ds390 --int-long-reent resp. --stack-auto + * device/lib/printfl.c: fix a ds390 bug by making it portable + * src/SDCCsymt.c (initCSupport): fix compile warning on Cygwin + * src/SDCCopt.c (cnvToFloatCast): fix compile warning on Cygwin + * src/SDCCopt.c (cnvFromFloatCast): fix compile warning on Cygwin + * debugger/mcs51/cmd.c: converted multi-line string literals + * sim/ucsim/globals.cc: converted multi-line string literals + * src/SDCCmain.c: introduced signal handler to remove temp files + * doc/Makefile: small tweaks, implement clean + * doc: removed generated files + +2003-02-05 Jesus Calvino-Fraga + + * as/mcs51/aslink.h, as/mcs51/lkihx.c, as/mcs51/lkrloc.c: Applied + patch from Jan Rejlek to fix Bug 677692: "Extended + Address Record is not correctly generated for DS390." + +2003-02-02 Borut Razem + + * Makefile.bcc: removed non existing cpp project and non compilable izt project from makefile + * as/mcs51/asm.h: fixed compilation with Borland C + * support/cpp2/Makefile.bcc: added rule to generate auto-host.h + * support/cpp2/auto-host_vc_in.h: fixed compilation with Borland C + * src/mcs51/mcs51a.dsp: corrected misspelled project name from msc51a to mcs51a + * src/avr/Makefile.bcc, src/ds390/Makefile.bcc, src/izt/Makefile.bcc, + src/mcs51/Makefile.bcc, src/pic16/Makefile.bcc, src/xa51/Makefile.bcc, + src/z80/Makefile.bcc: delete $(LIB) only if exist + * src/Makefile.bcc, src/pic/Makefile.bcc: fixed compilation with Borland C + +2003-02-02 Bernhard Held + + * device/include/malloc.h: introduced NULL + * device/include/string.h: introduced NULL + * device/include/stdlib.h: introduced NULL + * device/lib/_memcpy.c: removed NULL + * device/lib/_strcat.c: removed NULL + * device/lib/_strchr.c: removed NULL + * device/lib/_strcmp.c: removed NULL + * device/lib/_strcpy.c: removed NULL + * device/lib/_strcspn.c: removed NULL + * device/lib/_strlen.c: removed NULL + * device/lib/_strncat.c: removed NULL + * device/lib/_strncmp.c: removed NULL + * device/lib/_strncpy.c: removed NULL + * device/lib/_strpbrk.c: removed NULL + * device/lib/_strrchr.c: removed NULL + * device/lib/_strspn.c: removed NULL + * device/lib/_strstr.c: removed NULL + * device/lib/_strtok.c: removed NULL + * device/lib/malloc.c: removed NULL, include own header + +2003-02-02 + + * src/mcs51/ralloc.c (packForPush): fixed bug #631653, maybe other ports need this too? At least now some new alerts in SDCCBBlock.c and SDCCicode.c gives an early warning + * support/regression/fwk/lib/testfwk.c: div and mod isn't broken anymore + * regressions ds390/spec.mk and mcs51/spec.mk (timeout): my good old balder isn't fast enough for some tests + * src/z80/gen.c (genZ80Code): added c-lines in asm comments + * as/z80/asm.h (NINPUT): increased for long c-comments in regression tests + * src/z80/gen.c (genRightShiftLiteral): fixed the (char)(-3)>>8 (I think) + +2003-02-01 Jesus Calvino-Fraga + + * src/SDCCmain.c: Fixed bug 678574: "ds390: ASlink-Error-Stack overlaps + area 'DATA'" + +2003-02-01 + + * src/SDCCval.c (valBitwise): fixed Karl's "2 | (1<<8)" + +2003-01-31 + + * src/ds390/main.c (_ds390_genAssemblerPreamble): applied Jan Rejlek's >64K startup patch + +2003-01-30 + + * src/SDCCBBlock.c: automatic bug detection + * src/SDCCicode.c: automatic bug detection + +2003-01-29 Jesus Calvino-Fraga + + * src/SDCCglobl.h: now --xram-size 0 works + * src/SDCCmain.c: now --xram-size 0 works + +2003-01-29 + + * src/almosteverything: changed OP_DEFS and OP_USES from macros to functions to catch symbol abuse (a hot topic in the bug list :) + +2003-01-29 Jesus Calvino-Fraga + + * as/mcs51/aslink.h: Added options --xram-size and --code-size + * as/mcs51/lkdata.c: Added options --xram-size and --code-size + * as/mcs51/lkmain.c: Added options --xram-size and --code-size + * as/mcs51/lkmem.c: Added options --xram-size and --code-size + * src/SDCCglobl.h: Added options --xram-size and --code-size + * src/SDCCmain.c: Added options --xram-size and --code-size + +2003-01-28 Bernhard Held + + * src/ds390/gen.c: fix deps by replacing with "common.h" + * src/SDCC.lex: rename P_OVERLAY to P_OVERLAY_ for cross-gcc 3.2 MINGW32 + +2003-01-27 + + * src/SDCC.y: fixed bug #613764 + +2003-01-26 + + * src/SDCClrange.c: fixed Bernhard's "char * code ptr = &c" + * src/SDCCsymt.h: fixed bug #673374 + * src/SDCCglue.c: fixed bug #661910 + * src/SDCCast.c: fixed bug #458099 and 673374 + +2003-01-26 Bernhard Held + + * as/mcs51/strcmpi.c: added, provides Aurelien Jarno's as_strcmpi(); strcmpi() is not ANSI + * as/mcs51/strcmpi.h: added + * as/mcs51/asm.h: remove ugly "#define strcmpi strcmp" + * as/mcs51/aslink.h: remove ugly "#define strcmpi strcmp" + * as/mcs51/asmain.c: strcmpi -> as_strcmpi + * as/mcs51/assym.c: strcmpi -> as_strcmpi + * as/mcs51/lkmem.c: strcmpi -> as_strcmpi + * as/mcs51/lknoice.c: strcmpi -> as_strcmpi + * as/mcs51/lksym.c: strcmpi -> as_strcmpi + * as/mcs51/Makefile.aslink: new module strcmpi + * as/mcs51/Makefile.asx8051: new module strcmpi + * as/mcs51/Makefil.bcc: new module strcmpi + * as/mcs51/Makefile.in: new module strcmpi + * sim/ucsim/s51.src/uc390.cc (get_mem_size): make RAM big enough for tinibios + +2003-01-26 + + * src/SDCCglue.c: reverted back to 1.124 + * src/SDCCast.c: reverted back to 1.156 + * src/mcs51/gen.c (aopGet): applied Frieder's efficiency patch + +2003-01-25 + + * src/SDCCglue.c: A better fix for bug #661910 + * src/SDCCast.c: A better fix for bug #661910 + * src/SDCCglue.c (emitRegularMap): That was a little too efficient + +2003-01-24 Bernhard Held + + * src/Makefile.in: remove spawn.o + * src/SDCCmain.c: remove spawn.h + * src/SDCCmain.c (printVersionInfo): report MINGW32 instead of UNIX + * src/spawn.c: removed + * src/spawn.h: removed + * support/regression/ports/ds390/spec.mk: link with -r + +2003-01-24 + + * src/ds390/gen.c (aopOp): fixed bug #667458 + * src/SDCCglue.c (emitRegularMap): fixed bug #458099 again + * src/SDCCast.c (createIvalCharPtr): fixed bug #661910 + (createIvalCharPtr): an ival doesn't always have a storage class anymore + +2003-01-24 Bernhard Held + + * src/mcs51/peeph.def: better assembler identation by Frieder + * src/mcs51/gen.c: better assembler identation by Frieder + +2003-01-22 Bernhard Held + + * as/z80/string.h: removed for gcc 3.2 + * support/makebin/makebin.c: #include for gcc 3.2 + * src/pic/pcode.c (get_op_from_instruction): fix concatenation of string literals with __FUNCTION__ for gcc 3.2 + +2003-01-19 Bernhard Held + + * src/SDCCmain.c (linkEdit): rename mem and map files even in case of failure + * src/SDCCpeeph.c (replaceRule): fix bug #663503 + * support/regression/Makefile: separate temp files for ports + * support/regression/generate-cases.py: separate temp files for ports + * src/mcs51/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b + * src/ds390/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b + +2003-01-19 Bernhard Held + + * moved tinitalk to device/examples/ds390 + +2003-01-14 Bernhard Held + + * as/mcs51/lkmem.c: rflag is for DS390 + * src/SDCCglobl.h: removed out_name and options stackOnData, genericPtr + * src/SDCCmain.c (optionsTable, setDefaultOptions): removed --stack-after-data and --generic + (linkEdit): move mem- and map-files the same way as ihx-files + * src/z80/main.c (_setDefaultOptions): removed --generic + * src/SDCCmain.c (_processC1Arg, parseCmdLine, main): --c1mode works again + * src/SDCCglue.c (createInterruptVect, glue): --c1mode works again + * src/pic/glue.c (picglue): --c1mode works again + * src/pic16/glue.c (pic16glue): --c1mode works again + * src/asm.c (printCLine): fix #660034 + +2003-01-13 Bernhard Held + + * src/ds390/peeph.def: fix #123; add 14 rules by Fiorenzo D. Ramaglia , 1 by Frieder + * src/mcs51/peeph.def: fix #123; add 14 rules by Fiorenzo, 1 by Frieder + * src/mcs51/gen.c (genFunction): emit r0 instead of ar0 by Fiorenzo + * as/mcs51/lkmem (summary): better fix for sp problem + * src/SDCCglue.c (glue): __start_stack - 1, saves 1 byte! + * src/ds390/main.c (_ds390_finaliseOptions, _tininative_finaliseOptions): stack_loc = 0x400008 + * support/regression/ports/*/spec.mk: moving testfwk-object to port dir allow parallel execution of regression tests + remove --stack-after-data + +2003-01-12 Bernhard Held + + * src/SDCCmain.c (main): port->finaliseOptions() moved for z80 linking + * src/SDCCutil.c (join): ugly bug: missing '\0' + * as/mcs51/lkmem.c (summary): sp on address 7 is safe + +2003-01-11 Bernhard Held + + * src/SDCCmain.c (assemble, linkEdit): preparations for -o + * src/port.h: typo + * src/pic/main.c (_asmCmd): gpasm supports -o + * src/z80/main.c: more general macros + * device/lib/Makefile.in: remove intermediate files + +2003-01-11 Bernhard Held + + * .version: Bumped version number to 2.3.3 + * src/SDCCBBlock.c: new option -o + * src/SDCCglobl.h: new option -o + * src/SDCCglue.c: new option -o + * src/SDCCmain.c: new option -o + * src/asm.c: new option -o + * src/ds390/main.c: new option -o + * src/pic/glue.c: new option -o + * src/pic/pcode.c: new option -o + * src/pic/ralloc.c: new option -o + * src/pic16/glue.c: new option -o + * src/pic16/pcode.c: new option -o + * src/pic16/ralloc.c: new option -o + * src/z80/main.c: new option -o + * device/lib/Makefile.in: use -o + * support/regression/ports/ds390/spec.mk: use -o + * support/regression/ports/gbz80/spec.mk: use -o + * support/regression/ports/mcs51/spec.mk: use -o + * support/regression/ports/mcs51-stack-auto/spec.mk: use -o + * support/regression/ports/z80/spec.mk: use -o + * support/regression/ports/ucz80/spec.mk: use -o + * support/regression/ports/xa51/spec.mk: use -o + * support/regression/fwk/lib/timeout.c: fix usage string + +2003-01-09 Bernhard Held + * src/mcs51/gen.c (genPlus): replaced "mov b,acc" by "mov b,a" Fiorenzo D. Ramaglia + +2003-01-07 + + * src/SDCCast.c (decorateType): fixed bug #600035 + +2003-01-07 Bernhard Held + * as/mcs51/lkmem.c: added several l-modifiers to printf to remove warnings + * as/mcs51/lkaomf51.c: #include to remove warnings + * src/pic/main.c (_hasNativeMulFor): outcommented unused variables to remove warnings + * src/pic/pcode.c: outcommented unused variable to remove warnings + * src/pic/ralloc.c: outcommented unused variable to remove warnings + +2003-01-06 + * sim/ucsim/cmd.src/command.cc: fixed so "break xram r 0x7654" works again in + regression tests. + +2003-01-06 + + * src/SDCCicode.c: fixed array add + +2002-01-05 Bernhard Held + * src/SDCCmacro.c: MAX_STRING_LENGTH increased to 2048; was too small for regression tests + * support/regression/ports/host/support.c: #include for gcc 3.2 + +2003-01-04 + + * src/SDCCval.c (getNelements): fixed the initialized array of structures + +2002-12-29 Jesus Calvino-Fraga + * as/mcs51/Makefile.bcc: fixed typo lkomf51.o -> lkaomf51.o + +2002-12-28 Bernhard Held + * src/mcs51/peeph.def: added rules 234 and 235 from Frieder Ferlemann + * support/regression/tests/bug-524697.c: fit mem usage into 8032 + +2002-12-28 Bernhard Held + * src/mcs51/gen.c (aopGetUsesAcc): inserted missing "return FALSE" + +2002-12-27 Bernhard Held + * as/mcs51/Makefile.in: fixed typo lkomf51.o -> lkaomf51.o + +2002-12-26 Bernhard Held + * src/mcs51/main.c: removed {bindir}{sep} from aslink + +2002-12-10 Jesus Calvino-Fraga + + * 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 + .adb instead of .cdb + +2002-11-09 Jesus Calvino-Fraga + + * \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 + dram[] array. + +2002-09-18 + + * SDCClrange.h: exposed setFromRange() and setToRange() + * mcs51/ralloc.c: fixed over-eager packRegsForSupport() and + packRegsForAccUse() (bug 542397) + * mcs51/gen.c: MOVA() is now a function to avoid calling aopGet() + multiple times and emitting the fetch operations more than once + added aopGetUsesAcc() function to allow binary operators to + fetch their operands in the correct order; made genMinus() emit + compact code for X = LITERAL - Y + +2002-09-00 Jesus Calvino-Fraga + * \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 + 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 + summary(). + + * \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 + sflag. + + * \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 + 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\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 + 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 + glue() in SDCCglue.c creates an area for it. + +2002-09-03 Borut Razem + * sdcc/src/SDCCglue.c, sdcc/src/SDCCglue.h, sdcc/src/SDCCmain.c, + sdcc/src/pic/glue.c: + introduced atexit() handler for teporay files removal in case of + errors, assertions, ... + +2002-08-29 Borut Razem + * sdcc/support/cpp2/auto-host_vc_in.h: + re-definition of O_BINARY and other O_XXX as _O_BINARY and _O_XXX, so the problem + with the returned value from read() in sdcc/support/cpp2/cppfiles.c is solved for MSC. + Maybe there is a similar problem with BORLANDC? It should be checked! + + * sdcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c, sdcc/src/z80/ralloc.c: + corrected improper use of assert: the assignment to clr variable was done inside the assert. + In case that NDEBUG was defined, the assert macro was substituted with no-op, so the assignment + was not executed, and the compiler (cl) launched a warning: + ralloc.c(1442) : warning C4700: local variable 'clr' used without having been initialized + +2002-08-28 Bernhard Held + * src/SDCCglue.c (printIvalArray): iterative calculation of array length + +2002-08-28 Jesus Calvino-Fraga and Borut Razem + * sdcc/sdcc.dsw: added sdcpp, sdcppa, yacc, conf projects + + * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp, + sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp, + sdcc/src/xa51/xa51.dsp, sdcc/src/avr/avra.dsp, + sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp, + sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp, + sdcc/src/xa51/xa51a.dsp, sdcc/as/as_z80.dsp, + sdcc/as/aslink.dsp, sdcc/as/asx8051.dsp, sdcc/packihx/packihx.dsp: + - added Release configuration in VS projects + - review of compiler an linker options + - VC .exe files are generated in bin_vc directory, not to interfere + with binaries generated from other projects (cygwin, mingw, bcc ...) + + * sdcc/src/yacc.dsp: added + + * sdcc/config.dsp, sdcc/configure_vc.awk, sdcc/sdcc_vc_in.h: + added - genarate sdcc_vc.h using sdcc_vc_in.h as template + and insert the version number definitions from .version + + * sdcc/support/cpp2/sdcpp.dsp: added - VC project for sdcpp + + * sdcc/support/cpp2/sdcppa.dsp, sdcc/support/cpp2/auto-host_vc_in.h: + added - genarate auto-host.h using auto-host_vc_in.h as template + + * sdcc/sdcc_vc.h, + removed from CVS, generated automatically + +2002-08-25 Bernhard Held + * support/scripts/inc2h.pl: use gputils or gpasm (from Nathan Hurst) + +2002-08-11 Borut Razem + * support/Util/NewAlloc.c: removed unneeded #include "sdccconf.h" (suggested by Jesus Calvino-Fraga) + +2002-08-10 Borut Razem + * src/SDCCmain.c (main): + file preOutName was unlinked before closed. This seems to be OK on UNIX and cygwin + platforms, but it doesn't work with Visual Studio: the opened file can not be removed. + The consequence was that some temporary files were not removed. + + * src/SDCCglue.c: + unification of code in functions tempfilename() and tempfile(): + function tempnam() is defined in Visual Studio 6.0 and .NET + + * sdcc/sdcc.dsw: removed project sdcpp, added project xa51a + + * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp, + sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp: + - removed compiler command line option /WX: Treats all warnings as errors + - update a list of source files, included into the project + + * sdcc/src/avr/avra.dsp, sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp, + sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp: + changed project type to Generic Project so that can be correcly converted to VS.NET project + + * sdcc/as/mcs51/asm.h: definition of PATH_MAX for MSC + + * sdcc/src/SDCCast.c: solved MSC error in function decorateType() + + * sdcc/src/SDCC.y: added missing ending ';' to rules to get rid of bison warnings + + * dcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c: + added return 0 statements after assert() to make compiler happy + + * sdcc/src/xa51/peeph.rul, sdcc/src/xa51/peeph.def, sdcc/src/z80/ralloc.c: + added newline in the def file to keep MSC compiler satisfied + + * sdcc/src/z80/gen.c: + - function strcasecmp() is not defined in MSC (and probably also in BORLANDC), + 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" + +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 + +2002-06-22 Scott Dattalo + * src/pic/*: Numerous bug fixes. Flow analysis has been enhanced. + - Rewrote the register banking algorithm. + - Added pCode live-range analysis to registers (for now, only non-used and + singly-used registers optimized away) + + * src/pic/pcoderegs.[ch]: Added new files for pCode live-range analysis + + * support/scripts/inc2h.pl Kevin L. Pauba submitted this perl script for converting MicroChip include files into SDCC Pic include files. + +2002-05-10 Scott Dattalo + * src/pic/*: Added support for multiplication. Fixed many,many bugs. + +2002-04-22 Michael Hope + + * device/lib/z80/printf.c: Changed emitter to volatile to work around a pcall bug. + + * configure.in (DD_COPT): Added include support required for gbdk. + + * .version: Bumped version number just to increase it. + + * src/SDCCmain.c: Added -nostdinc to the default options. + +2002-04-15 Michael Hope + + * device/lib/z80/printf.c (sprintf): Added. + + * src/z80/ralloc.c (packRegisters): Disabled pack HL use for GB as it's broken. + + * src/z80/peeph.def: Added transpose redundent load rule. + + * src/z80/main.c: Added force callee saves for jaune. + + * src/port.h: Removed the i186 and tlcs-900h ports as they weren't being being developed. + + * src/SDCCmain.c: Pulled the options definition out so that you can add port specific options without changing the main file. + +2002-03-28 Johan Knol + + * src/SDCCval.c: fixed bug #532436 + +2002-03-14 Scott Dattalo + * /src/port.h: + Added "char *Processor" field to the port structure. + + * /src/SDCCmain.c: + Added -p option. Allows port dependent processor to be specified. + + * all ports: + Initialized the new field char *Processor field to NULL in all ports + + * /src/pic/*: + Compiler generated registers for interrupt context saving + were not getting allocated. + +2002-03-16 Sandeep Dutta + + * /src/SDCCast.c: + Fixed left shift. Will promote the left side of a left shift + if a) left shifting more than size of operand or b) when assigned + to something size > size of left side + +2002-03-14 Scott Dattalo + * src/pic/* + tons of changes. Register allocation has been + rewritten. Added customization for the various PICs. Flow + analysis is restructured. ... + + * src/pic/device.h: + Added + + * src/pic/device.c: + Added. device.c is a PIC port hack to accomodate variations + in PIC devices. + +2002-03-13 Michael Hope + + * src/z80/gen.c (genGenPointerGet): Fixed a bug where a pointer in HL is dereferenced into HL but HL is not spilled. Yeah. + +2002-03-04 johanknol + + * /src/SDCCval.c: fixed + + const unsigned char arr[][2] = { { 0, 1 } }; + t18.c:1: error: Initializer element is not constant + +2002-03-04 bela + + * /device/include/mcs51reg.h: + ds89c420 register definition update + +2002-03-03 + + * support/Util/SDCCerr.c: did something, but don't no why anymore + + * support/regression/tests/bug-524691.c: made it a little less shy + + * src/SDCCast.c (decorateType): fixed bug #524697 + + * src/SDCCast.c: made some lineno improvements + + * src/SDCCval.c (getNelements): changed warning to error + + * src/SDCCglue.c (printIvalArray): changed warning to error + + * src/SDCCicode.c: fixed a warning for mingw + + * src/SDCCast.c (decorateType): fixed the << promotion for ops + + * src/SDCCicode.c (geniCodeDivision): divide is shift only for unsigned (bug #524685) + +2002-03-02 Sandeep Dutta + + * src/ds390/peeph.def: + Added some more peephole rules + + * src/ds390/gen.c: Various fixes & enhancements + + * src/SDCClrange.c, src/SDCClrange.h: + functions "alldefsoutofrange" and "notusedinblock" moved to SDCClrange.c + + * src/ds390/ralloc.c: + various fixes & enhancements (ds390) specific + + * src/avr/ralloc.c, src/mcs51/ralloc.c, src/pic/ralloc.c, src/xa51/ralloc.c, src/z80/ralloc.c: + Functions "allDefsOutOfRange" & "notUsedinBlock" moved to SDCClrange.c + from rallocs. + + * sdcc/src/SDCCcse.c: Better fix for bug # 514308 + +2002-03-02 + + * src/SDCCast.c (decorateType): fixed bug #524708 + + * src/SDCCval.c (floatFromVal): fixed the literal void (whatever that may be) + + * src/SDCCicode.c (geniCodePtrPtrSubtract): fixed bug #524691 + +2002-03-01 Michael Hope + + * src/SDCCsymt.c (initCSupport): Removed managling of support function names. + + * src/z80/ralloc.c (packRegsForIYUse): Fixed fp bug where four byte operands were packed into IY. + +2002-03-01 + + * src/SDCCglue.c (printIvalPtr): fixed bug #524211 + + * src/SDCCast.c (decorateType): fixed bug #524209 + + * src/SDCCval.c (valNot): fixed bug #524195 + +2002-02-26 + + * src/xa51/gen.c: fixed a warning + + * src/SDCCglue.c (printIvalFuncPtr): fixed bug #522534 + + * src/SDCCast.c (decorateType): fixed bug #522534 + +2002-02-23 + + * src/SDCCdflow.c (computeDataFlow): fixed bug #460088 + +2002-02-22 + + * src/SDCCast.c: fixed bug #514865 + + * src/SDCCy.c ("SDCC.y"): fixed bug #516625 + +2002-02-21 Sandeep Dutta + + * sdcc/src/SDCCloop.c: + Previous fix was not good. basic blocks that have "break" or "return" are + not really partof a loop , but live ranges used in these blocks should + be live thru the entire loop, so set partOfLoop but don't add them to + loop region + +2002-02-21 + + * src/SDCCcse.c: fixed bug #514308 + +2002-02-20 Sandeep Dutta + + * src/SDCCloop.c: + Fixed BUG #519583. If a conditional block ended in a return/break + statement inside a loop, it was not being considered part of the loop. + + * src/SDCCcflow.c: Removed fix (Fixed in SDCCloop.c) + +2002-02-10 Karl Bongers + + * debugger/*: + Fixed up SDCDB debugger somewhat. Updated debugger/README + with lots of comments and notes. + + * device/examples/test2.c: + Fix bug, "red" variable not being initialized(compiler complained). + + * device/examples/Makefile, examples/test3.c: + Add Makefile in device/examples folder, compiles test3.c + for use as a multiple module SDCDB test case. + + * sim/ucsim/cmd.src/cmdset.cc: + Took out debug printfs in ucsim "next" command. + + * sim/ucsim/xa.src: + Karl and Johan start ucsim XA support. Most dissassembly working, + about 75% emulation done(plenty of work remaining). + + * sim/ucsim/z80.src: + Add Z80 support to ucsim, add test-ucz80 regression test, + notice ucsim/z80 emulation fails on examples/test3.c/itoa code. + Notice z80 compiler fails on examples/test3.c/crc code. + +2002-01-30 Sandeep Dutta + + * src/mcs51/gen.c, src/mcs51/main.c, src/mcs51/ralloc.c: + Added support for --parms-in-bank1 + + * src/ds390/peeph.def: + added a few more peephole optimzations + + * src/ds390/main.c: + 1) added __builtin_inp & __builtin_outp used to read in data of given length + from a memory mapped port + 2) added __builtin_memcmp + 3) added __builtin_swapw swap bytes of a short + + * src/ds390/gen.c, src/ds390/gen.h, src/ds390/ralloc.c: + 1) handle multiple send & receives from register bank1 + 2) ralloc can now allocate DPTR1 to some liveRanges + + * src/SDCCsymt.c, src/SDCCsymt.h: + changes to handle multiple sends & receives + + * src/SDCCptropt.h: + added some pointer arithmetic optimization + + * src/SDCCptropt.c: + added some pointer arithmetic optimizations but not stable yet so not + called from anywhere (will get this working shortly) + + * src/SDCCopt.c: fixed for multiple sends & receives + + * src/SDCCmain.c: + 1) added options --parms-in-bank1 (ds390/mcs51) & --protect-sp-update + 2) preprocessing done AFTER port->finalizeoptions . This allows ports to + set preprocessor defines (depending on options) + + * src/SDCCicode.c, src/SDCCicode.h: + changes made to handle multiple sends & receives + + * src/SDCCglobl.h: + Added options --protect-sp-update (ds390) and --parms-in-bank1 (ds390/mcs51) + + * src/SDCCcse.c, src/SDCCcse.h: + added function findbackward def (to be used in upcoming optimization) + + * src/SDCCcflow.c, src/SDCCcflow.h: + added function returnAtEnd - to determine if a basic block terminates with + a RETURN iCode + + * src/SDCCast.c, src/SDCCast.h: + added option parms-in-bank1 + + * device/lib/_divsint.c, device/lib/_divslong.c, device/lib/_divuint.c + * device/lib/_divulong.c, device/lib/_modsint.c, device/lib/_modslong.c + * device/lib/_modulong.c, device/lib/_mulint.c, device/lib/_mullong.c: + adjusted for --parms-in-bank1 option + + * device/include/string.h: + donot redefine "reentrant" keyword + + * device/include/ds80c390.h: Added some more SFRs + +2002-01-28 Bernhard Held + + * sim/ucsim: Merged branch ucsim-034-pre3 to main trunk; new version 0.4 + +2002-01-26 Bernhard Held + + * src/SDCCast.c (funcOfType): fix usage of double --float-reent + +2002-01-22 Bernhard Held + + * support/regression/fwk/lib/testfwk.c (main): Removed workaround for bug #505387 + +2002-01-18 Paul Stoffregen + + * Added --xram-movc option + +2002-01-13 Bernhard Held + + * support/regression/Makefile: don't include test-mcs51-stack-auto in target all + +2002-01-11 Johan Knol + + * Added math lib of Jesus Calvino-Fraga + +2002-01-08 Bernhard Held + + * src/SDCCmain.c (processFile): fix processing of ../../src.c + * support/regression/Makefile: new target test-mcs51-stack-auto + * support/regression/ports/mcs51-stack-auto/spec.mk: added + +2002-01-04 Bernhard Held + + * src/SDCCglue.h: printIvalCharPtr(), not printIvalChar() + +2002-01-04 Bernhard Held + + * support/regression/ports/mcs51/support.c: correct setup of timer / UART + +2002-01-03 Bernhard Held + + * src/SDCCsymt.c (processFuncArgs): fix #498307 by Johan + + * src/SDCCglue.h: add definition for printIvalChar() + +2002-01-02 Bernhard Held + + * src/SDCCast.c: fix #498138 by Johan + + * src/SDCCglue.c: fix #498138 by Johan + +2002-01-02 Bernhard Held + + * support/regression/Makefile: fix clean + + * support/regression/ports/ds390/support.c: fix transmission of last character + +2001-12-29 Sandeep Dutta + + * /sdcc/src/ds390/gen.c: + a) improved computing address of stack variable + b) took out some #if 0 code + c) improved parmBytes adjustment + d) improved genPlusIncr & genMinusIncr + e) genCmp could generate bad code (when left assigned to DPTR) + f) Fixed bug in hasInc + + * /sdcc/src/ds390/ralloc.c: + a) packRegsForSupport could mess up live information (Fixed) + b) packRegsDPTRuse could be incorrect for left & right shift + + * /sdcc/src/mcs51/ralloc.c: + packRegsForSupport could mess up the live information (Fixed) + + * /sdcc/src/mcs51/gen.c: Fixed a bug in hasInc + + * /sdcc/src/SDCCast.c: + can reverse a loop even if function call is present as long + as the loop control variable is local & is not passed as parameter + +2001-12-24 Sandeep Dutta + + * /sdcc/ChangeLog: *** empty log message *** + + * /sdcc/src/ds390/gen.c, /sdcc/src/ds390/main.c: + More builtin function additions for TININative + + * /sdcc/src/ds390/ralloc.c: + Had broken the regression testsuite + + * /sdcc/src/SDCCast.c: Fixed a bug in dumptree + + * /sdcc/src/SDCCsymt.c, /sdcc/src/SDCCsymt.h: + Added funcattr hasStackParms will be set for reentrant functions when there + are paramteres on the stack, this helps in minimizing frame pointer generation + typeFromStr can handle function pointers now + + * /sdcc/doc/builtins.txt, /sdcc/doc/TININative.txt: + *** empty log message *** + +2001-12-24 Sandeep Dutta + + * /src/ds390/gen.c, /src/ds390/main.c: + More builtin function additions for TININative + + * /src/ds390/ralloc.c: + Had broken the regression testsuite + + * /src/SDCCast.c: Fixed a bug in dumptree + + * /src/SDCCsymt.c, /src/SDCCsymt.h: + Added funcattr hasStackParms will be set for reentrant functions when there + are paramteres on the stack, this helps in minimizing frame pointer generation + typeFromStr can handle function pointers now + + * /doc/builtins.txt, /doc/TININative.txt: + *** empty log message *** + + +2001-12-24 Sandeep Dutta + + * /src/ds390/gen.c, /src/ds390/main.c, /src/ds390/peeph.def, /src/ds390/ralloc.c: + ALPHA version for -mTININative + + * /src/izt/i186.c, /src/izt/tlcs900h.c, /src/mcs51/main.c, /src/pic/main.c, /src/z80/main.c, /src/avr/main.c: + updated to reflect changes in the port structure + + * /src/port.h: + added function do_assemble (similar to do_link) if non-null this function + will be called to do assembly (-mTININative) requires a multi command + assembly + added function genAssemblerEnd will be called to generate assembler Epilogue + + * /src/SDCCsymt.c: + added _JavaNative to debug info printing + + * /src/SDCCmain.c: added option --tini-libid + added port->do_assemble function (-mTININative) has a multi command assemble + + * /src/SDCCglue.c: Disabled "constExpr" check + added port->genAssemblerEnd function + + * /src/SDCCglobl.h: Added option --tini-libid value + + * /src/SDCCast.h: + tookout optimizeCompare from the header (has no external references) + + * /src/SDCCast.c: made one more function "static" + +2001-12-23 Michael Hope + + * src/z80/mappings.i: Added z80asm support. + + * src/z80/main.c: Added z80asm support on --asm=z80asm + + * src/z80/gen.c: Fixed asm portability issues. + + * src/asm.c (tvsprintf): Removed old code, added 'N' for function name. For extern support. + + * src/SDCCglue.c (printExterns): Added global/extern split. + +2001-12-17 Bernhard Held + + * support/regression/Makefile: added test for mcs51 model large + + * support/regression/ports/mcs51-large/spec.mk: added test for mcs51 model large + + * support/regression/ports/gbz80/spec.mk: added -mgbz80 + +2001-12-05 Michael Hope + + * src/diff.1 (Index): Many, many optmisiations. Dhrystone up to 201. + +1904-01-06 Michael Hope + + * src/z80/ralloc.c (packRegsForIYUse): Fixed the case where an operand is in direct space. + + * src/z80/gen.c (makeFreePairId): Optimised IY load by using a spare pair. + +2001-12-02 Bernhard Held + + * src/mcs51/gen.c (genFunction): avoid excess "inc sp" + + * support/regression/tests/simplefloat.c: Port to mcs51. + +2001-11-25 Michael Hope + * support/regression/tests/bug-485362.c: Added. + + * support/regression/tests/simplefloat.c (testDivNearOne): Added. + + * src/z80/gen.c (aopOp): Fixed case where left and result are in the same spill loc and they have different sizes. + + * src/z80/peeph.def: Added rules for optimising two byte compares on the same thing, and to optimise two ptr assign. + + * src/z80/gen.c (aopDump): Added a dump function. + +2001-11-25 Bernhard Held + * sim/ucsim/s51.src/glob.cc: DS390 SFRs and bits added. + + * sim/ucsim/s51.src/port.cc: Port 4 and 5 added. + + * sim/ucsim/s51.src/regs51.h: DS390 SFRs added. + + * sim/ucsim/s51.src/uc390.cc: Some details improved, CKRDY works for tinibios. + + * sim/ucsim/s51.src/uc390cl.h: Work in progress. + + * sim/ucsim/sim.src/uccl.h: 6 ports for DS390. + + * support/regression/fwk/lib/testfwk.c: Run with tinibios. + + * support/regression/ports/mcs51/spec.mk: Fine tuninig. + + * support/regression/ports/ds390/support.c: Use tinibios. + + * support/regression/ports/ds390/spec.mk: Fine tuning, use tinibios. + +2001-11-23 Michael Hope support/regression/tests/bug-460010.c + + * src/z80/ralloc.c (packRegsForHLUse3): Changed to not pack into HL if anything is in direct space. + (packRegsForHLUse3): Added packing support for send, cast, and return value from a call. + + * src/z80/peeph.def: Added rules for optimising pushes of part of a pair. + + * src/z80/gen.c (emitCall): Changed the stack fixup to not use HL. + +2001-11-18 Michael Hope + + * src/z80/gen.c (genCmp): Fixed compare on unsigned. + + * src/z80/ralloc.c (packRegsForHLUse3): Created and optimised. + (packRegsForIYUse): Created and optimised. + +2001-11-07 Michael Hope + + * support/regression/tests/float.c (testFloatAdd): Fixed up warning. +2001-11-18 Bernhard Held + + * sdcc/support/regression/tests/bug-460010.c: fix seg violation on host + + * sdcc/support/regression/tests/muldiv.c: fix output on mcs51 + + * sdcc/support/regression/tests/stacks.c: fix DSEG overflow on mcs51 + +2001-11-07 Bernhard Held + + * sdcc/sim/device/lib/_gptrget.c: mem region 5 (idata) added + + * sdcc/sim/device/lib/_gptrput.c: mem region 5 (idata) added + +2001-11-07 Bernhard Held + + * sdcc/sim/ucsim/globals.cc: New: IXRAM. + + * sdcc/sim/ucsim/stypes.h: New: IXRAM. + + * sdcc/sim/ucsim/s51.src/uc390.cc: New: IXRAM. + +2001-11-07 Michael Hope + + * src/z80/ralloc.c (packRegsForHLUse): Banned IFXs from being packed into HL. + (packRegsForHLUse): Added rule to pack address of/pointer get for itemps into HL for the Z80. + (packRegsForAccUse2): Added rule to pack hbit IFXs into A. + + * src/z80/main.c (_setDefaultOptions): Made float code re-entrant by default. + + * src/z80/gen.c (aopGetLitWordLong): Added word support for floats. + (genNotFloat): Added. + (genUminusFloat): Added. + + * device/lib/z80/Makefile: Added floating pt stubs. + + * device/lib/Makefile.in (Z80SOURCES): Added floating pt support. + + * src/z80/gen.c (genIpush): Fixed up a push of one byte when left is in a pair. + + * device/lib/_fsadd.c (__fsadd): Fixed up return where the numbers are hugely different. + +2001-11-07 Bernhard Held + + * sdcc/sim/ucsim/s51.src/glob.cc: Minor fix. + + * sdcc/sim/ucsim/s51.src/regs51.h: Minor fix. + + * sdcc/support/regression/Makefile: Add port ds390. + + * sdcc/support/regression/ports/mcs51/spec.mk: Minor change. + + * sdcc/support/regression/ports/z80/spec.mk: Minor change. + + * sdcc/support/regression/ports/ds390/spec.mk: Added. + + * sdcc/support/regression/ports/ds390/support.c: Added. + + * sdcc/support/regression/ports/ds390/uCsim.cmd: Added. + + * sdcc/support/regression/ports/mcs51/timeout.c: Cut. + + * sdcc/support/regression/fwk/lib/timeout.c: Paste. + +2001-11-04 Michael Hope + + * device/include/malloc.h: Added z80 and gbz80 support. + + * device/lib/gbz80/heap.s: Added. + + * device/lib/z80/heap.s: Added. + + * device/lib/malloc.c: Added z80 and gbz80 support. + + * support/regression/tests/malloc.c (testMalloc): Added. + + * src/SDCCmain.c (parseCmdLine): Added support for -Wp. + + * support/regression/tests/bug-478094.c: Added. + + * src/z80/gen.c (commitPair): Fixed silly gbz80/z80 commit to static bug. + +2001-11-04 Bernhard Held + + * sdcc/sim/ucsim/s51.src/uc390cl.h: Improvement for ds390 to run regression tests + + * sdcc/sim/ucsim/s51.src/uc390.h: Improvement for ds390 to run regression tests + + * sdcc/sim/ucsim/s51.src/regs51.h: Improvement for ds390 to run regression tests + + * sdcc/sim/ucsim/s51.src/glob.cc: Improvement for ds390 to run regression tests + + * sdcc/support/regression/tests/bug-460010.c: Small change for ds390 + +2001-11-04 Michael Hope + + * src/z80/peeph-gbz80.def: Removed a bad sub optimisation. + +2001-11-03 Michael Hope + + * support/regression/tests/bug-477927.c: Added. + + * src/z80/peeph.def: Added minor rules. + + * src/z80/gen.c (genPlusIncr): Added an extra plusinc rule. + + * src/z80/peeph.def: Added jump optimisation modification. + +2001-11-01 Michael Hope + + * src/SDCCmain.c (linkEdit): Added runtime path detection to the mcs51 port. + +2001-10-30 Michael Hope + + * support/regression/tests/funptrs.c: Added. + +2001-10-29 Michael Hope + + * src/z80/ralloc.c (packRegsForHLUse): Fixed up bad spill due to pushing one byte via HL. + +2001-10-28 Michael Hope + + * src/z80/gen.c (genArrayInit): Made it work for on stack arrays. + + * src/z80/main.c (gbz80_port =): Added rle support to the gbz80 port. + + * src/z80/gen.c (genMinus): Fixed for where the result is one byte. + (movLeft2ResultLong): Created. + + * src/z80/ralloc.c (packRegsForHLUse): Added a couple of simple cases for the GB. + (joinPushes): Added. Joins two char pushes into a word push. + +2001-10-27 Michael Hope + + * support/cpp2/Makefile.in (install): Added creation of dest dir. + + * support/makebin/Makefile (install): Added creation of dest dir. + +2001-10-24 Karl Bongers + + * configure.in, configure, Makefile, support/cpp: Removed cpp folder, since we have new cpp2 preprocessor code. + +2001-10-21 Michael Hope + + * src/z80/ralloc.c: Turned off faulty pack for one use. + + * src/z80/peeph-gbz80.def: Removed redundent restart options. + + * src/z80/gen.c (genMult): Added native mul for constants on the z80 and gbz80. + +2001-10-21 Bernhard Held + + * support/regression/Makefile: Improved clean + + * support/regression/ports/gbz80/spec.mk: Added clean + + * support/regression/ports/host/spec.mk: Added clean + + * support/regression/ports/z80/spec.mk: Added clean + + * support/regression/ports/mcs51/spec.mk: Added clean, little improvements + + * support/regression/ports/mcs51/timeout.c: little improvements + +2001-10-17 Michael Hope + + * device/lib/malloc.c (MEMHEADER): Fixed against new pedantic pointers. + + * support/regression/fwk/include/testfwk.h: Fixed up to use function pts correctly. + + * support/regression/generate-cases.py: Fixed up to use function pts correctly. + +2001-10-16 Bernhard Held + + * support/regression/port/mcs51/spec.mk: add timeout for uCsim + + * support/regression/port/mcs51/timeout.c: add timeout for uCsim + 2001-10-13 Michael Hope + * src/z80/gen.c (emitCall): Fixed up missing spill of HL when used to assign the result value. + + * src/z80/ralloc.c: Turned off pack for one use as it's quite broken. + + * src/SDCCmain.c (linkEdit): Added support for passing a legacy command line through the processor. + + * src/mcs51/main.c (_linkCmd): Added bin path to command. + + * src/SDCCmain.c (initValues): Added support for when it it called just to link. + + * as/mcs51/lklibr.c (libfil;): Turned off 'library file' message. * src/SDCCval.c (constVal): Fixed usage of 'L' modifier problems on ppc.