1 2003-02-24 Bernhard Held <bernhard@bernhardheld.de>
3 * device/include/ctype.h: removed warning while using --stack-auto
4 * device/include/malloc.h: removed warning while using --stack-auto
5 * device/include/string.h: removed warning while using --stack-auto
7 2003-02-23 Borut Razem <borut.razem@siol.net>
9 * src/asm.h: corrected assertion in function printILine(): _pipe() was not executed on MSVC,
10 because NDEBUG is defined (see man assert)
11 * sdcc_vc_in.h: vsnprintf is defined as _vsnprintf on MSVC
13 2003-02-23 Frieder Ferlemann <Frieder.Ferlemann@web.de>
15 * src/mcs51/gen.c (genUminusFloat): avoided dptr in-/decrement for xdata variables
16 * src/mcs51/peeph.def: added rule suggested by Gernot Fink, white space/comment changes
18 2003-02-18 Frieder Ferlemann <Frieder.Ferlemann@web.de>
20 * src/SDCCpeeph.c: added peephole conditions testing for same arguments
21 * src/mcs51/peeph.def: added rules 238a-d which remove redundant moves
23 2003-02-18 <johan@balder>
25 * as/mcs51/asmain.c (asmbl): module can start with a digit
26 * as/z80/asmain.c (asmbl): module can start with a digit
28 2003-02-16 Bernhard Held <bernhard@bernhardheld.de>
30 * sim/ucsim/mkecho: inserted #!/bin/sh for Cygwin, so that it's executable
31 * src/asm.c: fix pipe() for Mingw32
33 2003-02-15 Bernhard Held <bernhard@bernhardheld.de>
35 * src/SDCCglue.h: make tmpfileNameSet available for preOutName
36 * src/SDCCmain.c (preProcess): make sure, that preOutName will be deleted;
37 make -V work again; --c1mode reads now from stdin
38 * doc/sdccman.lyx: added --c1mode
39 * support/Util/SDCCerr.c: new messages for c1 mode
40 * support/Util/SDCCerr.h: new messages for c1 mode
41 * src/SDCC.lex (checkCurrFile): test if fullSrcFileName is NULL for c1mode
43 2003-02-15 <johan@balder>
45 * src/asm.c: new options: --no-c-code-in-asm and --i-code-in-asm
47 2003-02-14 Bernhard Held <bernhard@bernhardheld.de>
49 * doc/sdccman.lyx: Environment variables, -o and other minor things
51 2003-02-14 <johan@balder>
53 * src/xa51/main.c: before anyone really tries to use it :)
55 * Install doc's in share/sdcc/doc
56 * removed some obsolete files
57 * Do a proper make distclean and uninstall
61 M device/include/Makefile.in
62 M device/lib/Makefile.in
65 M sim/ucsim/doc/Makefile.in
69 M support/cpp2/Makefile.in
70 M support/makebin/Makefile
73 2003-02-13 Bernhard Held <bernhard@bernhardheld.de>
75 * support/regression/ports/host/spec.mk: use cc as host compiler for max osx
77 2003-02-10 Borut Razem <borut.razem@siol.net>
79 * doc/bccinst.txt, packihx/packihx.c, sdcc_vc_in.h, src/SDCCset.h,
80 support/cpp2/config.in: Borland C++ build doesn't depend on Cygwin configure
81 * Bcc.ini, Makefile.bcc, as/mcs51/Makefile.bcc,
82 device/examples/ds390/tinitalk/Makefile.bcc, packihx/Makefile.bcc,
83 support/cpp2/Makefile.bcc, src/Makefile.bcc, src/avr/Makefile.bcc,
84 src/ds390/Makefile.bcc, src/izt/Makefile.bcc, src/mcs51/Makefile.bcc,
85 src/pic/Makefile.bcc, src/pic16/Makefile.bcc, src/xa15/Makefile.bcc,
86 src/z80/Makefile.bcc: Borland Makefile cleanup
87 * as/z80/Makefile.bcc: Added Borland Makefile
88 * support/cpp2/borland.h: Removed
90 2003-02-10 Bernhard Held <bernhard@bernhardheld.de>
92 * doc/sdccman.lyx: new pragma NOIV by "Johannes Stezenbach" <js@convergence.de>
93 * src/SDCC.lex: new pragma NOIV
94 * src/SDCCglobl.h: new pragma NOIV
95 * src/SDCCmem.c: new pragma NOIV
97 2003-02-09 Bernhard Held <bernhard@bernhardheld.de>
99 * src/SDCCmain.c: signal handling is switched off by SDCC_LEAVE_SIGNALS
101 2003-02-09 Bernhard Held <bernhard@bernhardheld.de>
103 * src/SDCCmain.c: signal handling is switched off by --debug
104 * doc/Makefile: small fix for install; use clean.mk again
105 * doc/clean.mk: clean *.pdf and *.html too
107 2003-02-08 Bernhard Held <bernhard@bernhardheld.de>
109 * device/lib/_mulint.c: small fix for large/ds390 --int-long-reent resp. --stack-auto
110 * device/lib/printfl.c: fix a ds390 bug by making it portable
111 * src/SDCCsymt.c (initCSupport): fix compile warning on Cygwin
112 * src/SDCCopt.c (cnvToFloatCast): fix compile warning on Cygwin
113 * src/SDCCopt.c (cnvFromFloatCast): fix compile warning on Cygwin
114 * debugger/mcs51/cmd.c: converted multi-line string literals
115 * sim/ucsim/globals.cc: converted multi-line string literals
116 * src/SDCCmain.c: introduced signal handler to remove temp files
117 * doc/Makefile: small tweaks, implement clean
118 * doc: removed generated files
120 2003-02-05 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
122 * as/mcs51/aslink.h, as/mcs51/lkihx.c, as/mcs51/lkrloc.c: Applied
123 patch from Jan Rejlek <jr@apex-lib.cz> to fix Bug 677692: "Extended
124 Address Record is not correctly generated for DS390."
126 2003-02-02 Borut Razem <borut.razem@siol.net>
128 * Makefile.bcc: removed non existing cpp project and non compilable izt project from makefile
129 * as/mcs51/asm.h: fixed compilation with Borland C
130 * support/cpp2/Makefile.bcc: added rule to generate auto-host.h
131 * support/cpp2/auto-host_vc_in.h: fixed compilation with Borland C
132 * src/mcs51/mcs51a.dsp: corrected misspelled project name from msc51a to mcs51a
133 * src/avr/Makefile.bcc, src/ds390/Makefile.bcc, src/izt/Makefile.bcc,
134 src/mcs51/Makefile.bcc, src/pic16/Makefile.bcc, src/xa51/Makefile.bcc,
135 src/z80/Makefile.bcc: delete $(LIB) only if exist
136 * src/Makefile.bcc, src/pic/Makefile.bcc: fixed compilation with Borland C
138 2003-02-02 Bernhard Held <bernhard@bernhardheld.de>
140 * device/include/malloc.h: introduced NULL
141 * device/include/string.h: introduced NULL
142 * device/include/stdlib.h: introduced NULL
143 * device/lib/_memcpy.c: removed NULL
144 * device/lib/_strcat.c: removed NULL
145 * device/lib/_strchr.c: removed NULL
146 * device/lib/_strcmp.c: removed NULL
147 * device/lib/_strcpy.c: removed NULL
148 * device/lib/_strcspn.c: removed NULL
149 * device/lib/_strlen.c: removed NULL
150 * device/lib/_strncat.c: removed NULL
151 * device/lib/_strncmp.c: removed NULL
152 * device/lib/_strncpy.c: removed NULL
153 * device/lib/_strpbrk.c: removed NULL
154 * device/lib/_strrchr.c: removed NULL
155 * device/lib/_strspn.c: removed NULL
156 * device/lib/_strstr.c: removed NULL
157 * device/lib/_strtok.c: removed NULL
158 * device/lib/malloc.c: removed NULL, include own header
160 2003-02-02 <johan@balder>
162 * 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
163 * support/regression/fwk/lib/testfwk.c: div and mod isn't broken anymore
164 * regressions ds390/spec.mk and mcs51/spec.mk (timeout): my good old balder isn't fast enough for some tests
165 * src/z80/gen.c (genZ80Code): added c-lines in asm comments
166 * as/z80/asm.h (NINPUT): increased for long c-comments in regression tests
167 * src/z80/gen.c (genRightShiftLiteral): fixed the (char)(-3)>>8 (I think)
169 2003-02-01 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
171 * src/SDCCmain.c: Fixed bug 678574: "ds390: ASlink-Error-Stack overlaps
174 2003-02-01 <johan@balder>
176 * src/SDCCval.c (valBitwise): fixed Karl's "2 | (1<<8)"
178 2003-01-31 <johan@CP255758-A>
180 * src/ds390/main.c (_ds390_genAssemblerPreamble): applied Jan Rejlek's >64K startup patch
182 2003-01-30 <johan@balder>
184 * src/SDCCBBlock.c: automatic bug detection
185 * src/SDCCicode.c: automatic bug detection
187 2003-01-29 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
189 * src/SDCCglobl.h: now --xram-size 0 works
190 * src/SDCCmain.c: now --xram-size 0 works
192 2003-01-29 <johan@balder>
194 * src/almosteverything: changed OP_DEFS and OP_USES from macros to functions to catch symbol abuse (a hot topic in the bug list :)
196 2003-01-29 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
198 * as/mcs51/aslink.h: Added options --xram-size and --code-size
199 * as/mcs51/lkdata.c: Added options --xram-size and --code-size
200 * as/mcs51/lkmain.c: Added options --xram-size and --code-size
201 * as/mcs51/lkmem.c: Added options --xram-size and --code-size
202 * src/SDCCglobl.h: Added options --xram-size and --code-size
203 * src/SDCCmain.c: Added options --xram-size and --code-size
205 2003-01-28 Bernhard Held <bernhard@bernhardheld.de>
207 * src/ds390/gen.c: fix deps by replacing <common.h> with "common.h"
208 * src/SDCC.lex: rename P_OVERLAY to P_OVERLAY_ for cross-gcc 3.2 MINGW32
210 2003-01-27 <johan@balder>
212 * src/SDCC.y: fixed bug #613764
214 2003-01-26 <johan@balder>
216 * src/SDCClrange.c: fixed Bernhard's "char * code ptr = &c"
217 * src/SDCCsymt.h: fixed bug #673374
218 * src/SDCCglue.c: fixed bug #661910
219 * src/SDCCast.c: fixed bug #458099 and 673374
221 2003-01-26 Bernhard Held <bernhard@bernhardheld.de>
223 * as/mcs51/strcmpi.c: added, provides Aurelien Jarno's as_strcmpi(); strcmpi() is not ANSI
224 * as/mcs51/strcmpi.h: added
225 * as/mcs51/asm.h: remove ugly "#define strcmpi strcmp"
226 * as/mcs51/aslink.h: remove ugly "#define strcmpi strcmp"
227 * as/mcs51/asmain.c: strcmpi -> as_strcmpi
228 * as/mcs51/assym.c: strcmpi -> as_strcmpi
229 * as/mcs51/lkmem.c: strcmpi -> as_strcmpi
230 * as/mcs51/lknoice.c: strcmpi -> as_strcmpi
231 * as/mcs51/lksym.c: strcmpi -> as_strcmpi
232 * as/mcs51/Makefile.aslink: new module strcmpi
233 * as/mcs51/Makefile.asx8051: new module strcmpi
234 * as/mcs51/Makefil.bcc: new module strcmpi
235 * as/mcs51/Makefile.in: new module strcmpi
236 * sim/ucsim/s51.src/uc390.cc (get_mem_size): make RAM big enough for tinibios
238 2003-01-26 <johan@balder>
240 * src/SDCCglue.c: reverted back to 1.124
241 * src/SDCCast.c: reverted back to 1.156
242 * src/mcs51/gen.c (aopGet): applied Frieder's efficiency patch
244 2003-01-25 <johan@balder>
246 * src/SDCCglue.c: A better fix for bug #661910
247 * src/SDCCast.c: A better fix for bug #661910
248 * src/SDCCglue.c (emitRegularMap): That was a little too efficient
250 2003-01-24 Bernhard Held <bernhard@bernhardheld.de>
252 * src/Makefile.in: remove spawn.o
253 * src/SDCCmain.c: remove spawn.h
254 * src/SDCCmain.c (printVersionInfo): report MINGW32 instead of UNIX
255 * src/spawn.c: removed
256 * src/spawn.h: removed
257 * support/regression/ports/ds390/spec.mk: link with -r
259 2003-01-24 <johan@CP255758-A>
261 * src/ds390/gen.c (aopOp): fixed bug #667458
262 * src/SDCCglue.c (emitRegularMap): fixed bug #458099 again
263 * src/SDCCast.c (createIvalCharPtr): fixed bug #661910
264 (createIvalCharPtr): an ival doesn't always have a storage class anymore
266 2003-01-24 Bernhard Held <bernhard@bernhardheld.de>
268 * src/mcs51/peeph.def: better assembler identation by Frieder
269 * src/mcs51/gen.c: better assembler identation by Frieder
271 2003-01-22 Bernhard Held <bernhard@bernhardheld.de>
273 * as/z80/string.h: removed for gcc 3.2
274 * support/makebin/makebin.c: #include <string.h> for gcc 3.2
275 * src/pic/pcode.c (get_op_from_instruction): fix concatenation of string literals with __FUNCTION__ for gcc 3.2
277 2003-01-19 Bernhard Held <bernhard@bernhardheld.de>
279 * src/SDCCmain.c (linkEdit): rename mem and map files even in case of failure
280 * src/SDCCpeeph.c (replaceRule): fix bug #663503
281 * support/regression/Makefile: separate temp files for ports
282 * support/regression/generate-cases.py: separate temp files for ports
283 * src/mcs51/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
284 * src/ds390/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
286 2003-01-19 Bernhard Held <bernhard@bernhardheld.de>
288 * moved tinitalk to device/examples/ds390
290 2003-01-14 Bernhard Held <bernhard@bernhardheld.de>
292 * as/mcs51/lkmem.c: rflag is for DS390
293 * src/SDCCglobl.h: removed out_name and options stackOnData, genericPtr
294 * src/SDCCmain.c (optionsTable, setDefaultOptions): removed --stack-after-data and --generic
295 (linkEdit): move mem- and map-files the same way as ihx-files
296 * src/z80/main.c (_setDefaultOptions): removed --generic
297 * src/SDCCmain.c (_processC1Arg, parseCmdLine, main): --c1mode works again
298 * src/SDCCglue.c (createInterruptVect, glue): --c1mode works again
299 * src/pic/glue.c (picglue): --c1mode works again
300 * src/pic16/glue.c (pic16glue): --c1mode works again
301 * src/asm.c (printCLine): fix #660034
303 2003-01-13 Bernhard Held <bernhard@bernhardheld.de>
305 * src/ds390/peeph.def: fix #123; add 14 rules by Fiorenzo D. Ramaglia <fd.ramaglia@tin.it>, 1 by Frieder
306 * src/mcs51/peeph.def: fix #123; add 14 rules by Fiorenzo, 1 by Frieder
307 * src/mcs51/gen.c (genFunction): emit r0 instead of ar0 by Fiorenzo
308 * as/mcs51/lkmem (summary): better fix for sp problem
309 * src/SDCCglue.c (glue): __start_stack - 1, saves 1 byte!
310 * src/ds390/main.c (_ds390_finaliseOptions, _tininative_finaliseOptions): stack_loc = 0x400008
311 * support/regression/ports/*/spec.mk: moving testfwk-object to port dir allow parallel execution of regression tests
312 remove --stack-after-data
314 2003-01-12 Bernhard Held <bernhard@bernhardheld.de>
316 * src/SDCCmain.c (main): port->finaliseOptions() moved for z80 linking
317 * src/SDCCutil.c (join): ugly bug: missing '\0'
318 * as/mcs51/lkmem.c (summary): sp on address 7 is safe
320 2003-01-11 Bernhard Held <bernhard@bernhardheld.de>
322 * src/SDCCmain.c (assemble, linkEdit): preparations for -o
324 * src/pic/main.c (_asmCmd): gpasm supports -o
325 * src/z80/main.c: more general macros
326 * device/lib/Makefile.in: remove intermediate files
328 2003-01-11 Bernhard Held <bernhard@bernhardheld.de>
330 * .version: Bumped version number to 2.3.3
331 * src/SDCCBBlock.c: new option -o
332 * src/SDCCglobl.h: new option -o
333 * src/SDCCglue.c: new option -o
334 * src/SDCCmain.c: new option -o
335 * src/asm.c: new option -o
336 * src/ds390/main.c: new option -o
337 * src/pic/glue.c: new option -o
338 * src/pic/pcode.c: new option -o
339 * src/pic/ralloc.c: new option -o
340 * src/pic16/glue.c: new option -o
341 * src/pic16/pcode.c: new option -o
342 * src/pic16/ralloc.c: new option -o
343 * src/z80/main.c: new option -o
344 * device/lib/Makefile.in: use -o
345 * support/regression/ports/ds390/spec.mk: use -o
346 * support/regression/ports/gbz80/spec.mk: use -o
347 * support/regression/ports/mcs51/spec.mk: use -o
348 * support/regression/ports/mcs51-stack-auto/spec.mk: use -o
349 * support/regression/ports/z80/spec.mk: use -o
350 * support/regression/ports/ucz80/spec.mk: use -o
351 * support/regression/ports/xa51/spec.mk: use -o
352 * support/regression/fwk/lib/timeout.c: fix usage string
354 2003-01-09 Bernhard Held <bernhard@bernhardheld.de>
355 * src/mcs51/gen.c (genPlus): replaced "mov b,acc" by "mov b,a" Fiorenzo D. Ramaglia <fd.ramaglia@tin.it>
357 2003-01-07 <johan@balder>
359 * src/SDCCast.c (decorateType): fixed bug #600035
361 2003-01-07 Bernhard Held <bernhard@bernhardheld.de>
362 * as/mcs51/lkmem.c: added several l-modifiers to printf to remove warnings
363 * as/mcs51/lkaomf51.c: #include <ctype.h> to remove warnings
364 * src/pic/main.c (_hasNativeMulFor): outcommented unused variables to remove warnings
365 * src/pic/pcode.c: outcommented unused variable to remove warnings
366 * src/pic/ralloc.c: outcommented unused variable to remove warnings
368 2003-01-06 <karl@turbobit.com>
369 * sim/ucsim/cmd.src/command.cc: fixed so "break xram r 0x7654" works again in
372 2003-01-06 <johan@balder>
374 * src/SDCCicode.c: fixed array add
376 2002-01-05 Bernhard Held <bernhard@bernhardheld.de>
377 * src/SDCCmacro.c: MAX_STRING_LENGTH increased to 2048; was too small for regression tests
378 * support/regression/ports/host/support.c: #include <stdarg.h> for gcc 3.2
380 2003-01-04 <johan@balder>
382 * src/SDCCval.c (getNelements): fixed the initialized array of structures
384 2002-12-29 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
385 * as/mcs51/Makefile.bcc: fixed typo lkomf51.o -> lkaomf51.o
387 2002-12-28 Bernhard Held <bernhard@bernhardheld.de>
388 * src/mcs51/peeph.def: added rules 234 and 235 from Frieder Ferlemann <frieder.ferlemann@web.de>
389 * support/regression/tests/bug-524697.c: fit mem usage into 8032
391 2002-12-28 Bernhard Held <bernhard@bernhardheld.de>
392 * src/mcs51/gen.c (aopGetUsesAcc): inserted missing "return FALSE"
394 2002-12-27 Bernhard Held <bernhard@bernhardheld.de>
395 * as/mcs51/Makefile.in: fixed typo lkomf51.o -> lkaomf51.o
397 2002-12-26 Bernhard Held <bernhard@bernhardheld.de>
398 * src/mcs51/main.c: removed {bindir}{sep} from aslink
400 2002-12-10 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
402 * in \sdcc\as\mcs51\ changed these files in order to create an
403 aomf51 file: aslink.h, lkdta.c, lklex.c, lklibr.c, lklist.c,
404 lkmain.c. Also added: lkmem.c and lkaomf51.c. Changed the
405 following files to include the previous two files: aslink.dsp,
406 Makefile.aslink, Makefile.bcc, and Makefile.in.
408 * Changed \sdcc\src\SDCCmain.c so it creates files with extension
411 2002-11-09 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
413 * \sdcc\as\mcs51\lklist.c: Now reports memory usage using the
414 value from option --iram-size.
416 2002-09-20 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
418 * \sdcc\as\mcs51\lklist.c: added boundary check before using
421 2002-09-18 <wiml@hhhh.org>
423 * SDCClrange.h: exposed setFromRange() and setToRange()
424 * mcs51/ralloc.c: fixed over-eager packRegsForSupport() and
425 packRegsForAccUse() (bug 542397)
426 * mcs51/gen.c: MOVA() is now a function to avoid calling aopGet()
427 multiple times and emitting the fetch operations more than once
428 added aopGetUsesAcc() function to allow binary operators to
429 fetch their operands in the correct order; made genMinus() emit
430 compact code for X = LITERAL - Y
432 2002-09-00 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
433 * \sdcc\as\mcs51\lklist.c: Fixed incorrect number of parameters to
434 sprintf() in line 1267.
436 2002-09-08 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
437 * \sdcc\src\SDCCglue.c: Generate areas REG_BANK_[0-3] only for 8051
440 2002-09-04 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
441 Changes to aslink (All the changes are marked with 'JCF'):
443 * \sdcc\as\mcs51\aslink.h: External definition of sflag and
446 * \sdcc\as\mcs51\lkarea.c: Computes the size of area BSEG_BYTES from
447 area BSEG. Also moves, if possible, the DATA area down into the internal
448 ram so more space is available.
450 * \sdcc\as\mcs51\lkdata.c: Definition of memory summary output flag
453 * \sdcc\as\mcs51\lklist.c: For the BSEG area report the size in bits,
454 not bytes. Function summary() which creates a memory usage summary
455 file with extension .mem. Reports of overlaping stack and small stack
456 size. If the space for the stack is less than 16 bytes aslink trows a
459 * \sdcc\as\mcs51\lkmain.c: Creation of some of the default areas for
460 the 8051. Option 'y' for memory summary output file.
462 Changes to sdcc (All the changes are marked with 'JCF'):
464 * \sdcc\src\SDCCglobl.h: External definition of RegBankUsed[4].
466 * \sdcc\src\SDCCglue.c: If a register bank is used, creates an
467 overlaying area for it (uses RegBankUsed[4]).
469 * \sdcc\src\SDCCmain.c: Definition RegBankUsed[4]; marks register
470 bank zero as used by default. By default aslink locates the stack
471 (equivalent to --stack-after-data). Pass option 'y' to aslink for
472 the creation of the .mem file. Delegates the allocation of data area
473 to aslink (it is not longer 0x30 by default). If --stack-loc passes
474 the begining of the stack area to aslink.
476 * \sdcc\src\SDCCmem.c: If a register bank is used, marks it so
477 glue() in SDCCglue.c creates an area for it.
479 2002-09-03 Borut Razem <borut.razem@siol.net>
480 * sdcc/src/SDCCglue.c, sdcc/src/SDCCglue.h, sdcc/src/SDCCmain.c,
482 introduced atexit() handler for teporay files removal in case of
483 errors, assertions, ...
485 2002-08-29 Borut Razem <borut.razem@siol.net>
486 * sdcc/support/cpp2/auto-host_vc_in.h:
487 re-definition of O_BINARY and other O_XXX as _O_BINARY and _O_XXX, so the problem
488 with the returned value from read() in sdcc/support/cpp2/cppfiles.c is solved for MSC.
489 Maybe there is a similar problem with BORLANDC? It should be checked!
491 * sdcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c, sdcc/src/z80/ralloc.c:
492 corrected improper use of assert: the assignment to clr variable was done inside the assert.
493 In case that NDEBUG was defined, the assert macro was substituted with no-op, so the assignment
494 was not executed, and the compiler (cl) launched a warning:
495 ralloc.c(1442) : warning C4700: local variable 'clr' used without having been initialized
497 2002-08-28 Bernhard Held <bernhard@bernhardheld.de>
498 * src/SDCCglue.c (printIvalArray): iterative calculation of array length
500 2002-08-28 Jesus Calvino-Fraga and Borut Razem <borut.razem@siol.net>
501 * sdcc/sdcc.dsw: added sdcpp, sdcppa, yacc, conf projects
503 * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
504 sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp,
505 sdcc/src/xa51/xa51.dsp, sdcc/src/avr/avra.dsp,
506 sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
507 sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp,
508 sdcc/src/xa51/xa51a.dsp, sdcc/as/as_z80.dsp,
509 sdcc/as/aslink.dsp, sdcc/as/asx8051.dsp, sdcc/packihx/packihx.dsp:
510 - added Release configuration in VS projects
511 - review of compiler an linker options
512 - VC .exe files are generated in bin_vc directory, not to interfere
513 with binaries generated from other projects (cygwin, mingw, bcc ...)
515 * sdcc/src/yacc.dsp: added
517 * sdcc/config.dsp, sdcc/configure_vc.awk, sdcc/sdcc_vc_in.h:
518 added - genarate sdcc_vc.h using sdcc_vc_in.h as template
519 and insert the version number definitions from .version
521 * sdcc/support/cpp2/sdcpp.dsp: added - VC project for sdcpp
523 * sdcc/support/cpp2/sdcppa.dsp, sdcc/support/cpp2/auto-host_vc_in.h:
524 added - genarate auto-host.h using auto-host_vc_in.h as template
527 removed from CVS, generated automatically
529 2002-08-25 Bernhard Held <bernhard@bernhardheld.de>
530 * support/scripts/inc2h.pl: use gputils or gpasm (from Nathan Hurst)
532 2002-08-11 Borut Razem <borut.razem@siol.net>
533 * support/Util/NewAlloc.c: removed unneeded #include "sdccconf.h" (suggested by Jesus Calvino-Fraga)
535 2002-08-10 Borut Razem <borut.razem@siol.net>
536 * src/SDCCmain.c (main):
537 file preOutName was unlinked before closed. This seems to be OK on UNIX and cygwin
538 platforms, but it doesn't work with Visual Studio: the opened file can not be removed.
539 The consequence was that some temporary files were not removed.
542 unification of code in functions tempfilename() and tempfile():
543 function tempnam() is defined in Visual Studio 6.0 and .NET
545 * sdcc/sdcc.dsw: removed project sdcpp, added project xa51a
547 * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
548 sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp:
549 - removed compiler command line option /WX: Treats all warnings as errors
550 - update a list of source files, included into the project
552 * sdcc/src/avr/avra.dsp, sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
553 sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp:
554 changed project type to Generic Project so that can be correcly converted to VS.NET project
556 * sdcc/as/mcs51/asm.h: definition of PATH_MAX for MSC
558 * sdcc/src/SDCCast.c: solved MSC error in function decorateType()
560 * sdcc/src/SDCC.y: added missing ending ';' to rules to get rid of bison warnings
562 * dcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c:
563 added return 0 statements after assert() to make compiler happy
565 * sdcc/src/xa51/peeph.rul, sdcc/src/xa51/peeph.def, sdcc/src/z80/ralloc.c:
566 added newline in the def file to keep MSC compiler satisfied
568 * sdcc/src/z80/gen.c:
569 - function strcasecmp() is not defined in MSC (and probably also in BORLANDC),
570 so it is replaced with STRCASECMP, which is defined as stricmp in case of MSC and BORLANDC
571 - solved MSC error in function aopDump()
573 * sdcc_vc.h: define PREFIX as "\\sdcc"
575 2002-07-18 Bernhard Held <bernhard@bernhardheld.de>
576 * src/SDCCast.c (decorateType): fixed access to array of structures http://sourceforge.net/mailarchive/forum.php?thread_id=902690&forum_id=4107
578 2002-06-22 Scott Dattalo <scott@dattalo.com>
579 * src/pic/*: Numerous bug fixes. Flow analysis has been enhanced.
580 - Rewrote the register banking algorithm.
581 - Added pCode live-range analysis to registers (for now, only non-used and
582 singly-used registers optimized away)
584 * src/pic/pcoderegs.[ch]: Added new files for pCode live-range analysis
586 * support/scripts/inc2h.pl Kevin L. Pauba <klpauba@cox.net> submitted this perl script for converting MicroChip include files into SDCC Pic include files.
588 2002-05-10 Scott Dattalo <scott@dattalo.com>
589 * src/pic/*: Added support for multiplication. Fixed many,many bugs.
591 2002-04-22 Michael Hope <michaelh@vroom>
593 * device/lib/z80/printf.c: Changed emitter to volatile to work around a pcall bug.
595 * configure.in (DD_COPT): Added include support required for gbdk.
597 * .version: Bumped version number just to increase it.
599 * src/SDCCmain.c: Added -nostdinc to the default options.
601 2002-04-15 Michael Hope <michaelh@vroom>
603 * device/lib/z80/printf.c (sprintf): Added.
605 * src/z80/ralloc.c (packRegisters): Disabled pack HL use for GB as it's broken.
607 * src/z80/peeph.def: Added transpose redundent load rule.
609 * src/z80/main.c: Added force callee saves for jaune.
611 * src/port.h: Removed the i186 and tlcs-900h ports as they weren't being being developed.
613 * src/SDCCmain.c: Pulled the options definition out so that you can add port specific options without changing the main file.
615 2002-03-28 Johan Knol <johan@balder>
617 * src/SDCCval.c: fixed bug #532436
619 2002-03-14 Scott Dattalo <scott@dattalo.com>
621 Added "char *Processor" field to the port structure.
624 Added -p option. Allows port dependent processor to be specified.
627 Initialized the new field char *Processor field to NULL in all ports
630 Compiler generated registers for interrupt context saving
631 were not getting allocated.
633 2002-03-16 Sandeep Dutta <sandeep@ddi.com>
636 Fixed left shift. Will promote the left side of a left shift
637 if a) left shifting more than size of operand or b) when assigned
638 to something size > size of left side
640 2002-03-14 Scott Dattalo <scott@dattalo.com>
642 tons of changes. Register allocation has been
643 rewritten. Added customization for the various PICs. Flow
644 analysis is restructured. ...
650 Added. device.c is a PIC port hack to accomodate variations
653 2002-03-13 Michael Hope <michaelh@vroom>
655 * src/z80/gen.c (genGenPointerGet): Fixed a bug where a pointer in HL is dereferenced into HL but HL is not spilled. Yeah.
657 2002-03-04 johanknol <johanknol@manik>
659 * /src/SDCCval.c: fixed
661 const unsigned char arr[][2] = { { 0, 1 } };
662 t18.c:1: error: Initializer element is not constant
664 2002-03-04 bela <bela@manik>
666 * /device/include/mcs51reg.h:
667 ds89c420 register definition update
669 2002-03-03 <johan@FRIJA>
671 * support/Util/SDCCerr.c: did something, but don't no why anymore
673 * support/regression/tests/bug-524691.c: made it a little less shy
675 * src/SDCCast.c (decorateType): fixed bug #524697
677 * src/SDCCast.c: made some lineno improvements
679 * src/SDCCval.c (getNelements): changed warning to error
681 * src/SDCCglue.c (printIvalArray): changed warning to error
683 * src/SDCCicode.c: fixed a warning for mingw
685 * src/SDCCast.c (decorateType): fixed the << promotion for ops
687 * src/SDCCicode.c (geniCodeDivision): divide is shift only for unsigned (bug #524685)
689 2002-03-02 Sandeep Dutta <sandeep@ddi.com>
691 * src/ds390/peeph.def:
692 Added some more peephole rules
694 * src/ds390/gen.c: Various fixes & enhancements
696 * src/SDCClrange.c, src/SDCClrange.h:
697 functions "alldefsoutofrange" and "notusedinblock" moved to SDCClrange.c
699 * src/ds390/ralloc.c:
700 various fixes & enhancements (ds390) specific
702 * src/avr/ralloc.c, src/mcs51/ralloc.c, src/pic/ralloc.c, src/xa51/ralloc.c, src/z80/ralloc.c:
703 Functions "allDefsOutOfRange" & "notUsedinBlock" moved to SDCClrange.c
706 * sdcc/src/SDCCcse.c: Better fix for bug # 514308
708 2002-03-02 <johan@FRIJA>
710 * src/SDCCast.c (decorateType): fixed bug #524708
712 * src/SDCCval.c (floatFromVal): fixed the literal void (whatever that may be)
714 * src/SDCCicode.c (geniCodePtrPtrSubtract): fixed bug #524691
716 2002-03-01 Michael Hope <michaelh@vroom>
718 * src/SDCCsymt.c (initCSupport): Removed managling of support function names.
720 * src/z80/ralloc.c (packRegsForIYUse): Fixed fp bug where four byte operands were packed into IY.
722 2002-03-01 <johan@FRIJA>
724 * src/SDCCglue.c (printIvalPtr): fixed bug #524211
726 * src/SDCCast.c (decorateType): fixed bug #524209
728 * src/SDCCval.c (valNot): fixed bug #524195
730 2002-02-26 <johan@balder>
732 * src/xa51/gen.c: fixed a warning
734 * src/SDCCglue.c (printIvalFuncPtr): fixed bug #522534
736 * src/SDCCast.c (decorateType): fixed bug #522534
738 2002-02-23 <johan@balder>
740 * src/SDCCdflow.c (computeDataFlow): fixed bug #460088
742 2002-02-22 <johan@balder>
744 * src/SDCCast.c: fixed bug #514865
746 * src/SDCCy.c ("SDCC.y"): fixed bug #516625
748 2002-02-21 Sandeep Dutta <sandeep@ddi.com>
750 * sdcc/src/SDCCloop.c:
751 Previous fix was not good. basic blocks that have "break" or "return" are
752 not really partof a loop , but live ranges used in these blocks should
753 be live thru the entire loop, so set partOfLoop but don't add them to
756 2002-02-21 <johan@FRIJA>
758 * src/SDCCcse.c: fixed bug #514308
760 2002-02-20 Sandeep Dutta <sandeep@ddi.com>
763 Fixed BUG #519583. If a conditional block ended in a return/break
764 statement inside a loop, it was not being considered part of the loop.
766 * src/SDCCcflow.c: Removed fix (Fixed in SDCCloop.c)
768 2002-02-10 Karl Bongers <karl@turbobit.com>
771 Fixed up SDCDB debugger somewhat. Updated debugger/README
772 with lots of comments and notes.
774 * device/examples/test2.c:
775 Fix bug, "red" variable not being initialized(compiler complained).
777 * device/examples/Makefile, examples/test3.c:
778 Add Makefile in device/examples folder, compiles test3.c
779 for use as a multiple module SDCDB test case.
781 * sim/ucsim/cmd.src/cmdset.cc:
782 Took out debug printfs in ucsim "next" command.
785 Karl and Johan start ucsim XA support. Most dissassembly working,
786 about 75% emulation done(plenty of work remaining).
789 Add Z80 support to ucsim, add test-ucz80 regression test,
790 notice ucsim/z80 emulation fails on examples/test3.c/itoa code.
791 Notice z80 compiler fails on examples/test3.c/crc code.
793 2002-01-30 Sandeep Dutta <sandeep@ddi.com>
795 * src/mcs51/gen.c, src/mcs51/main.c, src/mcs51/ralloc.c:
796 Added support for --parms-in-bank1
798 * src/ds390/peeph.def:
799 added a few more peephole optimzations
802 1) added __builtin_inp & __builtin_outp used to read in data of given length
803 from a memory mapped port
804 2) added __builtin_memcmp
805 3) added __builtin_swapw swap bytes of a short
807 * src/ds390/gen.c, src/ds390/gen.h, src/ds390/ralloc.c:
808 1) handle multiple send & receives from register bank1
809 2) ralloc can now allocate DPTR1 to some liveRanges
811 * src/SDCCsymt.c, src/SDCCsymt.h:
812 changes to handle multiple sends & receives
815 added some pointer arithmetic optimization
818 added some pointer arithmetic optimizations but not stable yet so not
819 called from anywhere (will get this working shortly)
821 * src/SDCCopt.c: fixed for multiple sends & receives
824 1) added options --parms-in-bank1 (ds390/mcs51) & --protect-sp-update
825 2) preprocessing done AFTER port->finalizeoptions . This allows ports to
826 set preprocessor defines (depending on options)
828 * src/SDCCicode.c, src/SDCCicode.h:
829 changes made to handle multiple sends & receives
832 Added options --protect-sp-update (ds390) and --parms-in-bank1 (ds390/mcs51)
834 * src/SDCCcse.c, src/SDCCcse.h:
835 added function findbackward def (to be used in upcoming optimization)
837 * src/SDCCcflow.c, src/SDCCcflow.h:
838 added function returnAtEnd - to determine if a basic block terminates with
841 * src/SDCCast.c, src/SDCCast.h:
842 added option parms-in-bank1
844 * device/lib/_divsint.c, device/lib/_divslong.c, device/lib/_divuint.c
845 * device/lib/_divulong.c, device/lib/_modsint.c, device/lib/_modslong.c
846 * device/lib/_modulong.c, device/lib/_mulint.c, device/lib/_mullong.c:
847 adjusted for --parms-in-bank1 option
849 * device/include/string.h:
850 donot redefine "reentrant" keyword
852 * device/include/ds80c390.h: Added some more SFRs
854 2002-01-28 Bernhard Held <bernhard@bernhardheld.de>
856 * sim/ucsim: Merged branch ucsim-034-pre3 to main trunk; new version 0.4
858 2002-01-26 Bernhard Held <bernhard@bernhardheld.de>
860 * src/SDCCast.c (funcOfType): fix usage of double --float-reent
862 2002-01-22 Bernhard Held <bernhard@bernhardheld.de>
864 * support/regression/fwk/lib/testfwk.c (main): Removed workaround for bug #505387
866 2002-01-18 Paul Stoffregen <paul@pjrc.com>
868 * Added --xram-movc option
870 2002-01-13 Bernhard Held <bernhard@bernhardheld.de>
872 * support/regression/Makefile: don't include test-mcs51-stack-auto in target all
874 2002-01-11 Johan Knol
876 * Added math lib of Jesus Calvino-Fraga
878 2002-01-08 Bernhard Held <bernhard@bernhardheld.de>
880 * src/SDCCmain.c (processFile): fix processing of ../../src.c
881 * support/regression/Makefile: new target test-mcs51-stack-auto
882 * support/regression/ports/mcs51-stack-auto/spec.mk: added
884 2002-01-04 Bernhard Held <bernhard@bernhardheld.de>
886 * src/SDCCglue.h: printIvalCharPtr(), not printIvalChar()
888 2002-01-04 Bernhard Held <bernhard@bernhardheld.de>
890 * support/regression/ports/mcs51/support.c: correct setup of timer / UART
892 2002-01-03 Bernhard Held <bernhard@bernhardheld.de>
894 * src/SDCCsymt.c (processFuncArgs): fix #498307 by Johan
896 * src/SDCCglue.h: add definition for printIvalChar()
898 2002-01-02 Bernhard Held <bernhard@bernhardheld.de>
900 * src/SDCCast.c: fix #498138 by Johan
902 * src/SDCCglue.c: fix #498138 by Johan
904 2002-01-02 Bernhard Held <bernhard@bernhardheld.de>
906 * support/regression/Makefile: fix clean
908 * support/regression/ports/ds390/support.c: fix transmission of last character
910 2001-12-29 Sandeep Dutta <sandeep@ddi.com>
912 * /sdcc/src/ds390/gen.c:
913 a) improved computing address of stack variable
914 b) took out some #if 0 code
915 c) improved parmBytes adjustment
916 d) improved genPlusIncr & genMinusIncr
917 e) genCmp could generate bad code (when left assigned to DPTR)
918 f) Fixed bug in hasInc
920 * /sdcc/src/ds390/ralloc.c:
921 a) packRegsForSupport could mess up live information (Fixed)
922 b) packRegsDPTRuse could be incorrect for left & right shift
924 * /sdcc/src/mcs51/ralloc.c:
925 packRegsForSupport could mess up the live information (Fixed)
927 * /sdcc/src/mcs51/gen.c: Fixed a bug in hasInc
929 * /sdcc/src/SDCCast.c:
930 can reverse a loop even if function call is present as long
931 as the loop control variable is local & is not passed as parameter
933 2001-12-24 Sandeep Dutta <sandeep@ddi.com>
935 * /sdcc/ChangeLog: *** empty log message ***
937 * /sdcc/src/ds390/gen.c, /sdcc/src/ds390/main.c:
938 More builtin function additions for TININative
940 * /sdcc/src/ds390/ralloc.c:
941 Had broken the regression testsuite
943 * /sdcc/src/SDCCast.c: Fixed a bug in dumptree
945 * /sdcc/src/SDCCsymt.c, /sdcc/src/SDCCsymt.h:
946 Added funcattr hasStackParms will be set for reentrant functions when there
947 are paramteres on the stack, this helps in minimizing frame pointer generation
948 typeFromStr can handle function pointers now
950 * /sdcc/doc/builtins.txt, /sdcc/doc/TININative.txt:
951 *** empty log message ***
953 2001-12-24 Sandeep Dutta <sandeep@ddi.com>
955 * /src/ds390/gen.c, /src/ds390/main.c:
956 More builtin function additions for TININative
958 * /src/ds390/ralloc.c:
959 Had broken the regression testsuite
961 * /src/SDCCast.c: Fixed a bug in dumptree
963 * /src/SDCCsymt.c, /src/SDCCsymt.h:
964 Added funcattr hasStackParms will be set for reentrant functions when there
965 are paramteres on the stack, this helps in minimizing frame pointer generation
966 typeFromStr can handle function pointers now
968 * /doc/builtins.txt, /doc/TININative.txt:
969 *** empty log message ***
972 2001-12-24 Sandeep Dutta <sandeep@ddi.com>
974 * /src/ds390/gen.c, /src/ds390/main.c, /src/ds390/peeph.def, /src/ds390/ralloc.c:
975 ALPHA version for -mTININative
977 * /src/izt/i186.c, /src/izt/tlcs900h.c, /src/mcs51/main.c, /src/pic/main.c, /src/z80/main.c, /src/avr/main.c:
978 updated to reflect changes in the port structure
981 added function do_assemble (similar to do_link) if non-null this function
982 will be called to do assembly (-mTININative) requires a multi command
984 added function genAssemblerEnd will be called to generate assembler Epilogue
987 added _JavaNative to debug info printing
989 * /src/SDCCmain.c: added option --tini-libid
990 added port->do_assemble function (-mTININative) has a multi command assemble
992 * /src/SDCCglue.c: Disabled "constExpr" check
993 added port->genAssemblerEnd function
995 * /src/SDCCglobl.h: Added option --tini-libid value
998 tookout optimizeCompare from the header (has no external references)
1000 * /src/SDCCast.c: made one more function "static"
1002 2001-12-23 Michael Hope <michaelh@juju.net.nz>
1004 * src/z80/mappings.i: Added z80asm support.
1006 * src/z80/main.c: Added z80asm support on --asm=z80asm
1008 * src/z80/gen.c: Fixed asm portability issues.
1010 * src/asm.c (tvsprintf): Removed old code, added 'N' for function name. For extern support.
1012 * src/SDCCglue.c (printExterns): Added global/extern split.
1014 2001-12-17 Bernhard Held <bernhard@bernhardheld.de>
1016 * support/regression/Makefile: added test for mcs51 model large
1018 * support/regression/ports/mcs51-large/spec.mk: added test for mcs51 model large
1020 * support/regression/ports/gbz80/spec.mk: added -mgbz80
1022 2001-12-05 Michael Hope <michaelh@juju.net.nz>
1024 * src/diff.1 (Index): Many, many optmisiations. Dhrystone up to 201.
1026 1904-01-06 Michael Hope <michaelh@juju.net.nz>
1028 * src/z80/ralloc.c (packRegsForIYUse): Fixed the case where an operand is in direct space.
1030 * src/z80/gen.c (makeFreePairId): Optimised IY load by using a spare pair.
1032 2001-12-02 Bernhard Held <bernhard@bernhardheld.de>
1034 * src/mcs51/gen.c (genFunction): avoid excess "inc sp"
1036 * support/regression/tests/simplefloat.c: Port to mcs51.
1038 2001-11-25 Michael Hope <michaelh@juju.net.nz>
1039 * support/regression/tests/bug-485362.c: Added.
1041 * support/regression/tests/simplefloat.c (testDivNearOne): Added.
1043 * src/z80/gen.c (aopOp): Fixed case where left and result are in the same spill loc and they have different sizes.
1045 * src/z80/peeph.def: Added rules for optimising two byte compares on the same thing, and to optimise two ptr assign.
1047 * src/z80/gen.c (aopDump): Added a dump function.
1049 2001-11-25 Bernhard Held <bernhard@bernhardheld.de>
1050 * sim/ucsim/s51.src/glob.cc: DS390 SFRs and bits added.
1052 * sim/ucsim/s51.src/port.cc: Port 4 and 5 added.
1054 * sim/ucsim/s51.src/regs51.h: DS390 SFRs added.
1056 * sim/ucsim/s51.src/uc390.cc: Some details improved, CKRDY works for tinibios.
1058 * sim/ucsim/s51.src/uc390cl.h: Work in progress.
1060 * sim/ucsim/sim.src/uccl.h: 6 ports for DS390.
1062 * support/regression/fwk/lib/testfwk.c: Run with tinibios.
1064 * support/regression/ports/mcs51/spec.mk: Fine tuninig.
1066 * support/regression/ports/ds390/support.c: Use tinibios.
1068 * support/regression/ports/ds390/spec.mk: Fine tuning, use tinibios.
1070 2001-11-23 Michael Hope <michaelh@juju.net.nz>support/regression/tests/bug-460010.c
1072 * src/z80/ralloc.c (packRegsForHLUse3): Changed to not pack into HL if anything is in direct space.
1073 (packRegsForHLUse3): Added packing support for send, cast, and return value from a call.
1075 * src/z80/peeph.def: Added rules for optimising pushes of part of a pair.
1077 * src/z80/gen.c (emitCall): Changed the stack fixup to not use HL.
1079 2001-11-18 Michael Hope <michaelh@juju.net.nz>
1081 * src/z80/gen.c (genCmp): Fixed compare on unsigned.
1083 * src/z80/ralloc.c (packRegsForHLUse3): Created and optimised.
1084 (packRegsForIYUse): Created and optimised.
1086 2001-11-07 Michael Hope <michaelh@juju.net.nz>
1088 * support/regression/tests/float.c (testFloatAdd): Fixed up warning.
1089 2001-11-18 Bernhard Held <bernhard@bernhardheld.de>
1091 * sdcc/support/regression/tests/bug-460010.c: fix seg violation on host
1093 * sdcc/support/regression/tests/muldiv.c: fix output on mcs51
1095 * sdcc/support/regression/tests/stacks.c: fix DSEG overflow on mcs51
1097 2001-11-07 Bernhard Held <bernhard@bernhardheld.de>
1099 * sdcc/sim/device/lib/_gptrget.c: mem region 5 (idata) added
1101 * sdcc/sim/device/lib/_gptrput.c: mem region 5 (idata) added
1103 2001-11-07 Bernhard Held <bernhard@bernhardheld.de>
1105 * sdcc/sim/ucsim/globals.cc: New: IXRAM.
1107 * sdcc/sim/ucsim/stypes.h: New: IXRAM.
1109 * sdcc/sim/ucsim/s51.src/uc390.cc: New: IXRAM.
1111 2001-11-07 Michael Hope <michaelh@juju.net.nz>
1113 * src/z80/ralloc.c (packRegsForHLUse): Banned IFXs from being packed into HL.
1114 (packRegsForHLUse): Added rule to pack address of/pointer get for itemps into HL for the Z80.
1115 (packRegsForAccUse2): Added rule to pack hbit IFXs into A.
1117 * src/z80/main.c (_setDefaultOptions): Made float code re-entrant by default.
1119 * src/z80/gen.c (aopGetLitWordLong): Added word support for floats.
1120 (genNotFloat): Added.
1121 (genUminusFloat): Added.
1123 * device/lib/z80/Makefile: Added floating pt stubs.
1125 * device/lib/Makefile.in (Z80SOURCES): Added floating pt support.
1127 * src/z80/gen.c (genIpush): Fixed up a push of one byte when left is in a pair.
1129 * device/lib/_fsadd.c (__fsadd): Fixed up return where the numbers are hugely different.
1131 2001-11-07 Bernhard Held <bernhard@bernhardheld.de>
1133 * sdcc/sim/ucsim/s51.src/glob.cc: Minor fix.
1135 * sdcc/sim/ucsim/s51.src/regs51.h: Minor fix.
1137 * sdcc/support/regression/Makefile: Add port ds390.
1139 * sdcc/support/regression/ports/mcs51/spec.mk: Minor change.
1141 * sdcc/support/regression/ports/z80/spec.mk: Minor change.
1143 * sdcc/support/regression/ports/ds390/spec.mk: Added.
1145 * sdcc/support/regression/ports/ds390/support.c: Added.
1147 * sdcc/support/regression/ports/ds390/uCsim.cmd: Added.
1149 * sdcc/support/regression/ports/mcs51/timeout.c: Cut.
1151 * sdcc/support/regression/fwk/lib/timeout.c: Paste.
1153 2001-11-04 Michael Hope <michaelh@juju.net.nz>
1155 * device/include/malloc.h: Added z80 and gbz80 support.
1157 * device/lib/gbz80/heap.s: Added.
1159 * device/lib/z80/heap.s: Added.
1161 * device/lib/malloc.c: Added z80 and gbz80 support.
1163 * support/regression/tests/malloc.c (testMalloc): Added.
1165 * src/SDCCmain.c (parseCmdLine): Added support for -Wp.
1167 * support/regression/tests/bug-478094.c: Added.
1169 * src/z80/gen.c (commitPair): Fixed silly gbz80/z80 commit to static bug.
1171 2001-11-04 Bernhard Held <bernhard@bernhardheld.de>
1173 * sdcc/sim/ucsim/s51.src/uc390cl.h: Improvement for ds390 to run regression tests
1175 * sdcc/sim/ucsim/s51.src/uc390.h: Improvement for ds390 to run regression tests
1177 * sdcc/sim/ucsim/s51.src/regs51.h: Improvement for ds390 to run regression tests
1179 * sdcc/sim/ucsim/s51.src/glob.cc: Improvement for ds390 to run regression tests
1181 * sdcc/support/regression/tests/bug-460010.c: Small change for ds390
1183 2001-11-04 Michael Hope <michaelh@juju.net.nz>
1185 * src/z80/peeph-gbz80.def: Removed a bad sub optimisation.
1187 2001-11-03 Michael Hope <michaelh@juju.net.nz>
1189 * support/regression/tests/bug-477927.c: Added.
1191 * src/z80/peeph.def: Added minor rules.
1193 * src/z80/gen.c (genPlusIncr): Added an extra plusinc rule.
1195 * src/z80/peeph.def: Added jump optimisation modification.
1197 2001-11-01 Michael Hope <michaelh@juju.net.nz>
1199 * src/SDCCmain.c (linkEdit): Added runtime path detection to the mcs51 port.
1201 2001-10-30 Michael Hope <michaelh@juju.net.nz>
1203 * support/regression/tests/funptrs.c: Added.
1205 2001-10-29 Michael Hope <michaelh@juju.net.nz>
1207 * src/z80/ralloc.c (packRegsForHLUse): Fixed up bad spill due to pushing one byte via HL.
1209 2001-10-28 Michael Hope <michaelh@juju.net.nz>
1211 * src/z80/gen.c (genArrayInit): Made it work for on stack arrays.
1213 * src/z80/main.c (gbz80_port =): Added rle support to the gbz80 port.
1215 * src/z80/gen.c (genMinus): Fixed for where the result is one byte.
1216 (movLeft2ResultLong): Created.
1218 * src/z80/ralloc.c (packRegsForHLUse): Added a couple of simple cases for the GB.
1219 (joinPushes): Added. Joins two char pushes into a word push.
1221 2001-10-27 Michael Hope <michaelh@juju.net.nz>
1223 * support/cpp2/Makefile.in (install): Added creation of dest dir.
1225 * support/makebin/Makefile (install): Added creation of dest dir.
1227 2001-10-24 Karl Bongers <karl@turbobit.com>
1229 * configure.in, configure, Makefile, support/cpp: Removed cpp folder, since we have new cpp2 preprocessor code.
1231 2001-10-21 Michael Hope <michaelh@juju.net.nz>
1233 * src/z80/ralloc.c: Turned off faulty pack for one use.
1235 * src/z80/peeph-gbz80.def: Removed redundent restart options.
1237 * src/z80/gen.c (genMult): Added native mul for constants on the z80 and gbz80.
1239 2001-10-21 Bernhard Held <bernhard@bernhardheld.de>
1241 * support/regression/Makefile: Improved clean
1243 * support/regression/ports/gbz80/spec.mk: Added clean
1245 * support/regression/ports/host/spec.mk: Added clean
1247 * support/regression/ports/z80/spec.mk: Added clean
1249 * support/regression/ports/mcs51/spec.mk: Added clean, little improvements
1251 * support/regression/ports/mcs51/timeout.c: little improvements
1253 2001-10-17 Michael Hope <michaelh@juju.net.nz>
1255 * device/lib/malloc.c (MEMHEADER): Fixed against new pedantic pointers.
1257 * support/regression/fwk/include/testfwk.h: Fixed up to use function pts correctly.
1259 * support/regression/generate-cases.py: Fixed up to use function pts correctly.
1261 2001-10-16 Bernhard Held <bernhard@bernhardheld.de>
1263 * support/regression/port/mcs51/spec.mk: add timeout for uCsim
1265 * support/regression/port/mcs51/timeout.c: add timeout for uCsim
1267 2001-10-13 Michael Hope <michaelh@juju.net.nz>
1268 * src/z80/gen.c (emitCall): Fixed up missing spill of HL when used to assign the result value.
1270 * src/z80/ralloc.c: Turned off pack for one use as it's quite broken.
1272 * src/SDCCmain.c (linkEdit): Added support for passing a legacy command line through the processor.
1274 * src/mcs51/main.c (_linkCmd): Added bin path to command.
1276 * src/SDCCmain.c (initValues): Added support for when it it called just to link.
1278 * as/mcs51/lklibr.c (libfil;): Turned off 'library file' message.
1280 * src/SDCCval.c (constVal): Fixed usage of 'L' modifier problems on ppc.
1282 * support/regression/tests/longor.c: Added.
1284 2001-10-11 Bernhard Held <bernhard@bernhardheld.de>
1286 * as/mcs51/asdata.c: replaced FILENAME_MAX with PATH_MAX
1288 * as/mcs51/aslink.h: define PATH_MAX
1290 * as/mcs51/asm.h: define PATH_MAX
1292 * as/mcs51/asmain.c: replaced FILENAME_MAX with PATH_MAX
1294 * as/mcs51/asnoice.c: replaced FILENAME_MAX with PATH_MAX
1296 * as/mcs51/lklex.c: replaced FILENAME_MAX with PATH_MAX
1298 * as/mcs51/lkmain.c: replaced FILENAME_MAX with PATH_MAX
1300 * src/SDCCglobl.h: define PATH_MAX
1302 * src/SDCCmacro.c: replaced FILENAME_MAX with PATH_MAX
1304 * src/SDCCmain.c: replaced FILENAME_MAX with PATH_MAX
1306 2001-10-11 Michael Hope <michaelh@juju.net.nz>
1308 * src/z80/gen.c (gencjneshort): Fixed
1310 * src/z80/ralloc.c (packRegsForHLUse): Added pack into HL for cast then ipush.
1312 2001-10-09 Michael Hope <michaelh@juju.net.nz>
1314 * support/regression/tests/bug-469671.c: Added.
1316 * src/z80/gen.c (shiftIntoPair): Fixed up warning.
1318 2001-10-08 Michael Hope <michaelh@juju.net.nz>
1320 * src/SDCCmain.c: Added --fommit-frame-pointer option and implemented in the z80 port.
1322 * src/z80/gen.c (genPlus): Fixed to work with extended stack. Also fixed genMinus, genCmp. genUMinus is still left.
1324 2001-10-08 Bernhar Held <bernhard@bernhardheld.de>
1326 * src/SDCCmain.c (preProcess): added define SDCC_NOOVERLAY
1328 * src/device/lib/_mulint.c : removed hint: nooverlay bug
1330 * src/device/lib/_mullong.c : removed hint: nooverlay bug
1332 * src/device/lib/_divuint.c : removed hint: nooverlay bug
1334 * src/device/lib/_divulong.c: removed hint: nooverlay bug
1336 * src/device/lib/_moduint.c : removed hint: nooverlay bug
1338 * src/device/lib/_modulong.c: removed hint: nooverlay bug
1340 2001-10-07 Michael Hope <michaelh@juju.net.nz>
1342 * 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.
1344 * support/Util/NewAlloc.c (freeTrace): Changed free for the gc case to not free at all. Fixes runtime segfault.
1346 * support/regression/tests/scott-compare3.c (c_abcd): Fixed up casts.
1348 2001-10-07 <johan@FRIJA>
1350 * device/lib/gets.c (gets): fixed the return value.
1352 2001-10-06 Michael Hope <michaelh@juju.net.nz>
1353 * src/SDCCmain.c (WRITE_SEG_LOC): Fixed up to use Safe_strdup.
1355 * 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.
1357 * 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.
1359 * src/z80/gen.c (genZ80Code): Added de-allocation via trace support.
1361 * src/pic/gen.c: Removed Safe_strdup.
1363 * configure.in: Added option to enable libgc support.
1365 * src/SDCCbitv.c (bitVectnBitsOn): Optimised.
1366 (bitVectUnion): Optimised.
1367 (bitVectIntersect): Optimised.
1368 (bitVectBitsInCommon): Optimised.
1369 (bitVectCplAnd): Optimised.
1371 * support/makebin/makebin.c (usage): Removed getopt as mingw32 doesn't have it. Sigh.
1373 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
1375 * src/SDCCmain.c: distinguish between assembler debug and plain options
1377 * src/avr/main.c: remove standard assembler options
1379 * src/ds390/main.c: remove standard assembler options
1381 * src/mcs51/main.c: remove standard assembler options
1383 * src/port.h: removed "PENDING" comment
1385 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
1387 * src/device/lib/_mulint.c : new, with assember functions
1389 * src/device/lib/_mullong.c : new, with assember functions
1391 * src/device/lib/_divuint.c : with assember functions
1393 * src/device/lib/_divsint.c : with assember functions
1395 * src/device/lib/_divulong.c: with assember functions
1397 * src/device/lib/_divslong.c: with assember functions
1399 * src/device/lib/_moduint.c : with assember functions
1401 * src/device/lib/_modsint.c : with assember functions
1403 * src/device/lib/_modulong.c: with assember functions
1405 * src/device/lib/_modslong.c: with assember functions
1407 * src/device/lib/libint.lib: replaced _muluint.c and _mulsint.c by _mulint.c
1409 * src/device/lib/liblong.lib: replaced _mululong.c and _mulslong.c by _mullong.c
1411 * src/device/lib/Makefile.in: replaced _muluint.c and _mulsint.c by _mulint.c
1412 replaced _mululong.c and _mulslong.c by _mullong.c
1414 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
1416 * src/SDCCsymt.c: sequence of specifiers in pintTypeChain() corrected
1418 2001-10-01 Bernhard Held <bernhard@bernhardheld.de>
1420 * src/SDCCglue.c: test, if win32api is available for MINGW
1422 2001-10-01 Bernhard Held <bernhard@bernhardheld.de>
1424 * src/SDCCsymt.c: no more _modifier in printTypeChain()
1425 * support/regression/tests/driverstruct.c: REENTRANT for mcs51
1426 * support/regression/ports/gbz80/spec.mk: removed GENERIC
1427 * support/regression/ports/host/spec.mk: removed GENERIC
1428 * support/regression/ports/mcs51/spec.mk: removed GENERIC
1429 * support/regression/ports/z80/spec.mk: removed GENERIC
1431 2001-10-01 Michael Hope <michaelh@juju.net.nz>
1433 * support/regression/fwk/lib/testfwk.c (__printf): Removed GENERIC.
1435 * support/regression/tests/bug-467035.c: Created.
1437 2001-10-01 <johan@FRIJA>
1439 * src/SDCC.y: fixed bug #466586 part 1
1441 2001-10-01 Johan Knol <johan.knol@iduna.nl>
1443 * SDCCicode.c: z80 has no generic pointers
1444 * removed -s from strip in all Makefile(.in)'s. It is not needed, but Solaris chocks on it.
1446 2001-09-30 Michael Hope <michaelh@juju.net.nz>
1448 * sim/ucsim/cmd.src/Makefile.in ($(PRJDIR)/libcmd.a): Changed all ar references to $(AR) for Solaris.
1450 2001-09-29 Michael Hope <michaelh@juju.net.nz>
1452 * Makefile (sdcc-libs): Added makebin to the list of standard targets.
1454 * support/regression/ports/z80/spec.mk: Updated to use env for sdcc bin dir for automatic regression.
1456 2001-09-25 Michael Hope <michaelh@juju.net.nz>
1458 * configure.in: Fixed up so that ucsim is only configured once.
1460 * support/cpp2/configure.in: Fixed to use the program transform to append the .exe for the win32 build.
1462 * src/SDCCutil.c (getPrefixFromBinPath): Fixed up to work with win32 in all of its glory.
1463 (getPathDifference): As above.
1465 * src/SDCCmain.c (preProcess): Changed to use a temporary file in a proper temp directory. Fixed case where pre-processing only.
1467 * src/SDCCglue.c (tempfilename): Added function for pre-processor.
1469 2001-09-23 Michael Hope <michaelh@juju.net.nz>
1470 * .version: Updated to 2.3.1
1472 * src/z80/main.c (z80_port =): Added macro based linker and assembler command line support.
1473 Added copyright header.
1475 * src/SDCCmain.c: Shifted various functions into SDCCutil.c
1476 (assemble): Added support for macro based assembler commands.
1477 (linkEdit): Added support for macro based linker commands.
1478 (preProcess): Changed the pre-processor to use macros.
1479 (_setPaths): Added functionality to autodetect the include, lib and bin dir paths.
1480 (_discoverPaths): Added support for overriding the install directory using the SDCCDIR env variable.
1482 * device/lib/z80/crt0.s: Added module name for debugging.
1484 2001-09-20 Michael Hope <michaelh@juju.net.nz>
1486 * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
1488 * src/SDCChasht.c (hTabDeleteByKey): Fixed delete as it would delete the last item from a bucket even if it wasn't the real one.
1490 * src/SDCCglue.c: Moved gc_strdup to SDCCutil.c
1492 * src/Makefile.in: Added SDCCmacro and SDCCutil
1494 2001-09-19 Michael Hope <michaelh@juju.net.nz>
1496 * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
1498 2001-09-16 <johan@FRIJA>
1500 * 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.
1502 2001-09-15 <johan@FRIJA>
1504 * src/mcs51/ralloc.c: (findAssignToSym): fixed bug #460662 part 1
1505 * src/ds390/ralloc.c (findAssignToSym): fixed bug #460662 part 1
1507 2001-09-11 <johan@FRIJA>
1509 * src/SDCCval.c (valDiv Mod Minus Plus Shift): keep litteral expressions as small as possible (bug #460010)
1511 2001-09-10 Michael Hope <michaelh@juju.net.nz>
1513 * support/regression/tests/bug-460444.c: Added test case.
1515 * src/z80/gen.c (genOr): bug 460444: if (a ^ lit) was broken for &, |, and ^.
1516 (genCast): Added justification for all of the asserts.
1518 2001-09-10 Bernhard Held <bernhard@bernhardheld.de>
1520 * support/regression/support.c: _xdata replaced by xdata
1522 * support/regression/spec.mk: removed _generic
1524 2001-09-09 Michael Hope <michaelh@juju.net.nz>
1526 * src/pic/ralloc.c (debugLogRegType): Removed some old types to get it to compile.
1528 * src/z80/gen.c (shiftR2Left2Result): Improved the case when v = v >> n for small values of n to use less code space and time.
1529 (genrshTwo): Fixed v = v >> n where v is a negative int and n is > 8: bug 460010.
1531 * src/z80/peeph.def: Added a rule to optimise shift then compare.
1533 * support/regression/tests/bug-460000.c (testShiftByParam): Added test case.
1535 * support/regression/tests/bug-460010.c: Added test case.
1537 * support/regression/Makefile (test-host): Removed a silly 'clean' target when testing against gcc.
1539 2001-09-09 Bernhard Held <bernhard@bernhardheld.de>
1541 * support/regression/Makefile: inter-port-clean adjusted for mcs51
1543 * support/regression/testfwk.c: removed workaround for bug #436344
1545 * support/regression/tests/bp.c: use less memory with mcs51
1547 * support/regression/tests/bug-441448.c: use less memory
1549 * support/regression/tests/ports/mcs51/spec.mk: cleanup, use --stack-after-data
1551 * support/regression/collate-results.py: typo
1553 2001-09-08 Michael Hope <michaelh@juju.net.nz>
1555 * support/regression/tests/fetchoverlap.c: Added new test case.
1557 * support/regression/tests/bp.c: Added new test case.
1559 * support/regression/tests/bug-448984.c: Added new test case.
1561 * support/regression/tests/pow2shifts.c: Added new test case.
1563 * src/z80/gen.c: Turned off the noise it normally generates for the release.
1564 (genlshTwo): Fixed right shift for count > 8.
1566 * src/z80/ralloc.c: Disabled most of the ACC packing rules as they weren't getting hit and weren't at all safe.
1568 2001-09-08 <johan@FRIJA>
1570 * src/SDCCicode.c (geniCodeCall): a CPOINTER can be used as a function
1572 2001-09-07 <johan@FRIJA>
1574 * src/SDCCicode.c (newiCodeCondition): fixed bug #456235 (1.77)
1576 * src/SDCCglue.c (emitRegularMap): only delete a symbol when it is a symbol
1578 2001-09-06 <johan@FRIJA>
1580 * src/SDCC.y: this could be a fix for bug #458744 (1.37)
1581 * bernhard noted me at this: "() equals to (void)" (1.38)
1583 2001-09-05 <johan@FRIJA>
1585 * src/SDCCglue.c (emitRegularMap): a fix for bug #458099/2
1587 2001-09-04 <johan@FRIJA>
1589 * src/SDCCsymt.c (checkSClass): a fix for bug #458099/1
1592 2001-09-04 Paul Stoffregen <paul@pjrc.com>
1594 * pragma noinduction broke memcpy on mcs51 large model. Moved it inside z80 optimization
1596 2001-09-03 Michael Hope <michaelh@juju.net.nz>
1598 * link/z80/aslink.h: Fixed path for PATH_MAX
1600 2001-09-02 Michael Hope <michaelh@juju.net.nz>
1602 * src/z80/gen.c (fetchLitPair): Changed so that it properly caches direct space references.
1604 * support/regression/tests/addsub.c: Added cases to cover all the +, - combinations.
1606 * support/regression/tests/uminus.c: Added a test for the unary minus operator.
1608 * 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.
1610 2001-09-01 Michael Hope <michaelh@juju.net.nz>
1612 * src/z80/gen.c: Fixed up generator to pass the regresion tests, specifically fixing loads for longs, genCmp, and turned on the map file.
1613 (genCmp): Fixed up genCmp for the GB with longs.
1615 * device/lib/gbz80/Makefile: Fixed up all the libraries to pass the regression tests.
1617 * support/regression/ports/host/spec.mk: Updated to compile with the new type specifiers.
1619 * device/lib/Makefile.in (Z80SOURCES): Removed old _mululong, _mulslong, and unneeded _mulint.
1621 * device/lib/_mullong.c (_mulslong): Changed to actually return a value :)
1623 2001-08-30 Paul Stoffregen <paul@pjrc.com>
1625 * added peepholes 223 to 231 to mcs51 port. These improve code when using large model.
1627 2001-08-30 Michael Hope <michaelh@juju.net.nz>
1629 * 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.
1631 * src/z80/gen.c (genPlus): Changed bad long add for gb to a fall through.
1633 2001-08-29 Michael Hope <michaelh@juju.net.nz>
1635 * link/z80/aslink.h: Fixed long file name support. Is now based off PATH_MAX instead of a constant.
1637 * src/z80/gen.c: Fixed add and sub for the case where left or right are in static space.
1639 2001-08-30 Bernhard Held <bernhard@bernhardheld.de>
1641 * sim/ucsim/configure: little improvement of Cygwin-detection
1642 * sim/ucsim/configure.in: little improvement of Cygwin-detection
1643 * sim/ucsim/cmd.src/newcmdcl.h: include <sys/types.h> to define fd_set automated build
1644 * support/regression/tests/bug-221100.c: small changes for mcs51
1645 * support/regression/tests/bug-221168.c: small changes for mcs51
1646 * support/regression/tests/bug-227710.c: small changes for mcs51
1647 * support/regression/tests/staticinit.c: small changes for mcs51
1648 * as/mcs51/aslink.h: accept everything as symbol name in rel-files, bug fix ID 452601
1649 * as/mcs51/lklex.c: accept everything as symbol name in rel-files, bug fix ID 452601
1650 * as/mcs51/lksym.c: accept everything as symbol name in rel-files, bug fix ID 452601