1 2003-02-09 Bernhard Held <bernhard@bernhardheld.de>
3 * src/SDCCmain.c: signal handling is switched off by --debug
4 * doc/Makefile: small fix for install; use clean.mk again
5 * doc/clean.mk: clean *.pdf and *.html too
7 2003-02-08 Bernhard Held <bernhard@bernhardheld.de>
9 * device/lib/_mulint.c: small fix for large/ds390 --int-long-reent resp. --stack-auto
10 * device/lib/printfl.c: fix a ds390 bug by making it portable
11 * src/SDCCsymt.c (initCSupport): fix compile warning on Cygwin
12 * src/SDCCopt.c (cnvToFloatCast): fix compile warning on Cygwin
13 * src/SDCCopt.c (cnvFromFloatCast): fix compile warning on Cygwin
14 * debugger/mcs51/cmd.c: converted multi-line string literals
15 * sim/ucsim/globals.cc: converted multi-line string literals
16 * src/SDCCmain.c: introduced signal handler to remove temp files
17 * doc/Makefile: small tweaks, implement clean
18 * doc: removed generated files
20 2003-02-05 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
22 * as/mcs51/aslink.h, as/mcs51/lkihx.c, as/mcs51/lkrloc.c: Applied
23 patch from Jan Rejlek <jr@apex-lib.cz> to fix Bug 677692: "Extended
24 Address Record is not correctly generated for DS390."
26 2003-02-02 Borut Razem <borut.razem@siol.net>
28 * Makefile.bcc: removed non existing cpp project and non compilable izt project from makefile
29 * as/mcs51/asm.h: fixed compilation with Borland C
30 * support/cpp2/Makefile.bcc: added rule to generate auto-host.h
31 * support/cpp2/auto-host_vc_in.h: fixed compilation with Borland C
32 * src/mcs51/mcs51a.dsp: corrected misspelled project name from msc51a to mcs51a
33 * src/avr/Makefile.bcc, src/ds390/Makefile.bcc, src/izt/Makefile.bcc,
34 src/mcs51/Makefile.bcc, src/pic16/Makefile.bcc, src/xa51/Makefile.bcc,
35 src/z80/Makefile.bcc: delete $(LIB) only if exist
36 * src/Makefile.bcc, src/pic/Makefile.bcc: fixed compilation with Borland C
38 2003-02-02 Bernhard Held <bernhard@bernhardheld.de>
40 * device/include/malloc.h: introduced NULL
41 * device/include/string.h: introduced NULL
42 * device/include/stdlib.h: introduced NULL
43 * device/lib/_memcpy.c: removed NULL
44 * device/lib/_strcat.c: removed NULL
45 * device/lib/_strchr.c: removed NULL
46 * device/lib/_strcmp.c: removed NULL
47 * device/lib/_strcpy.c: removed NULL
48 * device/lib/_strcspn.c: removed NULL
49 * device/lib/_strlen.c: removed NULL
50 * device/lib/_strncat.c: removed NULL
51 * device/lib/_strncmp.c: removed NULL
52 * device/lib/_strncpy.c: removed NULL
53 * device/lib/_strpbrk.c: removed NULL
54 * device/lib/_strrchr.c: removed NULL
55 * device/lib/_strspn.c: removed NULL
56 * device/lib/_strstr.c: removed NULL
57 * device/lib/_strtok.c: removed NULL
58 * device/lib/malloc.c: removed NULL, include own header
60 2003-02-02 <johan@balder>
62 * 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
63 * support/regression/fwk/lib/testfwk.c: div and mod isn't broken anymore
64 * regressions ds390/spec.mk and mcs51/spec.mk (timeout): my good old balder isn't fast enough for some tests
65 * src/z80/gen.c (genZ80Code): added c-lines in asm comments
66 * as/z80/asm.h (NINPUT): increased for long c-comments in regression tests
67 * src/z80/gen.c (genRightShiftLiteral): fixed the (char)(-3)>>8 (I think)
69 2003-02-01 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
71 * src/SDCCmain.c: Fixed bug 678574: "ds390: ASlink-Error-Stack overlaps
74 2003-02-01 <johan@balder>
76 * src/SDCCval.c (valBitwise): fixed Karl's "2 | (1<<8)"
78 2003-01-31 <johan@CP255758-A>
80 * src/ds390/main.c (_ds390_genAssemblerPreamble): applied Jan Rejlek's >64K startup patch
82 2003-01-30 <johan@balder>
84 * src/SDCCBBlock.c: automatic bug detection
85 * src/SDCCicode.c: automatic bug detection
87 2003-01-29 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
89 * src/SDCCglobl.h: now --xram-size 0 works
90 * src/SDCCmain.c: now --xram-size 0 works
92 2003-01-29 <johan@balder>
94 * src/almosteverything: changed OP_DEFS and OP_USES from macros to functions to catch symbol abuse (a hot topic in the bug list :)
96 2003-01-29 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
98 * as/mcs51/aslink.h: Added options --xram-size and --code-size
99 * as/mcs51/lkdata.c: Added options --xram-size and --code-size
100 * as/mcs51/lkmain.c: Added options --xram-size and --code-size
101 * as/mcs51/lkmem.c: Added options --xram-size and --code-size
102 * src/SDCCglobl.h: Added options --xram-size and --code-size
103 * src/SDCCmain.c: Added options --xram-size and --code-size
105 2003-01-28 Bernhard Held <bernhard@bernhardheld.de>
107 * src/ds390/gen.c: fix deps by replacing <common.h> with "common.h"
108 * src/SDCC.lex: rename P_OVERLAY to P_OVERLAY_ for cross-gcc 3.2 MINGW32
110 2003-01-27 <johan@balder>
112 * src/SDCC.y: fixed bug #613764
114 2003-01-26 <johan@balder>
116 * src/SDCClrange.c: fixed Bernhard's "char * code ptr = &c"
117 * src/SDCCsymt.h: fixed bug #673374
118 * src/SDCCglue.c: fixed bug #661910
119 * src/SDCCast.c: fixed bug #458099 and 673374
121 2003-01-26 Bernhard Held <bernhard@bernhardheld.de>
123 * as/mcs51/strcmpi.c: added, provides Aurelien Jarno's as_strcmpi(); strcmpi() is not ANSI
124 * as/mcs51/strcmpi.h: added
125 * as/mcs51/asm.h: remove ugly "#define strcmpi strcmp"
126 * as/mcs51/aslink.h: remove ugly "#define strcmpi strcmp"
127 * as/mcs51/asmain.c: strcmpi -> as_strcmpi
128 * as/mcs51/assym.c: strcmpi -> as_strcmpi
129 * as/mcs51/lkmem.c: strcmpi -> as_strcmpi
130 * as/mcs51/lknoice.c: strcmpi -> as_strcmpi
131 * as/mcs51/lksym.c: strcmpi -> as_strcmpi
132 * as/mcs51/Makefile.aslink: new module strcmpi
133 * as/mcs51/Makefile.asx8051: new module strcmpi
134 * as/mcs51/Makefil.bcc: new module strcmpi
135 * as/mcs51/Makefile.in: new module strcmpi
136 * sim/ucsim/s51.src/uc390.cc (get_mem_size): make RAM big enough for tinibios
138 2003-01-26 <johan@balder>
140 * src/SDCCglue.c: reverted back to 1.124
141 * src/SDCCast.c: reverted back to 1.156
142 * src/mcs51/gen.c (aopGet): applied Frieder's efficiency patch
144 2003-01-25 <johan@balder>
146 * src/SDCCglue.c: A better fix for bug #661910
147 * src/SDCCast.c: A better fix for bug #661910
148 * src/SDCCglue.c (emitRegularMap): That was a little too efficient
150 2003-01-24 Bernhard Held <bernhard@bernhardheld.de>
152 * src/Makefile.in: remove spawn.o
153 * src/SDCCmain.c: remove spawn.h
154 * src/SDCCmain.c (printVersionInfo): report MINGW32 instead of UNIX
155 * src/spawn.c: removed
156 * src/spawn.h: removed
157 * support/regression/ports/ds390/spec.mk: link with -r
159 2003-01-24 <johan@CP255758-A>
161 * src/ds390/gen.c (aopOp): fixed bug #667458
162 * src/SDCCglue.c (emitRegularMap): fixed bug #458099 again
163 * src/SDCCast.c (createIvalCharPtr): fixed bug #661910
164 (createIvalCharPtr): an ival doesn't always have a storage class anymore
166 2003-01-24 Bernhard Held <bernhard@bernhardheld.de>
168 * src/mcs51/peeph.def: better assembler identation by Frieder
169 * src/mcs51/gen.c: better assembler identation by Frieder
171 2003-01-22 Bernhard Held <bernhard@bernhardheld.de>
173 * as/z80/string.h: removed for gcc 3.2
174 * support/makebin/makebin.c: #include <string.h> for gcc 3.2
175 * src/pic/pcode.c (get_op_from_instruction): fix concatenation of string literals with __FUNCTION__ for gcc 3.2
177 2003-01-19 Bernhard Held <bernhard@bernhardheld.de>
179 * src/SDCCmain.c (linkEdit): rename mem and map files even in case of failure
180 * src/SDCCpeeph.c (replaceRule): fix bug #663503
181 * support/regression/Makefile: separate temp files for ports
182 * support/regression/generate-cases.py: separate temp files for ports
183 * src/mcs51/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
184 * src/ds390/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
186 2003-01-19 Bernhard Held <bernhard@bernhardheld.de>
188 * moved tinitalk to device/examples/ds390
190 2003-01-14 Bernhard Held <bernhard@bernhardheld.de>
192 * as/mcs51/lkmem.c: rflag is for DS390
193 * src/SDCCglobl.h: removed out_name and options stackOnData, genericPtr
194 * src/SDCCmain.c (optionsTable, setDefaultOptions): removed --stack-after-data and --generic
195 (linkEdit): move mem- and map-files the same way as ihx-files
196 * src/z80/main.c (_setDefaultOptions): removed --generic
197 * src/SDCCmain.c (_processC1Arg, parseCmdLine, main): --c1mode works again
198 * src/SDCCglue.c (createInterruptVect, glue): --c1mode works again
199 * src/pic/glue.c (picglue): --c1mode works again
200 * src/pic16/glue.c (pic16glue): --c1mode works again
201 * src/asm.c (printCLine): fix #660034
203 2003-01-13 Bernhard Held <bernhard@bernhardheld.de>
205 * src/ds390/peeph.def: fix #123; add 14 rules by Fiorenzo D. Ramaglia <fd.ramaglia@tin.it>, 1 by Frieder
206 * src/mcs51/peeph.def: fix #123; add 14 rules by Fiorenzo, 1 by Frieder
207 * src/mcs51/gen.c (genFunction): emit r0 instead of ar0 by Fiorenzo
208 * as/mcs51/lkmem (summary): better fix for sp problem
209 * src/SDCCglue.c (glue): __start_stack - 1, saves 1 byte!
210 * src/ds390/main.c (_ds390_finaliseOptions, _tininative_finaliseOptions): stack_loc = 0x400008
211 * support/regression/ports/*/spec.mk: moving testfwk-object to port dir allow parallel execution of regression tests
212 remove --stack-after-data
214 2003-01-12 Bernhard Held <bernhard@bernhardheld.de>
216 * src/SDCCmain.c (main): port->finaliseOptions() moved for z80 linking
217 * src/SDCCutil.c (join): ugly bug: missing '\0'
218 * as/mcs51/lkmem.c (summary): sp on address 7 is safe
220 2003-01-11 Bernhard Held <bernhard@bernhardheld.de>
222 * src/SDCCmain.c (assemble, linkEdit): preparations for -o
224 * src/pic/main.c (_asmCmd): gpasm supports -o
225 * src/z80/main.c: more general macros
226 * device/lib/Makefile.in: remove intermediate files
228 2003-01-11 Bernhard Held <bernhard@bernhardheld.de>
230 * .version: Bumped version number to 2.3.3
231 * src/SDCCBBlock.c: new option -o
232 * src/SDCCglobl.h: new option -o
233 * src/SDCCglue.c: new option -o
234 * src/SDCCmain.c: new option -o
235 * src/asm.c: new option -o
236 * src/ds390/main.c: new option -o
237 * src/pic/glue.c: new option -o
238 * src/pic/pcode.c: new option -o
239 * src/pic/ralloc.c: new option -o
240 * src/pic16/glue.c: new option -o
241 * src/pic16/pcode.c: new option -o
242 * src/pic16/ralloc.c: new option -o
243 * src/z80/main.c: new option -o
244 * device/lib/Makefile.in: use -o
245 * support/regression/ports/ds390/spec.mk: use -o
246 * support/regression/ports/gbz80/spec.mk: use -o
247 * support/regression/ports/mcs51/spec.mk: use -o
248 * support/regression/ports/mcs51-stack-auto/spec.mk: use -o
249 * support/regression/ports/z80/spec.mk: use -o
250 * support/regression/ports/ucz80/spec.mk: use -o
251 * support/regression/ports/xa51/spec.mk: use -o
252 * support/regression/fwk/lib/timeout.c: fix usage string
254 2003-01-09 Bernhard Held <bernhard@bernhardheld.de>
255 * src/mcs51/gen.c (genPlus): replaced "mov b,acc" by "mov b,a" Fiorenzo D. Ramaglia <fd.ramaglia@tin.it>
257 2003-01-07 <johan@balder>
259 * src/SDCCast.c (decorateType): fixed bug #600035
261 2003-01-07 Bernhard Held <bernhard@bernhardheld.de>
262 * as/mcs51/lkmem.c: added several l-modifiers to printf to remove warnings
263 * as/mcs51/lkaomf51.c: #include <ctype.h> to remove warnings
264 * src/pic/main.c (_hasNativeMulFor): outcommented unused variables to remove warnings
265 * src/pic/pcode.c: outcommented unused variable to remove warnings
266 * src/pic/ralloc.c: outcommented unused variable to remove warnings
268 2003-01-06 <karl@turbobit.com>
269 * sim/ucsim/cmd.src/command.cc: fixed so "break xram r 0x7654" works again in
272 2003-01-06 <johan@balder>
274 * src/SDCCicode.c: fixed array add
276 2002-01-05 Bernhard Held <bernhard@bernhardheld.de>
277 * src/SDCCmacro.c: MAX_STRING_LENGTH increased to 2048; was too small for regression tests
278 * support/regression/ports/host/support.c: #include <stdarg.h> for gcc 3.2
280 2003-01-04 <johan@balder>
282 * src/SDCCval.c (getNelements): fixed the initialized array of structures
284 2002-12-29 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
285 * as/mcs51/Makefile.bcc: fixed typo lkomf51.o -> lkaomf51.o
287 2002-12-28 Bernhard Held <bernhard@bernhardheld.de>
288 * src/mcs51/peeph.def: added rules 234 and 235 from Frieder Ferlemann <frieder.ferlemann@web.de>
289 * support/regression/tests/bug-524697.c: fit mem usage into 8032
291 2002-12-28 Bernhard Held <bernhard@bernhardheld.de>
292 * src/mcs51/gen.c (aopGetUsesAcc): inserted missing "return FALSE"
294 2002-12-27 Bernhard Held <bernhard@bernhardheld.de>
295 * as/mcs51/Makefile.in: fixed typo lkomf51.o -> lkaomf51.o
297 2002-12-26 Bernhard Held <bernhard@bernhardheld.de>
298 * src/mcs51/main.c: removed {bindir}{sep} from aslink
300 2002-12-10 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
302 * in \sdcc\as\mcs51\ changed these files in order to create an
303 aomf51 file: aslink.h, lkdta.c, lklex.c, lklibr.c, lklist.c,
304 lkmain.c. Also added: lkmem.c and lkaomf51.c. Changed the
305 following files to include the previous two files: aslink.dsp,
306 Makefile.aslink, Makefile.bcc, and Makefile.in.
308 * Changed \sdcc\src\SDCCmain.c so it creates files with extension
311 2002-11-09 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
313 * \sdcc\as\mcs51\lklist.c: Now reports memory usage using the
314 value from option --iram-size.
316 2002-09-20 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
318 * \sdcc\as\mcs51\lklist.c: added boundary check before using
321 2002-09-18 <wiml@hhhh.org>
323 * SDCClrange.h: exposed setFromRange() and setToRange()
324 * mcs51/ralloc.c: fixed over-eager packRegsForSupport() and
325 packRegsForAccUse() (bug 542397)
326 * mcs51/gen.c: MOVA() is now a function to avoid calling aopGet()
327 multiple times and emitting the fetch operations more than once
328 added aopGetUsesAcc() function to allow binary operators to
329 fetch their operands in the correct order; made genMinus() emit
330 compact code for X = LITERAL - Y
332 2002-09-00 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
333 * \sdcc\as\mcs51\lklist.c: Fixed incorrect number of parameters to
334 sprintf() in line 1267.
336 2002-09-08 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
337 * \sdcc\src\SDCCglue.c: Generate areas REG_BANK_[0-3] only for 8051
340 2002-09-04 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
341 Changes to aslink (All the changes are marked with 'JCF'):
343 * \sdcc\as\mcs51\aslink.h: External definition of sflag and
346 * \sdcc\as\mcs51\lkarea.c: Computes the size of area BSEG_BYTES from
347 area BSEG. Also moves, if possible, the DATA area down into the internal
348 ram so more space is available.
350 * \sdcc\as\mcs51\lkdata.c: Definition of memory summary output flag
353 * \sdcc\as\mcs51\lklist.c: For the BSEG area report the size in bits,
354 not bytes. Function summary() which creates a memory usage summary
355 file with extension .mem. Reports of overlaping stack and small stack
356 size. If the space for the stack is less than 16 bytes aslink trows a
359 * \sdcc\as\mcs51\lkmain.c: Creation of some of the default areas for
360 the 8051. Option 'y' for memory summary output file.
362 Changes to sdcc (All the changes are marked with 'JCF'):
364 * \sdcc\src\SDCCglobl.h: External definition of RegBankUsed[4].
366 * \sdcc\src\SDCCglue.c: If a register bank is used, creates an
367 overlaying area for it (uses RegBankUsed[4]).
369 * \sdcc\src\SDCCmain.c: Definition RegBankUsed[4]; marks register
370 bank zero as used by default. By default aslink locates the stack
371 (equivalent to --stack-after-data). Pass option 'y' to aslink for
372 the creation of the .mem file. Delegates the allocation of data area
373 to aslink (it is not longer 0x30 by default). If --stack-loc passes
374 the begining of the stack area to aslink.
376 * \sdcc\src\SDCCmem.c: If a register bank is used, marks it so
377 glue() in SDCCglue.c creates an area for it.
379 2002-09-03 Borut Razem <borut.razem@siol.net>
380 * sdcc/src/SDCCglue.c, sdcc/src/SDCCglue.h, sdcc/src/SDCCmain.c,
382 introduced atexit() handler for teporay files removal in case of
383 errors, assertions, ...
385 2002-08-29 Borut Razem <borut.razem@siol.net>
386 * sdcc/support/cpp2/auto-host_vc_in.h:
387 re-definition of O_BINARY and other O_XXX as _O_BINARY and _O_XXX, so the problem
388 with the returned value from read() in sdcc/support/cpp2/cppfiles.c is solved for MSC.
389 Maybe there is a similar problem with BORLANDC? It should be checked!
391 * sdcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c, sdcc/src/z80/ralloc.c:
392 corrected improper use of assert: the assignment to clr variable was done inside the assert.
393 In case that NDEBUG was defined, the assert macro was substituted with no-op, so the assignment
394 was not executed, and the compiler (cl) launched a warning:
395 ralloc.c(1442) : warning C4700: local variable 'clr' used without having been initialized
397 2002-08-28 Bernhard Held <bernhard@bernhardheld.de>
398 * src/SDCCglue.c (printIvalArray): iterative calculation of array length
400 2002-08-28 Jesus Calvino-Fraga and Borut Razem <borut.razem@siol.net>
401 * sdcc/sdcc.dsw: added sdcpp, sdcppa, yacc, conf projects
403 * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
404 sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp,
405 sdcc/src/xa51/xa51.dsp, sdcc/src/avr/avra.dsp,
406 sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
407 sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp,
408 sdcc/src/xa51/xa51a.dsp, sdcc/as/as_z80.dsp,
409 sdcc/as/aslink.dsp, sdcc/as/asx8051.dsp, sdcc/packihx/packihx.dsp:
410 - added Release configuration in VS projects
411 - review of compiler an linker options
412 - VC .exe files are generated in bin_vc directory, not to interfere
413 with binaries generated from other projects (cygwin, mingw, bcc ...)
415 * sdcc/src/yacc.dsp: added
417 * sdcc/config.dsp, sdcc/configure_vc.awk, sdcc/sdcc_vc_in.h:
418 added - genarate sdcc_vc.h using sdcc_vc_in.h as template
419 and insert the version number definitions from .version
421 * sdcc/support/cpp2/sdcpp.dsp: added - VC project for sdcpp
423 * sdcc/support/cpp2/sdcppa.dsp, sdcc/support/cpp2/auto-host_vc_in.h:
424 added - genarate auto-host.h using auto-host_vc_in.h as template
427 removed from CVS, generated automatically
429 2002-08-25 Bernhard Held <bernhard@bernhardheld.de>
430 * support/scripts/inc2h.pl: use gputils or gpasm (from Nathan Hurst)
432 2002-08-11 Borut Razem <borut.razem@siol.net>
433 * support/Util/NewAlloc.c: removed unneeded #include "sdccconf.h" (suggested by Jesus Calvino-Fraga)
435 2002-08-10 Borut Razem <borut.razem@siol.net>
436 * src/SDCCmain.c (main):
437 file preOutName was unlinked before closed. This seems to be OK on UNIX and cygwin
438 platforms, but it doesn't work with Visual Studio: the opened file can not be removed.
439 The consequence was that some temporary files were not removed.
442 unification of code in functions tempfilename() and tempfile():
443 function tempnam() is defined in Visual Studio 6.0 and .NET
445 * sdcc/sdcc.dsw: removed project sdcpp, added project xa51a
447 * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
448 sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp:
449 - removed compiler command line option /WX: Treats all warnings as errors
450 - update a list of source files, included into the project
452 * sdcc/src/avr/avra.dsp, sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
453 sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp:
454 changed project type to Generic Project so that can be correcly converted to VS.NET project
456 * sdcc/as/mcs51/asm.h: definition of PATH_MAX for MSC
458 * sdcc/src/SDCCast.c: solved MSC error in function decorateType()
460 * sdcc/src/SDCC.y: added missing ending ';' to rules to get rid of bison warnings
462 * dcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c:
463 added return 0 statements after assert() to make compiler happy
465 * sdcc/src/xa51/peeph.rul, sdcc/src/xa51/peeph.def, sdcc/src/z80/ralloc.c:
466 added newline in the def file to keep MSC compiler satisfied
468 * sdcc/src/z80/gen.c:
469 - function strcasecmp() is not defined in MSC (and probably also in BORLANDC),
470 so it is replaced with STRCASECMP, which is defined as stricmp in case of MSC and BORLANDC
471 - solved MSC error in function aopDump()
473 * sdcc_vc.h: define PREFIX as "\\sdcc"
475 2002-07-18 Bernhard Held <bernhard@bernhardheld.de>
476 * src/SDCCast.c (decorateType): fixed access to array of structures http://sourceforge.net/mailarchive/forum.php?thread_id=902690&forum_id=4107
478 2002-06-22 Scott Dattalo <scott@dattalo.com>
479 * src/pic/*: Numerous bug fixes. Flow analysis has been enhanced.
480 - Rewrote the register banking algorithm.
481 - Added pCode live-range analysis to registers (for now, only non-used and
482 singly-used registers optimized away)
484 * src/pic/pcoderegs.[ch]: Added new files for pCode live-range analysis
486 * support/scripts/inc2h.pl Kevin L. Pauba <klpauba@cox.net> submitted this perl script for converting MicroChip include files into SDCC Pic include files.
488 2002-05-10 Scott Dattalo <scott@dattalo.com>
489 * src/pic/*: Added support for multiplication. Fixed many,many bugs.
491 2002-04-22 Michael Hope <michaelh@vroom>
493 * device/lib/z80/printf.c: Changed emitter to volatile to work around a pcall bug.
495 * configure.in (DD_COPT): Added include support required for gbdk.
497 * .version: Bumped version number just to increase it.
499 * src/SDCCmain.c: Added -nostdinc to the default options.
501 2002-04-15 Michael Hope <michaelh@vroom>
503 * device/lib/z80/printf.c (sprintf): Added.
505 * src/z80/ralloc.c (packRegisters): Disabled pack HL use for GB as it's broken.
507 * src/z80/peeph.def: Added transpose redundent load rule.
509 * src/z80/main.c: Added force callee saves for jaune.
511 * src/port.h: Removed the i186 and tlcs-900h ports as they weren't being being developed.
513 * src/SDCCmain.c: Pulled the options definition out so that you can add port specific options without changing the main file.
515 2002-03-28 Johan Knol <johan@balder>
517 * src/SDCCval.c: fixed bug #532436
519 2002-03-14 Scott Dattalo <scott@dattalo.com>
521 Added "char *Processor" field to the port structure.
524 Added -p option. Allows port dependent processor to be specified.
527 Initialized the new field char *Processor field to NULL in all ports
530 Compiler generated registers for interrupt context saving
531 were not getting allocated.
533 2002-03-16 Sandeep Dutta <sandeep@ddi.com>
536 Fixed left shift. Will promote the left side of a left shift
537 if a) left shifting more than size of operand or b) when assigned
538 to something size > size of left side
540 2002-03-14 Scott Dattalo <scott@dattalo.com>
542 tons of changes. Register allocation has been
543 rewritten. Added customization for the various PICs. Flow
544 analysis is restructured. ...
550 Added. device.c is a PIC port hack to accomodate variations
553 2002-03-13 Michael Hope <michaelh@vroom>
555 * src/z80/gen.c (genGenPointerGet): Fixed a bug where a pointer in HL is dereferenced into HL but HL is not spilled. Yeah.
557 2002-03-04 johanknol <johanknol@manik>
559 * /src/SDCCval.c: fixed
561 const unsigned char arr[][2] = { { 0, 1 } };
562 t18.c:1: error: Initializer element is not constant
564 2002-03-04 bela <bela@manik>
566 * /device/include/mcs51reg.h:
567 ds89c420 register definition update
569 2002-03-03 <johan@FRIJA>
571 * support/Util/SDCCerr.c: did something, but don't no why anymore
573 * support/regression/tests/bug-524691.c: made it a little less shy
575 * src/SDCCast.c (decorateType): fixed bug #524697
577 * src/SDCCast.c: made some lineno improvements
579 * src/SDCCval.c (getNelements): changed warning to error
581 * src/SDCCglue.c (printIvalArray): changed warning to error
583 * src/SDCCicode.c: fixed a warning for mingw
585 * src/SDCCast.c (decorateType): fixed the << promotion for ops
587 * src/SDCCicode.c (geniCodeDivision): divide is shift only for unsigned (bug #524685)
589 2002-03-02 Sandeep Dutta <sandeep@ddi.com>
591 * src/ds390/peeph.def:
592 Added some more peephole rules
594 * src/ds390/gen.c: Various fixes & enhancements
596 * src/SDCClrange.c, src/SDCClrange.h:
597 functions "alldefsoutofrange" and "notusedinblock" moved to SDCClrange.c
599 * src/ds390/ralloc.c:
600 various fixes & enhancements (ds390) specific
602 * src/avr/ralloc.c, src/mcs51/ralloc.c, src/pic/ralloc.c, src/xa51/ralloc.c, src/z80/ralloc.c:
603 Functions "allDefsOutOfRange" & "notUsedinBlock" moved to SDCClrange.c
606 * sdcc/src/SDCCcse.c: Better fix for bug # 514308
608 2002-03-02 <johan@FRIJA>
610 * src/SDCCast.c (decorateType): fixed bug #524708
612 * src/SDCCval.c (floatFromVal): fixed the literal void (whatever that may be)
614 * src/SDCCicode.c (geniCodePtrPtrSubtract): fixed bug #524691
616 2002-03-01 Michael Hope <michaelh@vroom>
618 * src/SDCCsymt.c (initCSupport): Removed managling of support function names.
620 * src/z80/ralloc.c (packRegsForIYUse): Fixed fp bug where four byte operands were packed into IY.
622 2002-03-01 <johan@FRIJA>
624 * src/SDCCglue.c (printIvalPtr): fixed bug #524211
626 * src/SDCCast.c (decorateType): fixed bug #524209
628 * src/SDCCval.c (valNot): fixed bug #524195
630 2002-02-26 <johan@balder>
632 * src/xa51/gen.c: fixed a warning
634 * src/SDCCglue.c (printIvalFuncPtr): fixed bug #522534
636 * src/SDCCast.c (decorateType): fixed bug #522534
638 2002-02-23 <johan@balder>
640 * src/SDCCdflow.c (computeDataFlow): fixed bug #460088
642 2002-02-22 <johan@balder>
644 * src/SDCCast.c: fixed bug #514865
646 * src/SDCCy.c ("SDCC.y"): fixed bug #516625
648 2002-02-21 Sandeep Dutta <sandeep@ddi.com>
650 * sdcc/src/SDCCloop.c:
651 Previous fix was not good. basic blocks that have "break" or "return" are
652 not really partof a loop , but live ranges used in these blocks should
653 be live thru the entire loop, so set partOfLoop but don't add them to
656 2002-02-21 <johan@FRIJA>
658 * src/SDCCcse.c: fixed bug #514308
660 2002-02-20 Sandeep Dutta <sandeep@ddi.com>
663 Fixed BUG #519583. If a conditional block ended in a return/break
664 statement inside a loop, it was not being considered part of the loop.
666 * src/SDCCcflow.c: Removed fix (Fixed in SDCCloop.c)
668 2002-02-10 Karl Bongers <karl@turbobit.com>
671 Fixed up SDCDB debugger somewhat. Updated debugger/README
672 with lots of comments and notes.
674 * device/examples/test2.c:
675 Fix bug, "red" variable not being initialized(compiler complained).
677 * device/examples/Makefile, examples/test3.c:
678 Add Makefile in device/examples folder, compiles test3.c
679 for use as a multiple module SDCDB test case.
681 * sim/ucsim/cmd.src/cmdset.cc:
682 Took out debug printfs in ucsim "next" command.
685 Karl and Johan start ucsim XA support. Most dissassembly working,
686 about 75% emulation done(plenty of work remaining).
689 Add Z80 support to ucsim, add test-ucz80 regression test,
690 notice ucsim/z80 emulation fails on examples/test3.c/itoa code.
691 Notice z80 compiler fails on examples/test3.c/crc code.
693 2002-01-30 Sandeep Dutta <sandeep@ddi.com>
695 * src/mcs51/gen.c, src/mcs51/main.c, src/mcs51/ralloc.c:
696 Added support for --parms-in-bank1
698 * src/ds390/peeph.def:
699 added a few more peephole optimzations
702 1) added __builtin_inp & __builtin_outp used to read in data of given length
703 from a memory mapped port
704 2) added __builtin_memcmp
705 3) added __builtin_swapw swap bytes of a short
707 * src/ds390/gen.c, src/ds390/gen.h, src/ds390/ralloc.c:
708 1) handle multiple send & receives from register bank1
709 2) ralloc can now allocate DPTR1 to some liveRanges
711 * src/SDCCsymt.c, src/SDCCsymt.h:
712 changes to handle multiple sends & receives
715 added some pointer arithmetic optimization
718 added some pointer arithmetic optimizations but not stable yet so not
719 called from anywhere (will get this working shortly)
721 * src/SDCCopt.c: fixed for multiple sends & receives
724 1) added options --parms-in-bank1 (ds390/mcs51) & --protect-sp-update
725 2) preprocessing done AFTER port->finalizeoptions . This allows ports to
726 set preprocessor defines (depending on options)
728 * src/SDCCicode.c, src/SDCCicode.h:
729 changes made to handle multiple sends & receives
732 Added options --protect-sp-update (ds390) and --parms-in-bank1 (ds390/mcs51)
734 * src/SDCCcse.c, src/SDCCcse.h:
735 added function findbackward def (to be used in upcoming optimization)
737 * src/SDCCcflow.c, src/SDCCcflow.h:
738 added function returnAtEnd - to determine if a basic block terminates with
741 * src/SDCCast.c, src/SDCCast.h:
742 added option parms-in-bank1
744 * device/lib/_divsint.c, device/lib/_divslong.c, device/lib/_divuint.c
745 * device/lib/_divulong.c, device/lib/_modsint.c, device/lib/_modslong.c
746 * device/lib/_modulong.c, device/lib/_mulint.c, device/lib/_mullong.c:
747 adjusted for --parms-in-bank1 option
749 * device/include/string.h:
750 donot redefine "reentrant" keyword
752 * device/include/ds80c390.h: Added some more SFRs
754 2002-01-28 Bernhard Held <bernhard@bernhardheld.de>
756 * sim/ucsim: Merged branch ucsim-034-pre3 to main trunk; new version 0.4
758 2002-01-26 Bernhard Held <bernhard@bernhardheld.de>
760 * src/SDCCast.c (funcOfType): fix usage of double --float-reent
762 2002-01-22 Bernhard Held <bernhard@bernhardheld.de>
764 * support/regression/fwk/lib/testfwk.c (main): Removed workaround for bug #505387
766 2002-01-18 Paul Stoffregen <paul@pjrc.com>
768 * Added --xram-movc option
770 2002-01-13 Bernhard Held <bernhard@bernhardheld.de>
772 * support/regression/Makefile: don't include test-mcs51-stack-auto in target all
774 2002-01-11 Johan Knol
776 * Added math lib of Jesus Calvino-Fraga
778 2002-01-08 Bernhard Held <bernhard@bernhardheld.de>
780 * src/SDCCmain.c (processFile): fix processing of ../../src.c
781 * support/regression/Makefile: new target test-mcs51-stack-auto
782 * support/regression/ports/mcs51-stack-auto/spec.mk: added
784 2002-01-04 Bernhard Held <bernhard@bernhardheld.de>
786 * src/SDCCglue.h: printIvalCharPtr(), not printIvalChar()
788 2002-01-04 Bernhard Held <bernhard@bernhardheld.de>
790 * support/regression/ports/mcs51/support.c: correct setup of timer / UART
792 2002-01-03 Bernhard Held <bernhard@bernhardheld.de>
794 * src/SDCCsymt.c (processFuncArgs): fix #498307 by Johan
796 * src/SDCCglue.h: add definition for printIvalChar()
798 2002-01-02 Bernhard Held <bernhard@bernhardheld.de>
800 * src/SDCCast.c: fix #498138 by Johan
802 * src/SDCCglue.c: fix #498138 by Johan
804 2002-01-02 Bernhard Held <bernhard@bernhardheld.de>
806 * support/regression/Makefile: fix clean
808 * support/regression/ports/ds390/support.c: fix transmission of last character
810 2001-12-29 Sandeep Dutta <sandeep@ddi.com>
812 * /sdcc/src/ds390/gen.c:
813 a) improved computing address of stack variable
814 b) took out some #if 0 code
815 c) improved parmBytes adjustment
816 d) improved genPlusIncr & genMinusIncr
817 e) genCmp could generate bad code (when left assigned to DPTR)
818 f) Fixed bug in hasInc
820 * /sdcc/src/ds390/ralloc.c:
821 a) packRegsForSupport could mess up live information (Fixed)
822 b) packRegsDPTRuse could be incorrect for left & right shift
824 * /sdcc/src/mcs51/ralloc.c:
825 packRegsForSupport could mess up the live information (Fixed)
827 * /sdcc/src/mcs51/gen.c: Fixed a bug in hasInc
829 * /sdcc/src/SDCCast.c:
830 can reverse a loop even if function call is present as long
831 as the loop control variable is local & is not passed as parameter
833 2001-12-24 Sandeep Dutta <sandeep@ddi.com>
835 * /sdcc/ChangeLog: *** empty log message ***
837 * /sdcc/src/ds390/gen.c, /sdcc/src/ds390/main.c:
838 More builtin function additions for TININative
840 * /sdcc/src/ds390/ralloc.c:
841 Had broken the regression testsuite
843 * /sdcc/src/SDCCast.c: Fixed a bug in dumptree
845 * /sdcc/src/SDCCsymt.c, /sdcc/src/SDCCsymt.h:
846 Added funcattr hasStackParms will be set for reentrant functions when there
847 are paramteres on the stack, this helps in minimizing frame pointer generation
848 typeFromStr can handle function pointers now
850 * /sdcc/doc/builtins.txt, /sdcc/doc/TININative.txt:
851 *** empty log message ***
853 2001-12-24 Sandeep Dutta <sandeep@ddi.com>
855 * /src/ds390/gen.c, /src/ds390/main.c:
856 More builtin function additions for TININative
858 * /src/ds390/ralloc.c:
859 Had broken the regression testsuite
861 * /src/SDCCast.c: Fixed a bug in dumptree
863 * /src/SDCCsymt.c, /src/SDCCsymt.h:
864 Added funcattr hasStackParms will be set for reentrant functions when there
865 are paramteres on the stack, this helps in minimizing frame pointer generation
866 typeFromStr can handle function pointers now
868 * /doc/builtins.txt, /doc/TININative.txt:
869 *** empty log message ***
872 2001-12-24 Sandeep Dutta <sandeep@ddi.com>
874 * /src/ds390/gen.c, /src/ds390/main.c, /src/ds390/peeph.def, /src/ds390/ralloc.c:
875 ALPHA version for -mTININative
877 * /src/izt/i186.c, /src/izt/tlcs900h.c, /src/mcs51/main.c, /src/pic/main.c, /src/z80/main.c, /src/avr/main.c:
878 updated to reflect changes in the port structure
881 added function do_assemble (similar to do_link) if non-null this function
882 will be called to do assembly (-mTININative) requires a multi command
884 added function genAssemblerEnd will be called to generate assembler Epilogue
887 added _JavaNative to debug info printing
889 * /src/SDCCmain.c: added option --tini-libid
890 added port->do_assemble function (-mTININative) has a multi command assemble
892 * /src/SDCCglue.c: Disabled "constExpr" check
893 added port->genAssemblerEnd function
895 * /src/SDCCglobl.h: Added option --tini-libid value
898 tookout optimizeCompare from the header (has no external references)
900 * /src/SDCCast.c: made one more function "static"
902 2001-12-23 Michael Hope <michaelh@juju.net.nz>
904 * src/z80/mappings.i: Added z80asm support.
906 * src/z80/main.c: Added z80asm support on --asm=z80asm
908 * src/z80/gen.c: Fixed asm portability issues.
910 * src/asm.c (tvsprintf): Removed old code, added 'N' for function name. For extern support.
912 * src/SDCCglue.c (printExterns): Added global/extern split.
914 2001-12-17 Bernhard Held <bernhard@bernhardheld.de>
916 * support/regression/Makefile: added test for mcs51 model large
918 * support/regression/ports/mcs51-large/spec.mk: added test for mcs51 model large
920 * support/regression/ports/gbz80/spec.mk: added -mgbz80
922 2001-12-05 Michael Hope <michaelh@juju.net.nz>
924 * src/diff.1 (Index): Many, many optmisiations. Dhrystone up to 201.
926 1904-01-06 Michael Hope <michaelh@juju.net.nz>
928 * src/z80/ralloc.c (packRegsForIYUse): Fixed the case where an operand is in direct space.
930 * src/z80/gen.c (makeFreePairId): Optimised IY load by using a spare pair.
932 2001-12-02 Bernhard Held <bernhard@bernhardheld.de>
934 * src/mcs51/gen.c (genFunction): avoid excess "inc sp"
936 * support/regression/tests/simplefloat.c: Port to mcs51.
938 2001-11-25 Michael Hope <michaelh@juju.net.nz>
939 * support/regression/tests/bug-485362.c: Added.
941 * support/regression/tests/simplefloat.c (testDivNearOne): Added.
943 * src/z80/gen.c (aopOp): Fixed case where left and result are in the same spill loc and they have different sizes.
945 * src/z80/peeph.def: Added rules for optimising two byte compares on the same thing, and to optimise two ptr assign.
947 * src/z80/gen.c (aopDump): Added a dump function.
949 2001-11-25 Bernhard Held <bernhard@bernhardheld.de>
950 * sim/ucsim/s51.src/glob.cc: DS390 SFRs and bits added.
952 * sim/ucsim/s51.src/port.cc: Port 4 and 5 added.
954 * sim/ucsim/s51.src/regs51.h: DS390 SFRs added.
956 * sim/ucsim/s51.src/uc390.cc: Some details improved, CKRDY works for tinibios.
958 * sim/ucsim/s51.src/uc390cl.h: Work in progress.
960 * sim/ucsim/sim.src/uccl.h: 6 ports for DS390.
962 * support/regression/fwk/lib/testfwk.c: Run with tinibios.
964 * support/regression/ports/mcs51/spec.mk: Fine tuninig.
966 * support/regression/ports/ds390/support.c: Use tinibios.
968 * support/regression/ports/ds390/spec.mk: Fine tuning, use tinibios.
970 2001-11-23 Michael Hope <michaelh@juju.net.nz>support/regression/tests/bug-460010.c
972 * src/z80/ralloc.c (packRegsForHLUse3): Changed to not pack into HL if anything is in direct space.
973 (packRegsForHLUse3): Added packing support for send, cast, and return value from a call.
975 * src/z80/peeph.def: Added rules for optimising pushes of part of a pair.
977 * src/z80/gen.c (emitCall): Changed the stack fixup to not use HL.
979 2001-11-18 Michael Hope <michaelh@juju.net.nz>
981 * src/z80/gen.c (genCmp): Fixed compare on unsigned.
983 * src/z80/ralloc.c (packRegsForHLUse3): Created and optimised.
984 (packRegsForIYUse): Created and optimised.
986 2001-11-07 Michael Hope <michaelh@juju.net.nz>
988 * support/regression/tests/float.c (testFloatAdd): Fixed up warning.
989 2001-11-18 Bernhard Held <bernhard@bernhardheld.de>
991 * sdcc/support/regression/tests/bug-460010.c: fix seg violation on host
993 * sdcc/support/regression/tests/muldiv.c: fix output on mcs51
995 * sdcc/support/regression/tests/stacks.c: fix DSEG overflow on mcs51
997 2001-11-07 Bernhard Held <bernhard@bernhardheld.de>
999 * sdcc/sim/device/lib/_gptrget.c: mem region 5 (idata) added
1001 * sdcc/sim/device/lib/_gptrput.c: mem region 5 (idata) added
1003 2001-11-07 Bernhard Held <bernhard@bernhardheld.de>
1005 * sdcc/sim/ucsim/globals.cc: New: IXRAM.
1007 * sdcc/sim/ucsim/stypes.h: New: IXRAM.
1009 * sdcc/sim/ucsim/s51.src/uc390.cc: New: IXRAM.
1011 2001-11-07 Michael Hope <michaelh@juju.net.nz>
1013 * src/z80/ralloc.c (packRegsForHLUse): Banned IFXs from being packed into HL.
1014 (packRegsForHLUse): Added rule to pack address of/pointer get for itemps into HL for the Z80.
1015 (packRegsForAccUse2): Added rule to pack hbit IFXs into A.
1017 * src/z80/main.c (_setDefaultOptions): Made float code re-entrant by default.
1019 * src/z80/gen.c (aopGetLitWordLong): Added word support for floats.
1020 (genNotFloat): Added.
1021 (genUminusFloat): Added.
1023 * device/lib/z80/Makefile: Added floating pt stubs.
1025 * device/lib/Makefile.in (Z80SOURCES): Added floating pt support.
1027 * src/z80/gen.c (genIpush): Fixed up a push of one byte when left is in a pair.
1029 * device/lib/_fsadd.c (__fsadd): Fixed up return where the numbers are hugely different.
1031 2001-11-07 Bernhard Held <bernhard@bernhardheld.de>
1033 * sdcc/sim/ucsim/s51.src/glob.cc: Minor fix.
1035 * sdcc/sim/ucsim/s51.src/regs51.h: Minor fix.
1037 * sdcc/support/regression/Makefile: Add port ds390.
1039 * sdcc/support/regression/ports/mcs51/spec.mk: Minor change.
1041 * sdcc/support/regression/ports/z80/spec.mk: Minor change.
1043 * sdcc/support/regression/ports/ds390/spec.mk: Added.
1045 * sdcc/support/regression/ports/ds390/support.c: Added.
1047 * sdcc/support/regression/ports/ds390/uCsim.cmd: Added.
1049 * sdcc/support/regression/ports/mcs51/timeout.c: Cut.
1051 * sdcc/support/regression/fwk/lib/timeout.c: Paste.
1053 2001-11-04 Michael Hope <michaelh@juju.net.nz>
1055 * device/include/malloc.h: Added z80 and gbz80 support.
1057 * device/lib/gbz80/heap.s: Added.
1059 * device/lib/z80/heap.s: Added.
1061 * device/lib/malloc.c: Added z80 and gbz80 support.
1063 * support/regression/tests/malloc.c (testMalloc): Added.
1065 * src/SDCCmain.c (parseCmdLine): Added support for -Wp.
1067 * support/regression/tests/bug-478094.c: Added.
1069 * src/z80/gen.c (commitPair): Fixed silly gbz80/z80 commit to static bug.
1071 2001-11-04 Bernhard Held <bernhard@bernhardheld.de>
1073 * sdcc/sim/ucsim/s51.src/uc390cl.h: Improvement for ds390 to run regression tests
1075 * sdcc/sim/ucsim/s51.src/uc390.h: Improvement for ds390 to run regression tests
1077 * sdcc/sim/ucsim/s51.src/regs51.h: Improvement for ds390 to run regression tests
1079 * sdcc/sim/ucsim/s51.src/glob.cc: Improvement for ds390 to run regression tests
1081 * sdcc/support/regression/tests/bug-460010.c: Small change for ds390
1083 2001-11-04 Michael Hope <michaelh@juju.net.nz>
1085 * src/z80/peeph-gbz80.def: Removed a bad sub optimisation.
1087 2001-11-03 Michael Hope <michaelh@juju.net.nz>
1089 * support/regression/tests/bug-477927.c: Added.
1091 * src/z80/peeph.def: Added minor rules.
1093 * src/z80/gen.c (genPlusIncr): Added an extra plusinc rule.
1095 * src/z80/peeph.def: Added jump optimisation modification.
1097 2001-11-01 Michael Hope <michaelh@juju.net.nz>
1099 * src/SDCCmain.c (linkEdit): Added runtime path detection to the mcs51 port.
1101 2001-10-30 Michael Hope <michaelh@juju.net.nz>
1103 * support/regression/tests/funptrs.c: Added.
1105 2001-10-29 Michael Hope <michaelh@juju.net.nz>
1107 * src/z80/ralloc.c (packRegsForHLUse): Fixed up bad spill due to pushing one byte via HL.
1109 2001-10-28 Michael Hope <michaelh@juju.net.nz>
1111 * src/z80/gen.c (genArrayInit): Made it work for on stack arrays.
1113 * src/z80/main.c (gbz80_port =): Added rle support to the gbz80 port.
1115 * src/z80/gen.c (genMinus): Fixed for where the result is one byte.
1116 (movLeft2ResultLong): Created.
1118 * src/z80/ralloc.c (packRegsForHLUse): Added a couple of simple cases for the GB.
1119 (joinPushes): Added. Joins two char pushes into a word push.
1121 2001-10-27 Michael Hope <michaelh@juju.net.nz>
1123 * support/cpp2/Makefile.in (install): Added creation of dest dir.
1125 * support/makebin/Makefile (install): Added creation of dest dir.
1127 2001-10-24 Karl Bongers <karl@turbobit.com>
1129 * configure.in, configure, Makefile, support/cpp: Removed cpp folder, since we have new cpp2 preprocessor code.
1131 2001-10-21 Michael Hope <michaelh@juju.net.nz>
1133 * src/z80/ralloc.c: Turned off faulty pack for one use.
1135 * src/z80/peeph-gbz80.def: Removed redundent restart options.
1137 * src/z80/gen.c (genMult): Added native mul for constants on the z80 and gbz80.
1139 2001-10-21 Bernhard Held <bernhard@bernhardheld.de>
1141 * support/regression/Makefile: Improved clean
1143 * support/regression/ports/gbz80/spec.mk: Added clean
1145 * support/regression/ports/host/spec.mk: Added clean
1147 * support/regression/ports/z80/spec.mk: Added clean
1149 * support/regression/ports/mcs51/spec.mk: Added clean, little improvements
1151 * support/regression/ports/mcs51/timeout.c: little improvements
1153 2001-10-17 Michael Hope <michaelh@juju.net.nz>
1155 * device/lib/malloc.c (MEMHEADER): Fixed against new pedantic pointers.
1157 * support/regression/fwk/include/testfwk.h: Fixed up to use function pts correctly.
1159 * support/regression/generate-cases.py: Fixed up to use function pts correctly.
1161 2001-10-16 Bernhard Held <bernhard@bernhardheld.de>
1163 * support/regression/port/mcs51/spec.mk: add timeout for uCsim
1165 * support/regression/port/mcs51/timeout.c: add timeout for uCsim
1167 2001-10-13 Michael Hope <michaelh@juju.net.nz>
1168 * src/z80/gen.c (emitCall): Fixed up missing spill of HL when used to assign the result value.
1170 * src/z80/ralloc.c: Turned off pack for one use as it's quite broken.
1172 * src/SDCCmain.c (linkEdit): Added support for passing a legacy command line through the processor.
1174 * src/mcs51/main.c (_linkCmd): Added bin path to command.
1176 * src/SDCCmain.c (initValues): Added support for when it it called just to link.
1178 * as/mcs51/lklibr.c (libfil;): Turned off 'library file' message.
1180 * src/SDCCval.c (constVal): Fixed usage of 'L' modifier problems on ppc.
1182 * support/regression/tests/longor.c: Added.
1184 2001-10-11 Bernhard Held <bernhard@bernhardheld.de>
1186 * as/mcs51/asdata.c: replaced FILENAME_MAX with PATH_MAX
1188 * as/mcs51/aslink.h: define PATH_MAX
1190 * as/mcs51/asm.h: define PATH_MAX
1192 * as/mcs51/asmain.c: replaced FILENAME_MAX with PATH_MAX
1194 * as/mcs51/asnoice.c: replaced FILENAME_MAX with PATH_MAX
1196 * as/mcs51/lklex.c: replaced FILENAME_MAX with PATH_MAX
1198 * as/mcs51/lkmain.c: replaced FILENAME_MAX with PATH_MAX
1200 * src/SDCCglobl.h: define PATH_MAX
1202 * src/SDCCmacro.c: replaced FILENAME_MAX with PATH_MAX
1204 * src/SDCCmain.c: replaced FILENAME_MAX with PATH_MAX
1206 2001-10-11 Michael Hope <michaelh@juju.net.nz>
1208 * src/z80/gen.c (gencjneshort): Fixed
1210 * src/z80/ralloc.c (packRegsForHLUse): Added pack into HL for cast then ipush.
1212 2001-10-09 Michael Hope <michaelh@juju.net.nz>
1214 * support/regression/tests/bug-469671.c: Added.
1216 * src/z80/gen.c (shiftIntoPair): Fixed up warning.
1218 2001-10-08 Michael Hope <michaelh@juju.net.nz>
1220 * src/SDCCmain.c: Added --fommit-frame-pointer option and implemented in the z80 port.
1222 * src/z80/gen.c (genPlus): Fixed to work with extended stack. Also fixed genMinus, genCmp. genUMinus is still left.
1224 2001-10-08 Bernhar Held <bernhard@bernhardheld.de>
1226 * src/SDCCmain.c (preProcess): added define SDCC_NOOVERLAY
1228 * src/device/lib/_mulint.c : removed hint: nooverlay bug
1230 * src/device/lib/_mullong.c : removed hint: nooverlay bug
1232 * src/device/lib/_divuint.c : removed hint: nooverlay bug
1234 * src/device/lib/_divulong.c: removed hint: nooverlay bug
1236 * src/device/lib/_moduint.c : removed hint: nooverlay bug
1238 * src/device/lib/_modulong.c: removed hint: nooverlay bug
1240 2001-10-07 Michael Hope <michaelh@juju.net.nz>
1242 * src/z80/gen.c (setupPair): Added 'extended stack' support for the z80. Can now have local variables or parameters of more than 127 bytes in size. Increadibly slow, but it will work. Currently anything involving the carry flag.
1244 * support/Util/NewAlloc.c (freeTrace): Changed free for the gc case to not free at all. Fixes runtime segfault.
1246 * support/regression/tests/scott-compare3.c (c_abcd): Fixed up casts.
1248 2001-10-07 <johan@FRIJA>
1250 * device/lib/gets.c (gets): fixed the return value.
1252 2001-10-06 Michael Hope <michaelh@juju.net.nz>
1253 * src/SDCCmain.c (WRITE_SEG_LOC): Fixed up to use Safe_strdup.
1255 * src/SDCCpeeph.c (peepHole): Fixed all leaks. Added trace support for freeing lines. Optimised restart logic to re-run instead of restart. Now compiles dscan.c on ~60MB instead of ~200MB.
1257 * support/Util/NewAlloc.c: Added ability to use libgc instead of malloc. Added Safe_free and Safe_strdup. Added trace support where you can log allocations and free all at once.
1259 * src/z80/gen.c (genZ80Code): Added de-allocation via trace support.
1261 * src/pic/gen.c: Removed Safe_strdup.
1263 * configure.in: Added option to enable libgc support.
1265 * src/SDCCbitv.c (bitVectnBitsOn): Optimised.
1266 (bitVectUnion): Optimised.
1267 (bitVectIntersect): Optimised.
1268 (bitVectBitsInCommon): Optimised.
1269 (bitVectCplAnd): Optimised.
1271 * support/makebin/makebin.c (usage): Removed getopt as mingw32 doesn't have it. Sigh.
1273 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
1275 * src/SDCCmain.c: distinguish between assembler debug and plain options
1277 * src/avr/main.c: remove standard assembler options
1279 * src/ds390/main.c: remove standard assembler options
1281 * src/mcs51/main.c: remove standard assembler options
1283 * src/port.h: removed "PENDING" comment
1285 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
1287 * src/device/lib/_mulint.c : new, with assember functions
1289 * src/device/lib/_mullong.c : new, with assember functions
1291 * src/device/lib/_divuint.c : with assember functions
1293 * src/device/lib/_divsint.c : with assember functions
1295 * src/device/lib/_divulong.c: with assember functions
1297 * src/device/lib/_divslong.c: with assember functions
1299 * src/device/lib/_moduint.c : with assember functions
1301 * src/device/lib/_modsint.c : with assember functions
1303 * src/device/lib/_modulong.c: with assember functions
1305 * src/device/lib/_modslong.c: with assember functions
1307 * src/device/lib/libint.lib: replaced _muluint.c and _mulsint.c by _mulint.c
1309 * src/device/lib/liblong.lib: replaced _mululong.c and _mulslong.c by _mullong.c
1311 * src/device/lib/Makefile.in: replaced _muluint.c and _mulsint.c by _mulint.c
1312 replaced _mululong.c and _mulslong.c by _mullong.c
1314 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
1316 * src/SDCCsymt.c: sequence of specifiers in pintTypeChain() corrected
1318 2001-10-01 Bernhard Held <bernhard@bernhardheld.de>
1320 * src/SDCCglue.c: test, if win32api is available for MINGW
1322 2001-10-01 Bernhard Held <bernhard@bernhardheld.de>
1324 * src/SDCCsymt.c: no more _modifier in printTypeChain()
1325 * support/regression/tests/driverstruct.c: REENTRANT for mcs51
1326 * support/regression/ports/gbz80/spec.mk: removed GENERIC
1327 * support/regression/ports/host/spec.mk: removed GENERIC
1328 * support/regression/ports/mcs51/spec.mk: removed GENERIC
1329 * support/regression/ports/z80/spec.mk: removed GENERIC
1331 2001-10-01 Michael Hope <michaelh@juju.net.nz>
1333 * support/regression/fwk/lib/testfwk.c (__printf): Removed GENERIC.
1335 * support/regression/tests/bug-467035.c: Created.
1337 2001-10-01 <johan@FRIJA>
1339 * src/SDCC.y: fixed bug #466586 part 1
1341 2001-10-01 Johan Knol <johan.knol@iduna.nl>
1343 * SDCCicode.c: z80 has no generic pointers
1344 * removed -s from strip in all Makefile(.in)'s. It is not needed, but Solaris chocks on it.
1346 2001-09-30 Michael Hope <michaelh@juju.net.nz>
1348 * sim/ucsim/cmd.src/Makefile.in ($(PRJDIR)/libcmd.a): Changed all ar references to $(AR) for Solaris.
1350 2001-09-29 Michael Hope <michaelh@juju.net.nz>
1352 * Makefile (sdcc-libs): Added makebin to the list of standard targets.
1354 * support/regression/ports/z80/spec.mk: Updated to use env for sdcc bin dir for automatic regression.
1356 2001-09-25 Michael Hope <michaelh@juju.net.nz>
1358 * configure.in: Fixed up so that ucsim is only configured once.
1360 * support/cpp2/configure.in: Fixed to use the program transform to append the .exe for the win32 build.
1362 * src/SDCCutil.c (getPrefixFromBinPath): Fixed up to work with win32 in all of its glory.
1363 (getPathDifference): As above.
1365 * src/SDCCmain.c (preProcess): Changed to use a temporary file in a proper temp directory. Fixed case where pre-processing only.
1367 * src/SDCCglue.c (tempfilename): Added function for pre-processor.
1369 2001-09-23 Michael Hope <michaelh@juju.net.nz>
1370 * .version: Updated to 2.3.1
1372 * src/z80/main.c (z80_port =): Added macro based linker and assembler command line support.
1373 Added copyright header.
1375 * src/SDCCmain.c: Shifted various functions into SDCCutil.c
1376 (assemble): Added support for macro based assembler commands.
1377 (linkEdit): Added support for macro based linker commands.
1378 (preProcess): Changed the pre-processor to use macros.
1379 (_setPaths): Added functionality to autodetect the include, lib and bin dir paths.
1380 (_discoverPaths): Added support for overriding the install directory using the SDCCDIR env variable.
1382 * device/lib/z80/crt0.s: Added module name for debugging.
1384 2001-09-20 Michael Hope <michaelh@juju.net.nz>
1386 * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
1388 * src/SDCChasht.c (hTabDeleteByKey): Fixed delete as it would delete the last item from a bucket even if it wasn't the real one.
1390 * src/SDCCglue.c: Moved gc_strdup to SDCCutil.c
1392 * src/Makefile.in: Added SDCCmacro and SDCCutil
1394 2001-09-19 Michael Hope <michaelh@juju.net.nz>
1396 * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
1398 2001-09-16 <johan@FRIJA>
1400 * support/Util/SDCCerr.c: fixed up the error/warning/info database. I only changed the E_ W_ I_ prefix to what SDCCerr.c says it is.
1402 2001-09-15 <johan@FRIJA>
1404 * src/mcs51/ralloc.c: (findAssignToSym): fixed bug #460662 part 1
1405 * src/ds390/ralloc.c (findAssignToSym): fixed bug #460662 part 1
1407 2001-09-11 <johan@FRIJA>
1409 * src/SDCCval.c (valDiv Mod Minus Plus Shift): keep litteral expressions as small as possible (bug #460010)
1411 2001-09-10 Michael Hope <michaelh@juju.net.nz>
1413 * support/regression/tests/bug-460444.c: Added test case.
1415 * src/z80/gen.c (genOr): bug 460444: if (a ^ lit) was broken for &, |, and ^.
1416 (genCast): Added justification for all of the asserts.
1418 2001-09-10 Bernhard Held <bernhard@bernhardheld.de>
1420 * support/regression/support.c: _xdata replaced by xdata
1422 * support/regression/spec.mk: removed _generic
1424 2001-09-09 Michael Hope <michaelh@juju.net.nz>
1426 * src/pic/ralloc.c (debugLogRegType): Removed some old types to get it to compile.
1428 * src/z80/gen.c (shiftR2Left2Result): Improved the case when v = v >> n for small values of n to use less code space and time.
1429 (genrshTwo): Fixed v = v >> n where v is a negative int and n is > 8: bug 460010.
1431 * src/z80/peeph.def: Added a rule to optimise shift then compare.
1433 * support/regression/tests/bug-460000.c (testShiftByParam): Added test case.
1435 * support/regression/tests/bug-460010.c: Added test case.
1437 * support/regression/Makefile (test-host): Removed a silly 'clean' target when testing against gcc.
1439 2001-09-09 Bernhard Held <bernhard@bernhardheld.de>
1441 * support/regression/Makefile: inter-port-clean adjusted for mcs51
1443 * support/regression/testfwk.c: removed workaround for bug #436344
1445 * support/regression/tests/bp.c: use less memory with mcs51
1447 * support/regression/tests/bug-441448.c: use less memory
1449 * support/regression/tests/ports/mcs51/spec.mk: cleanup, use --stack-after-data
1451 * support/regression/collate-results.py: typo
1453 2001-09-08 Michael Hope <michaelh@juju.net.nz>
1455 * support/regression/tests/fetchoverlap.c: Added new test case.
1457 * support/regression/tests/bp.c: Added new test case.
1459 * support/regression/tests/bug-448984.c: Added new test case.
1461 * support/regression/tests/pow2shifts.c: Added new test case.
1463 * src/z80/gen.c: Turned off the noise it normally generates for the release.
1464 (genlshTwo): Fixed right shift for count > 8.
1466 * src/z80/ralloc.c: Disabled most of the ACC packing rules as they weren't getting hit and weren't at all safe.
1468 2001-09-08 <johan@FRIJA>
1470 * src/SDCCicode.c (geniCodeCall): a CPOINTER can be used as a function
1472 2001-09-07 <johan@FRIJA>
1474 * src/SDCCicode.c (newiCodeCondition): fixed bug #456235 (1.77)
1476 * src/SDCCglue.c (emitRegularMap): only delete a symbol when it is a symbol
1478 2001-09-06 <johan@FRIJA>
1480 * src/SDCC.y: this could be a fix for bug #458744 (1.37)
1481 * bernhard noted me at this: "() equals to (void)" (1.38)
1483 2001-09-05 <johan@FRIJA>
1485 * src/SDCCglue.c (emitRegularMap): a fix for bug #458099/2
1487 2001-09-04 <johan@FRIJA>
1489 * src/SDCCsymt.c (checkSClass): a fix for bug #458099/1
1492 2001-09-04 Paul Stoffregen <paul@pjrc.com>
1494 * pragma noinduction broke memcpy on mcs51 large model. Moved it inside z80 optimization
1496 2001-09-03 Michael Hope <michaelh@juju.net.nz>
1498 * link/z80/aslink.h: Fixed path for PATH_MAX
1500 2001-09-02 Michael Hope <michaelh@juju.net.nz>
1502 * src/z80/gen.c (fetchLitPair): Changed so that it properly caches direct space references.
1504 * support/regression/tests/addsub.c: Added cases to cover all the +, - combinations.
1506 * support/regression/tests/uminus.c: Added a test for the unary minus operator.
1508 * src/z80/gen.c (genUminus): Fixed add, sub, and uminus on the gbz80 port for longs. Had to shift some functions about to do it.
1510 2001-09-01 Michael Hope <michaelh@juju.net.nz>
1512 * src/z80/gen.c: Fixed up generator to pass the regresion tests, specifically fixing loads for longs, genCmp, and turned on the map file.
1513 (genCmp): Fixed up genCmp for the GB with longs.
1515 * device/lib/gbz80/Makefile: Fixed up all the libraries to pass the regression tests.
1517 * support/regression/ports/host/spec.mk: Updated to compile with the new type specifiers.
1519 * device/lib/Makefile.in (Z80SOURCES): Removed old _mululong, _mulslong, and unneeded _mulint.
1521 * device/lib/_mullong.c (_mulslong): Changed to actually return a value :)
1523 2001-08-30 Paul Stoffregen <paul@pjrc.com>
1525 * added peepholes 223 to 231 to mcs51 port. These improve code when using large model.
1527 2001-08-30 Michael Hope <michaelh@juju.net.nz>
1529 * device/lib/gbz80/crt0.s (init): Fixed up support for the gbz80 such that it will at least run (and fail badly) the regression tests.
1531 * src/z80/gen.c (genPlus): Changed bad long add for gb to a fall through.
1533 2001-08-29 Michael Hope <michaelh@juju.net.nz>
1535 * link/z80/aslink.h: Fixed long file name support. Is now based off PATH_MAX instead of a constant.
1537 * src/z80/gen.c: Fixed add and sub for the case where left or right are in static space.
1539 2001-08-30 Bernhard Held <bernhard@bernhardheld.de>
1541 * sim/ucsim/configure: little improvement of Cygwin-detection
1542 * sim/ucsim/configure.in: little improvement of Cygwin-detection
1543 * sim/ucsim/cmd.src/newcmdcl.h: include <sys/types.h> to define fd_set automated build
1544 * support/regression/tests/bug-221100.c: small changes for mcs51
1545 * support/regression/tests/bug-221168.c: small changes for mcs51
1546 * support/regression/tests/bug-227710.c: small changes for mcs51
1547 * support/regression/tests/staticinit.c: small changes for mcs51
1548 * as/mcs51/aslink.h: accept everything as symbol name in rel-files, bug fix ID 452601
1549 * as/mcs51/lklex.c: accept everything as symbol name in rel-files, bug fix ID 452601
1550 * as/mcs51/lksym.c: accept everything as symbol name in rel-files, bug fix ID 452601