1 2003-03-28 Borut Razem <borut.razem@siol.net>
3 * src/SDCC.lex: Fix for bug #711240: dynamic buffer handling of C
4 literal strings in stringLiteral()
5 * support/Util/dbuf.c, support/Util/dbuf.h: added: dynamic buffer handling
6 * src/Makefile.bcc, src/Makefile.in, src\src.dsp: added support/Util/dbuf.c
9 2003-03-27 Paul Stoffregen <paul@pjrc.com>
11 * src/SDCCpeeph.c (pcDistance): accurate byte distance for mcs51
13 2003-03-26 <johan@balder>
15 * src/mcs51/gen.c (saveRegisters): catched symbol abuse
16 * src/ds390/gen.c (saveRegisters): catched symbol abuse
17 * src/SDCCast.c (decorateType): fixed " -v < 3"
19 2003-03-23 Bernhard Held <bernhard@bernhardheld.de>
21 * doc/cdbfile.html: removed, replaced by cdbfileformat.lyx
22 Added Lenny Story's debug infrastructure changes:
23 * src/Makefile.in: added new files cdbFile.c and SDCCdebug.c
24 * src/Makefile.bcc: added new files cdbFile.c and SDCCdebug.c
25 * src/cdbFile.c: added
26 * src/SDCCdebug.c: added
27 * src/SDCCdebug.h: added
28 * src/SDCCast.c (createFunction)
29 * src/SDCCglue.c (emitRegularMap, emitStaticSeg, emitOverlay, glue)
30 * src/SDCCmain.c (parseCmdLine, main)
31 * src/SDCCmem.c (redoStackOffsets)
32 * src/SDCCsymt.c (cdbStructBlock, cdbTypeInfo, cdbSymbol, cdbStruct, cdbStructBlock)
35 * src/avr/gen.c (genAVRCode)
36 * src/ds390/gen.c (gen390Code)
37 * src/mcs51/gen.c (gen51Code)
38 * src/pic/gen.c (genpic14Code)
39 * src/pic/glue.c (pic14emitRegularMap, pic14emitStaticSeg, pic14emitOverlay, picglue)
40 * src/xa51/gen.c (genXA51Code)
41 * src/SDCCast.c: fixed "void foo(void){char c; -c < 0;}"
43 2003-03-22 Frieder Ferlemann <Frieder.Ferlemann@web.de>
45 * src/mcs51/gen.c (genCodePointerGet): quicker code for bug #700797
46 * src/mcs51/peeph.def: added rules 177, 241.x to 243, touched 181, 182.x, 193.x
48 2003-03-22 <johan@balder>
50 * src/SDCCicode.c (geniCodeDerefPtr): fixed bug #698231
52 2003-03-21 Bernhard Held <bernhard@bernhardheld.de>
54 * support/scripts/sdcc_mingw32: adapted to configure from autoconf 2.54
55 * doc/cdbfileformat.lyx: added, written by Lenny Story
56 * doc/Makefile: added cdbfileformat.lyx
57 * doc/clean.mk: added cdbfileformat.lyx
59 2003-03-20 Bernhard Held <bernhard@bernhardheld.de>
61 * src/mcs51/peeph.def: fix bug #705773
63 2003-03-20 <johan@balder>
65 An sfr/sbit can have an "at #" AND an initializer
66 * src/SDCCsymt.c (checkSClass):
67 * src/SDCCmem.c (allocGlobal):
68 * src/SDCCmem.c (allocLocal):
69 * src/SDCCast.c (createBlock):
71 2003-03-17 Bernhard Held <bernhard@bernhardheld.de>
73 * src/ds390/peeph.def: fix bug #704878: added rule 213.b suggested by Jan Rejlek
75 2003-03-16 <johan@balder>
77 Undid the hackup of const and volatile, the problem is much bigger
80 * src/SDCCglue.c:1.138
81 * src/SDCCicode.c:1.146
82 * src/SDCCsymt.c:1.150
85 2003-03-15 Bernhard Held <bernhard@bernhardheld.de>
87 * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #703541
88 * src/ds390/gen.c (genAddrOf): fixed bug #704087
90 2003-03-13 <johan@balder>
92 Hackup const and volatile modifiers in type chains a bit:
95 * src/SDCCglue.c:1.136
96 * src/SDCCicode.c:1.143
101 2003-03-12 <johan@balder>
103 * src/SDCCBBlock.h: more LRH debugging junk
104 * src/SDCCcflow.h: more LRH debugging junk
105 * src/SDCCloop.c: more LRH debugging junk
106 * src/SDCC.y (struct_declaration): fixed bug #697590
107 * src/SDCCsymt.[hc] (cloneSpec): NEVER EVER use this again
108 * src/ds390/gen.c (aopForRemat): fixed bug #700031
109 * src/SDCCglue.c (emitStaticSeg): fixed bug #700797
111 2003-03-11 Kevin Vigor <kevin@vigor.nu>
112 * src/SDCCpeeph.c: quit being lazy and made proper fix (peephole
113 test function names must now match exactly).
114 * src/SDCCcse.c: added special case in findCheaperOp to allow
115 extending a short integer. Makes less awful code for bug 700121 test case.
117 2003-03-11 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
119 * as/mcs51/lkmain.c: Added ASlink-Warning to messages
120 * as/mcs51/lkaomf51.c: Fixed bug when linking asmblink example
122 2003-03-11 Kevin Vigor <kevin@vigor.nu>
124 * src/SDCCpeeph.c: fix so that operandsNotEqualX functions are
125 actually called (operandsNotEqual() was called for all
126 operandsNotEqualX tests).
128 2003-03-11 Kevin Vigor <kevin@vigor.nu>
130 * src/SDCCcse.c: fix findCheaperOp to prevent replacing int types
131 with shorter literals. Fixes bug 700121.
133 2003-03-11 <johan@balder>
135 * src/SDCCsymt.c (compareType): a (void *) can be assigned to any pointer
137 2003-03-11 Bernhard Held <bernhard@bernhardheld.de>
139 * src/SDCCloop.c (mergeRegions): an evil beast is dead
140 * src/SDCCmain.c (preProcess): minor cleanup: eliminate preOutName
142 2003-03-10 Borut Razem <borut.razem@siol.net>
144 * src/SDCCmain.c: pipe preprocessor's output
145 * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
146 * sdcc_vc_in.h: define pclose as _pclose for WIN32
147 * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
148 which closes all pipes in pipeSet set
149 * src/SDCCset.c: free deleted item in function deleteSetItem()
150 * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
151 moved from z80 to src subproject
152 * .version: increased version number to 2.3.4
154 2003-03-10 Bernhard Held <bernhard@bernhardheld.de>
156 * support/regression/ports/mcs51/spec.mk: increase timeout for CF's sparc to 30s
157 * support/regression/ports/ds390/spec.mk: increase timeout for CF's sparc to 25s
158 * support/regression/ports/xa51/spec.mk: fix typo
160 2003-03-09 Bernhard Held <bernhard@bernhardheld.de>
162 * src/SDCCglobl.h: PATH_MAX is already defined in mingw32 headers
164 2003-03-09 Borut Razem <borut.razem@siol.net>
166 * src/SDCCmain.c: pipe preprocessor's output
167 * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
168 * sdcc_vc_in.h: define pclose as _pclose for WIN32
169 * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
170 which closes all pipes in pipeSet set
171 * src/SDCCset.c: free deleted item in function deleteSetItem()
172 * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
173 moved from z80 to src subproject
175 2003-03-09 Borut Razem <borut.razem@siol.net>
177 * src/SDCCglue.c: re-implemented tempfilename() and tempfile(): using mkstemp() if available
178 * src/SDCCsymt.h: fixed MSVC and BORLANDC compilation (included SDCCglobl.h instead srccconf.h)
179 * sdcc_vc_in.h: explicitly undefined HAVE_MKSTEMP which is not available on BORLANDC and MSVC
180 * src/SDCCset.h: removed inclusion of sdccconf.h or sdcc_vc.h
181 * src/SDCCglobl.h: unification of WIN32 native definitions
183 2003-03-09 Frieder Ferlemann <Frieder.Ferlemann@web.de>
185 * src/mcs51/gen.c: applied in-/dec patch mentioned on sdcc-devel 2003-03-01
187 2003-03-08 Bernhard Held <bernhard@bernhardheld.de>
189 * src/configure.in: check for endianess (even while cross-compiling)
190 * src/configure: check for endianess (even while cross-compiling)
191 * src/configure_in.h: check for endianess (even while cross-compiling)
192 * src/avr/gen.c: remove old endianess stuff
193 * src/mcs51/gen.c: remove old endianess stuff
194 * src/ds390/gen.c: remove old endianess stuff
195 * src/pic/gen.c: remove old endianess stuff
196 * src/pic/genarith.c: remove old endianess stuff
197 * src/pic/glue.c: fix endianess check
198 * src/pic16/gen.c: remove old endianess stuff
199 * src/pic16/genarith.c: remove old endianess stuff
200 * src/pic16/glue.c: fix endianess check
201 * src/xa51/gen.c: remove old endianess stuff
202 * src/z80/gen.c: fix endianess check
203 * src/SDCCglue.c: fix endianess check
204 * src/ds390/peeph.def: fix bug 700036
206 2003-03-08 Bernhard Held <bernhard@bernhardheld.de>
208 * src/SDCCsymt.h: use appropriate data-types on host for SDCC's int and long
209 * src/configure: find appropriate data-types on host for SDCC's int and long
210 * src/configure.in: find appropriate data-types on host for SDCC's int and long
211 * src/sdccconf_in.h: find appropriate data-types on host for SDCC's int and long
212 * src/xa51/gen.c: use %d, not %ld for 4 byte variables
214 2003-03-07 <johan@balder>
217 some minor cleanups before the big shot
218 OP_DEFS and OP_USES now use Kevin's protection
219 new option --nolabelopt
230 * src/ds390/ralloc.c:
231 * src/mcs51/ralloc.c:
236 2003-03-06 Bernhard Held <bernhard@bernhardheld.de>
238 * src/pic/pcode.c (get_op): fix 64 bit warnings
239 * src/pic/pcode.c (pCode2str): fix 64 bit warnings
240 * src/SDCChasht.c (newHashTable): fix 64 bit warnings
241 * src/SDCCsymt.c (checkTypeSanity): fix 64 bit warnings
242 * support/regression/tests/malloc.c: fix 64 bit warnings
244 2003-03-04 Bernhard Held <bernhard@bernhardheld.de>
246 * src/mcs51/gen.c (genMinus): fixed bug 696436
248 2003-03-02 Borut Razem <borut.razem@siol.net>
250 * src/SDCCmain.c: added BORLANDC, corrected MSVC in printVersionInfo()
252 2003-02-26 Bernhard Held <bernhard@bernhardheld.de>
254 * configure.in: test for mkstemp
255 * sdccconf_in.h: add HAVE_MKSTEMP
257 2003-02-24 Bernhard Held <bernhard@bernhardheld.de>
259 * device/include/ctype.h: removed warning while using --stack-auto
260 * device/include/malloc.h: removed warning while using --stack-auto
261 * device/include/string.h: removed warning while using --stack-auto
263 2003-02-23 Borut Razem <borut.razem@siol.net>
265 * src/asm.h: corrected assertion in function printILine(): _pipe() was not executed on MSVC,
266 because NDEBUG is defined (see man assert)
267 * sdcc_vc_in.h: vsnprintf is defined as _vsnprintf on MSVC
269 2003-02-23 Frieder Ferlemann <Frieder.Ferlemann@web.de>
271 * src/mcs51/gen.c (genUminusFloat): avoided dptr in-/decrement for xdata variables
272 * src/mcs51/peeph.def: added rule suggested by Gernot Fink, white space/comment changes
274 2003-02-18 Frieder Ferlemann <Frieder.Ferlemann@web.de>
276 * src/SDCCpeeph.c: added peephole conditions testing for same arguments
277 * src/mcs51/peeph.def: added rules 238a-d which remove redundant moves
279 2003-02-18 <johan@balder>
281 * as/mcs51/asmain.c (asmbl): module can start with a digit
282 * as/z80/asmain.c (asmbl): module can start with a digit
284 2003-02-16 Bernhard Held <bernhard@bernhardheld.de>
286 * sim/ucsim/mkecho: inserted #!/bin/sh for Cygwin, so that it's executable
287 * src/asm.c: fix pipe() for Mingw32
289 2003-02-15 Bernhard Held <bernhard@bernhardheld.de>
291 * src/SDCCglue.h: make tmpfileNameSet available for preOutName
292 * src/SDCCmain.c (preProcess): make sure, that preOutName will be deleted;
293 make -V work again; --c1mode reads now from stdin
294 * doc/sdccman.lyx: added --c1mode
295 * support/Util/SDCCerr.c: new messages for c1 mode
296 * support/Util/SDCCerr.h: new messages for c1 mode
297 * src/SDCC.lex (checkCurrFile): test if fullSrcFileName is NULL for c1mode
299 2003-02-15 <johan@balder>
301 * src/asm.c: new options: --no-c-code-in-asm and --i-code-in-asm
303 2003-02-14 Bernhard Held <bernhard@bernhardheld.de>
305 * doc/sdccman.lyx: Environment variables, -o and other minor things
307 2003-02-14 <johan@balder>
309 * src/xa51/main.c: before anyone really tries to use it :)
311 * Install doc's in share/sdcc/doc
312 * removed some obsolete files
313 * Do a proper make distclean and uninstall
317 M device/include/Makefile.in
318 M device/lib/Makefile.in
321 M sim/ucsim/doc/Makefile.in
325 M support/cpp2/Makefile.in
326 M support/makebin/Makefile
329 2003-02-13 Bernhard Held <bernhard@bernhardheld.de>
331 * support/regression/ports/host/spec.mk: use cc as host compiler for max osx
333 2003-02-10 Borut Razem <borut.razem@siol.net>
335 * doc/bccinst.txt, packihx/packihx.c, sdcc_vc_in.h, src/SDCCset.h,
336 support/cpp2/config.in: Borland C++ build doesn't depend on Cygwin configure
337 * Bcc.ini, Makefile.bcc, as/mcs51/Makefile.bcc,
338 device/examples/ds390/tinitalk/Makefile.bcc, packihx/Makefile.bcc,
339 support/cpp2/Makefile.bcc, src/Makefile.bcc, src/avr/Makefile.bcc,
340 src/ds390/Makefile.bcc, src/izt/Makefile.bcc, src/mcs51/Makefile.bcc,
341 src/pic/Makefile.bcc, src/pic16/Makefile.bcc, src/xa15/Makefile.bcc,
342 src/z80/Makefile.bcc: Borland Makefile cleanup
343 * as/z80/Makefile.bcc: Added Borland Makefile
344 * support/cpp2/borland.h: Removed
346 2003-02-10 Bernhard Held <bernhard@bernhardheld.de>
348 * doc/sdccman.lyx: new pragma NOIV by "Johannes Stezenbach" <js@convergence.de>
349 * src/SDCC.lex: new pragma NOIV
350 * src/SDCCglobl.h: new pragma NOIV
351 * src/SDCCmem.c: new pragma NOIV
353 2003-02-09 Bernhard Held <bernhard@bernhardheld.de>
355 * src/SDCCmain.c: signal handling is switched off by SDCC_LEAVE_SIGNALS
357 2003-02-09 Bernhard Held <bernhard@bernhardheld.de>
359 * src/SDCCmain.c: signal handling is switched off by --debug
360 * doc/Makefile: small fix for install; use clean.mk again
361 * doc/clean.mk: clean *.pdf and *.html too
363 2003-02-08 Bernhard Held <bernhard@bernhardheld.de>
365 * device/lib/_mulint.c: small fix for large/ds390 --int-long-reent resp. --stack-auto
366 * device/lib/printfl.c: fix a ds390 bug by making it portable
367 * src/SDCCsymt.c (initCSupport): fix compile warning on Cygwin
368 * src/SDCCopt.c (cnvToFloatCast): fix compile warning on Cygwin
369 * src/SDCCopt.c (cnvFromFloatCast): fix compile warning on Cygwin
370 * debugger/mcs51/cmd.c: converted multi-line string literals
371 * sim/ucsim/globals.cc: converted multi-line string literals
372 * src/SDCCmain.c: introduced signal handler to remove temp files
373 * doc/Makefile: small tweaks, implement clean
374 * doc: removed generated files
376 2003-02-05 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
378 * as/mcs51/aslink.h, as/mcs51/lkihx.c, as/mcs51/lkrloc.c: Applied
379 patch from Jan Rejlek <jr@apex-lib.cz> to fix Bug 677692: "Extended
380 Address Record is not correctly generated for DS390."
382 2003-02-02 Borut Razem <borut.razem@siol.net>
384 * Makefile.bcc: removed non existing cpp project and non compilable izt project from makefile
385 * as/mcs51/asm.h: fixed compilation with Borland C
386 * support/cpp2/Makefile.bcc: added rule to generate auto-host.h
387 * support/cpp2/auto-host_vc_in.h: fixed compilation with Borland C
388 * src/mcs51/mcs51a.dsp: corrected misspelled project name from msc51a to mcs51a
389 * src/avr/Makefile.bcc, src/ds390/Makefile.bcc, src/izt/Makefile.bcc,
390 src/mcs51/Makefile.bcc, src/pic16/Makefile.bcc, src/xa51/Makefile.bcc,
391 src/z80/Makefile.bcc: delete $(LIB) only if exist
392 * src/Makefile.bcc, src/pic/Makefile.bcc: fixed compilation with Borland C
394 2003-02-02 Bernhard Held <bernhard@bernhardheld.de>
396 * device/include/malloc.h: introduced NULL
397 * device/include/string.h: introduced NULL
398 * device/include/stdlib.h: introduced NULL
399 * device/lib/_memcpy.c: removed NULL
400 * device/lib/_strcat.c: removed NULL
401 * device/lib/_strchr.c: removed NULL
402 * device/lib/_strcmp.c: removed NULL
403 * device/lib/_strcpy.c: removed NULL
404 * device/lib/_strcspn.c: removed NULL
405 * device/lib/_strlen.c: removed NULL
406 * device/lib/_strncat.c: removed NULL
407 * device/lib/_strncmp.c: removed NULL
408 * device/lib/_strncpy.c: removed NULL
409 * device/lib/_strpbrk.c: removed NULL
410 * device/lib/_strrchr.c: removed NULL
411 * device/lib/_strspn.c: removed NULL
412 * device/lib/_strstr.c: removed NULL
413 * device/lib/_strtok.c: removed NULL
414 * device/lib/malloc.c: removed NULL, include own header
416 2003-02-02 <johan@balder>
418 * 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
419 * support/regression/fwk/lib/testfwk.c: div and mod isn't broken anymore
420 * regressions ds390/spec.mk and mcs51/spec.mk (timeout): my good old balder isn't fast enough for some tests
421 * src/z80/gen.c (genZ80Code): added c-lines in asm comments
422 * as/z80/asm.h (NINPUT): increased for long c-comments in regression tests
423 * src/z80/gen.c (genRightShiftLiteral): fixed the (char)(-3)>>8 (I think)
425 2003-02-01 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
427 * src/SDCCmain.c: Fixed bug 678574: "ds390: ASlink-Error-Stack overlaps
430 2003-02-01 <johan@balder>
432 * src/SDCCval.c (valBitwise): fixed Karl's "2 | (1<<8)"
434 2003-01-31 <johan@CP255758-A>
436 * src/ds390/main.c (_ds390_genAssemblerPreamble): applied Jan Rejlek's >64K startup patch
438 2003-01-30 <johan@balder>
440 * src/SDCCBBlock.c: automatic bug detection
441 * src/SDCCicode.c: automatic bug detection
443 2003-01-29 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
445 * src/SDCCglobl.h: now --xram-size 0 works
446 * src/SDCCmain.c: now --xram-size 0 works
448 2003-01-29 <johan@balder>
450 * src/almosteverything: changed OP_DEFS and OP_USES from macros to functions to catch symbol abuse (a hot topic in the bug list :)
452 2003-01-29 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
454 * as/mcs51/aslink.h: Added options --xram-size and --code-size
455 * as/mcs51/lkdata.c: Added options --xram-size and --code-size
456 * as/mcs51/lkmain.c: Added options --xram-size and --code-size
457 * as/mcs51/lkmem.c: Added options --xram-size and --code-size
458 * src/SDCCglobl.h: Added options --xram-size and --code-size
459 * src/SDCCmain.c: Added options --xram-size and --code-size
461 2003-01-28 Bernhard Held <bernhard@bernhardheld.de>
463 * src/ds390/gen.c: fix deps by replacing <common.h> with "common.h"
464 * src/SDCC.lex: rename P_OVERLAY to P_OVERLAY_ for cross-gcc 3.2 MINGW32
466 2003-01-27 <johan@balder>
468 * src/SDCC.y: fixed bug #613764
470 2003-01-26 <johan@balder>
472 * src/SDCClrange.c: fixed Bernhard's "char * code ptr = &c"
473 * src/SDCCsymt.h: fixed bug #673374
474 * src/SDCCglue.c: fixed bug #661910
475 * src/SDCCast.c: fixed bug #458099 and 673374
477 2003-01-26 Bernhard Held <bernhard@bernhardheld.de>
479 * as/mcs51/strcmpi.c: added, provides Aurelien Jarno's as_strcmpi(); strcmpi() is not ANSI
480 * as/mcs51/strcmpi.h: added
481 * as/mcs51/asm.h: remove ugly "#define strcmpi strcmp"
482 * as/mcs51/aslink.h: remove ugly "#define strcmpi strcmp"
483 * as/mcs51/asmain.c: strcmpi -> as_strcmpi
484 * as/mcs51/assym.c: strcmpi -> as_strcmpi
485 * as/mcs51/lkmem.c: strcmpi -> as_strcmpi
486 * as/mcs51/lknoice.c: strcmpi -> as_strcmpi
487 * as/mcs51/lksym.c: strcmpi -> as_strcmpi
488 * as/mcs51/Makefile.aslink: new module strcmpi
489 * as/mcs51/Makefile.asx8051: new module strcmpi
490 * as/mcs51/Makefil.bcc: new module strcmpi
491 * as/mcs51/Makefile.in: new module strcmpi
492 * sim/ucsim/s51.src/uc390.cc (get_mem_size): make RAM big enough for tinibios
494 2003-01-26 <johan@balder>
496 * src/SDCCglue.c: reverted back to 1.124
497 * src/SDCCast.c: reverted back to 1.156
498 * src/mcs51/gen.c (aopGet): applied Frieder's efficiency patch
500 2003-01-25 <johan@balder>
502 * src/SDCCglue.c: A better fix for bug #661910
503 * src/SDCCast.c: A better fix for bug #661910
504 * src/SDCCglue.c (emitRegularMap): That was a little too efficient
506 2003-01-24 Bernhard Held <bernhard@bernhardheld.de>
508 * src/Makefile.in: remove spawn.o
509 * src/SDCCmain.c: remove spawn.h
510 * src/SDCCmain.c (printVersionInfo): report MINGW32 instead of UNIX
511 * src/spawn.c: removed
512 * src/spawn.h: removed
513 * support/regression/ports/ds390/spec.mk: link with -r
515 2003-01-24 <johan@CP255758-A>
517 * src/ds390/gen.c (aopOp): fixed bug #667458
518 * src/SDCCglue.c (emitRegularMap): fixed bug #458099 again
519 * src/SDCCast.c (createIvalCharPtr): fixed bug #661910
520 (createIvalCharPtr): an ival doesn't always have a storage class anymore
522 2003-01-24 Bernhard Held <bernhard@bernhardheld.de>
524 * src/mcs51/peeph.def: better assembler identation by Frieder
525 * src/mcs51/gen.c: better assembler identation by Frieder
527 2003-01-22 Bernhard Held <bernhard@bernhardheld.de>
529 * as/z80/string.h: removed for gcc 3.2
530 * support/makebin/makebin.c: #include <string.h> for gcc 3.2
531 * src/pic/pcode.c (get_op_from_instruction): fix concatenation of string literals with __FUNCTION__ for gcc 3.2
533 2003-01-19 Bernhard Held <bernhard@bernhardheld.de>
535 * src/SDCCmain.c (linkEdit): rename mem and map files even in case of failure
536 * src/SDCCpeeph.c (replaceRule): fix bug #663503
537 * support/regression/Makefile: separate temp files for ports
538 * support/regression/generate-cases.py: separate temp files for ports
539 * src/mcs51/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
540 * src/ds390/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
542 2003-01-19 Bernhard Held <bernhard@bernhardheld.de>
544 * moved tinitalk to device/examples/ds390
546 2003-01-14 Bernhard Held <bernhard@bernhardheld.de>
548 * as/mcs51/lkmem.c: rflag is for DS390
549 * src/SDCCglobl.h: removed out_name and options stackOnData, genericPtr
550 * src/SDCCmain.c (optionsTable, setDefaultOptions): removed --stack-after-data and --generic
551 (linkEdit): move mem- and map-files the same way as ihx-files
552 * src/z80/main.c (_setDefaultOptions): removed --generic
553 * src/SDCCmain.c (_processC1Arg, parseCmdLine, main): --c1mode works again
554 * src/SDCCglue.c (createInterruptVect, glue): --c1mode works again
555 * src/pic/glue.c (picglue): --c1mode works again
556 * src/pic16/glue.c (pic16glue): --c1mode works again
557 * src/asm.c (printCLine): fix #660034
559 2003-01-13 Bernhard Held <bernhard@bernhardheld.de>
561 * src/ds390/peeph.def: fix #123; add 14 rules by Fiorenzo D. Ramaglia <fd.ramaglia@tin.it>, 1 by Frieder
562 * src/mcs51/peeph.def: fix #123; add 14 rules by Fiorenzo, 1 by Frieder
563 * src/mcs51/gen.c (genFunction): emit r0 instead of ar0 by Fiorenzo
564 * as/mcs51/lkmem (summary): better fix for sp problem
565 * src/SDCCglue.c (glue): __start_stack - 1, saves 1 byte!
566 * src/ds390/main.c (_ds390_finaliseOptions, _tininative_finaliseOptions): stack_loc = 0x400008
567 * support/regression/ports/*/spec.mk: moving testfwk-object to port dir allow parallel execution of regression tests
568 remove --stack-after-data
570 2003-01-12 Bernhard Held <bernhard@bernhardheld.de>
572 * src/SDCCmain.c (main): port->finaliseOptions() moved for z80 linking
573 * src/SDCCutil.c (join): ugly bug: missing '\0'
574 * as/mcs51/lkmem.c (summary): sp on address 7 is safe
576 2003-01-11 Bernhard Held <bernhard@bernhardheld.de>
578 * src/SDCCmain.c (assemble, linkEdit): preparations for -o
580 * src/pic/main.c (_asmCmd): gpasm supports -o
581 * src/z80/main.c: more general macros
582 * device/lib/Makefile.in: remove intermediate files
584 2003-01-11 Bernhard Held <bernhard@bernhardheld.de>
586 * .version: Bumped version number to 2.3.3
587 * src/SDCCBBlock.c: new option -o
588 * src/SDCCglobl.h: new option -o
589 * src/SDCCglue.c: new option -o
590 * src/SDCCmain.c: new option -o
591 * src/asm.c: new option -o
592 * src/ds390/main.c: new option -o
593 * src/pic/glue.c: new option -o
594 * src/pic/pcode.c: new option -o
595 * src/pic/ralloc.c: new option -o
596 * src/pic16/glue.c: new option -o
597 * src/pic16/pcode.c: new option -o
598 * src/pic16/ralloc.c: new option -o
599 * src/z80/main.c: new option -o
600 * device/lib/Makefile.in: use -o
601 * support/regression/ports/ds390/spec.mk: use -o
602 * support/regression/ports/gbz80/spec.mk: use -o
603 * support/regression/ports/mcs51/spec.mk: use -o
604 * support/regression/ports/mcs51-stack-auto/spec.mk: use -o
605 * support/regression/ports/z80/spec.mk: use -o
606 * support/regression/ports/ucz80/spec.mk: use -o
607 * support/regression/ports/xa51/spec.mk: use -o
608 * support/regression/fwk/lib/timeout.c: fix usage string
610 2003-01-09 Bernhard Held <bernhard@bernhardheld.de>
611 * src/mcs51/gen.c (genPlus): replaced "mov b,acc" by "mov b,a" Fiorenzo D. Ramaglia <fd.ramaglia@tin.it>
613 2003-01-07 <johan@balder>
615 * src/SDCCast.c (decorateType): fixed bug #600035
617 2003-01-07 Bernhard Held <bernhard@bernhardheld.de>
618 * as/mcs51/lkmem.c: added several l-modifiers to printf to remove warnings
619 * as/mcs51/lkaomf51.c: #include <ctype.h> to remove warnings
620 * src/pic/main.c (_hasNativeMulFor): outcommented unused variables to remove warnings
621 * src/pic/pcode.c: outcommented unused variable to remove warnings
622 * src/pic/ralloc.c: outcommented unused variable to remove warnings
624 2003-01-06 <karl@turbobit.com>
625 * sim/ucsim/cmd.src/command.cc: fixed so "break xram r 0x7654" works again in
628 2003-01-06 <johan@balder>
630 * src/SDCCicode.c: fixed array add
632 2002-01-05 Bernhard Held <bernhard@bernhardheld.de>
633 * src/SDCCmacro.c: MAX_STRING_LENGTH increased to 2048; was too small for regression tests
634 * support/regression/ports/host/support.c: #include <stdarg.h> for gcc 3.2
636 2003-01-04 <johan@balder>
638 * src/SDCCval.c (getNelements): fixed the initialized array of structures
640 2002-12-29 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
641 * as/mcs51/Makefile.bcc: fixed typo lkomf51.o -> lkaomf51.o
643 2002-12-28 Bernhard Held <bernhard@bernhardheld.de>
644 * src/mcs51/peeph.def: added rules 234 and 235 from Frieder Ferlemann <frieder.ferlemann@web.de>
645 * support/regression/tests/bug-524697.c: fit mem usage into 8032
647 2002-12-28 Bernhard Held <bernhard@bernhardheld.de>
648 * src/mcs51/gen.c (aopGetUsesAcc): inserted missing "return FALSE"
650 2002-12-27 Bernhard Held <bernhard@bernhardheld.de>
651 * as/mcs51/Makefile.in: fixed typo lkomf51.o -> lkaomf51.o
653 2002-12-26 Bernhard Held <bernhard@bernhardheld.de>
654 * src/mcs51/main.c: removed {bindir}{sep} from aslink
656 2002-12-10 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
658 * in \sdcc\as\mcs51\ changed these files in order to create an
659 aomf51 file: aslink.h, lkdta.c, lklex.c, lklibr.c, lklist.c,
660 lkmain.c. Also added: lkmem.c and lkaomf51.c. Changed the
661 following files to include the previous two files: aslink.dsp,
662 Makefile.aslink, Makefile.bcc, and Makefile.in.
664 * Changed \sdcc\src\SDCCmain.c so it creates files with extension
667 2002-11-09 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
669 * \sdcc\as\mcs51\lklist.c: Now reports memory usage using the
670 value from option --iram-size.
672 2002-09-20 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
674 * \sdcc\as\mcs51\lklist.c: added boundary check before using
677 2002-09-18 <wiml@hhhh.org>
679 * SDCClrange.h: exposed setFromRange() and setToRange()
680 * mcs51/ralloc.c: fixed over-eager packRegsForSupport() and
681 packRegsForAccUse() (bug 542397)
682 * mcs51/gen.c: MOVA() is now a function to avoid calling aopGet()
683 multiple times and emitting the fetch operations more than once
684 added aopGetUsesAcc() function to allow binary operators to
685 fetch their operands in the correct order; made genMinus() emit
686 compact code for X = LITERAL - Y
688 2002-09-00 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
689 * \sdcc\as\mcs51\lklist.c: Fixed incorrect number of parameters to
690 sprintf() in line 1267.
692 2002-09-08 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
693 * \sdcc\src\SDCCglue.c: Generate areas REG_BANK_[0-3] only for 8051
696 2002-09-04 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
697 Changes to aslink (All the changes are marked with 'JCF'):
699 * \sdcc\as\mcs51\aslink.h: External definition of sflag and
702 * \sdcc\as\mcs51\lkarea.c: Computes the size of area BSEG_BYTES from
703 area BSEG. Also moves, if possible, the DATA area down into the internal
704 ram so more space is available.
706 * \sdcc\as\mcs51\lkdata.c: Definition of memory summary output flag
709 * \sdcc\as\mcs51\lklist.c: For the BSEG area report the size in bits,
710 not bytes. Function summary() which creates a memory usage summary
711 file with extension .mem. Reports of overlaping stack and small stack
712 size. If the space for the stack is less than 16 bytes aslink trows a
715 * \sdcc\as\mcs51\lkmain.c: Creation of some of the default areas for
716 the 8051. Option 'y' for memory summary output file.
718 Changes to sdcc (All the changes are marked with 'JCF'):
720 * \sdcc\src\SDCCglobl.h: External definition of RegBankUsed[4].
722 * \sdcc\src\SDCCglue.c: If a register bank is used, creates an
723 overlaying area for it (uses RegBankUsed[4]).
725 * \sdcc\src\SDCCmain.c: Definition RegBankUsed[4]; marks register
726 bank zero as used by default. By default aslink locates the stack
727 (equivalent to --stack-after-data). Pass option 'y' to aslink for
728 the creation of the .mem file. Delegates the allocation of data area
729 to aslink (it is not longer 0x30 by default). If --stack-loc passes
730 the begining of the stack area to aslink.
732 * \sdcc\src\SDCCmem.c: If a register bank is used, marks it so
733 glue() in SDCCglue.c creates an area for it.
735 2002-09-03 Borut Razem <borut.razem@siol.net>
736 * sdcc/src/SDCCglue.c, sdcc/src/SDCCglue.h, sdcc/src/SDCCmain.c,
738 introduced atexit() handler for teporay files removal in case of
739 errors, assertions, ...
741 2002-08-29 Borut Razem <borut.razem@siol.net>
742 * sdcc/support/cpp2/auto-host_vc_in.h:
743 re-definition of O_BINARY and other O_XXX as _O_BINARY and _O_XXX, so the problem
744 with the returned value from read() in sdcc/support/cpp2/cppfiles.c is solved for MSC.
745 Maybe there is a similar problem with BORLANDC? It should be checked!
747 * sdcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c, sdcc/src/z80/ralloc.c:
748 corrected improper use of assert: the assignment to clr variable was done inside the assert.
749 In case that NDEBUG was defined, the assert macro was substituted with no-op, so the assignment
750 was not executed, and the compiler (cl) launched a warning:
751 ralloc.c(1442) : warning C4700: local variable 'clr' used without having been initialized
753 2002-08-28 Bernhard Held <bernhard@bernhardheld.de>
754 * src/SDCCglue.c (printIvalArray): iterative calculation of array length
756 2002-08-28 Jesus Calvino-Fraga and Borut Razem <borut.razem@siol.net>
757 * sdcc/sdcc.dsw: added sdcpp, sdcppa, yacc, conf projects
759 * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
760 sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp,
761 sdcc/src/xa51/xa51.dsp, sdcc/src/avr/avra.dsp,
762 sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
763 sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp,
764 sdcc/src/xa51/xa51a.dsp, sdcc/as/as_z80.dsp,
765 sdcc/as/aslink.dsp, sdcc/as/asx8051.dsp, sdcc/packihx/packihx.dsp:
766 - added Release configuration in VS projects
767 - review of compiler an linker options
768 - VC .exe files are generated in bin_vc directory, not to interfere
769 with binaries generated from other projects (cygwin, mingw, bcc ...)
771 * sdcc/src/yacc.dsp: added
773 * sdcc/config.dsp, sdcc/configure_vc.awk, sdcc/sdcc_vc_in.h:
774 added - genarate sdcc_vc.h using sdcc_vc_in.h as template
775 and insert the version number definitions from .version
777 * sdcc/support/cpp2/sdcpp.dsp: added - VC project for sdcpp
779 * sdcc/support/cpp2/sdcppa.dsp, sdcc/support/cpp2/auto-host_vc_in.h:
780 added - genarate auto-host.h using auto-host_vc_in.h as template
783 removed from CVS, generated automatically
785 2002-08-25 Bernhard Held <bernhard@bernhardheld.de>
786 * support/scripts/inc2h.pl: use gputils or gpasm (from Nathan Hurst)
788 2002-08-11 Borut Razem <borut.razem@siol.net>
789 * support/Util/NewAlloc.c: removed unneeded #include "sdccconf.h" (suggested by Jesus Calvino-Fraga)
791 2002-08-10 Borut Razem <borut.razem@siol.net>
792 * src/SDCCmain.c (main):
793 file preOutName was unlinked before closed. This seems to be OK on UNIX and cygwin
794 platforms, but it doesn't work with Visual Studio: the opened file can not be removed.
795 The consequence was that some temporary files were not removed.
798 unification of code in functions tempfilename() and tempfile():
799 function tempnam() is defined in Visual Studio 6.0 and .NET
801 * sdcc/sdcc.dsw: removed project sdcpp, added project xa51a
803 * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
804 sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp:
805 - removed compiler command line option /WX: Treats all warnings as errors
806 - update a list of source files, included into the project
808 * sdcc/src/avr/avra.dsp, sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
809 sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp:
810 changed project type to Generic Project so that can be correcly converted to VS.NET project
812 * sdcc/as/mcs51/asm.h: definition of PATH_MAX for MSC
814 * sdcc/src/SDCCast.c: solved MSC error in function decorateType()
816 * sdcc/src/SDCC.y: added missing ending ';' to rules to get rid of bison warnings
818 * dcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c:
819 added return 0 statements after assert() to make compiler happy
821 * sdcc/src/xa51/peeph.rul, sdcc/src/xa51/peeph.def, sdcc/src/z80/ralloc.c:
822 added newline in the def file to keep MSC compiler satisfied
824 * sdcc/src/z80/gen.c:
825 - function strcasecmp() is not defined in MSC (and probably also in BORLANDC),
826 so it is replaced with STRCASECMP, which is defined as stricmp in case of MSC and BORLANDC
827 - solved MSC error in function aopDump()
829 * sdcc_vc.h: define PREFIX as "\\sdcc"
831 2002-07-18 Bernhard Held <bernhard@bernhardheld.de>
832 * src/SDCCast.c (decorateType): fixed access to array of structures http://sourceforge.net/mailarchive/forum.php?thread_id=902690&forum_id=4107
834 2002-06-22 Scott Dattalo <scott@dattalo.com>
835 * src/pic/*: Numerous bug fixes. Flow analysis has been enhanced.
836 - Rewrote the register banking algorithm.
837 - Added pCode live-range analysis to registers (for now, only non-used and
838 singly-used registers optimized away)
840 * src/pic/pcoderegs.[ch]: Added new files for pCode live-range analysis
842 * support/scripts/inc2h.pl Kevin L. Pauba <klpauba@cox.net> submitted this perl script for converting MicroChip include files into SDCC Pic include files.
844 2002-05-10 Scott Dattalo <scott@dattalo.com>
845 * src/pic/*: Added support for multiplication. Fixed many,many bugs.
847 2002-04-22 Michael Hope <michaelh@vroom>
849 * device/lib/z80/printf.c: Changed emitter to volatile to work around a pcall bug.
851 * configure.in (DD_COPT): Added include support required for gbdk.
853 * .version: Bumped version number just to increase it.
855 * src/SDCCmain.c: Added -nostdinc to the default options.
857 2002-04-15 Michael Hope <michaelh@vroom>
859 * device/lib/z80/printf.c (sprintf): Added.
861 * src/z80/ralloc.c (packRegisters): Disabled pack HL use for GB as it's broken.
863 * src/z80/peeph.def: Added transpose redundent load rule.
865 * src/z80/main.c: Added force callee saves for jaune.
867 * src/port.h: Removed the i186 and tlcs-900h ports as they weren't being being developed.
869 * src/SDCCmain.c: Pulled the options definition out so that you can add port specific options without changing the main file.
871 2002-03-28 Johan Knol <johan@balder>
873 * src/SDCCval.c: fixed bug #532436
875 2002-03-14 Scott Dattalo <scott@dattalo.com>
877 Added "char *Processor" field to the port structure.
880 Added -p option. Allows port dependent processor to be specified.
883 Initialized the new field char *Processor field to NULL in all ports
886 Compiler generated registers for interrupt context saving
887 were not getting allocated.
889 2002-03-16 Sandeep Dutta <sandeep@ddi.com>
892 Fixed left shift. Will promote the left side of a left shift
893 if a) left shifting more than size of operand or b) when assigned
894 to something size > size of left side
896 2002-03-14 Scott Dattalo <scott@dattalo.com>
898 tons of changes. Register allocation has been
899 rewritten. Added customization for the various PICs. Flow
900 analysis is restructured. ...
906 Added. device.c is a PIC port hack to accomodate variations
909 2002-03-13 Michael Hope <michaelh@vroom>
911 * src/z80/gen.c (genGenPointerGet): Fixed a bug where a pointer in HL is dereferenced into HL but HL is not spilled. Yeah.
913 2002-03-04 johanknol <johanknol@manik>
915 * /src/SDCCval.c: fixed
917 const unsigned char arr[][2] = { { 0, 1 } };
918 t18.c:1: error: Initializer element is not constant
920 2002-03-04 bela <bela@manik>
922 * /device/include/mcs51reg.h:
923 ds89c420 register definition update
925 2002-03-03 <johan@FRIJA>
927 * support/Util/SDCCerr.c: did something, but don't no why anymore
929 * support/regression/tests/bug-524691.c: made it a little less shy
931 * src/SDCCast.c (decorateType): fixed bug #524697
933 * src/SDCCast.c: made some lineno improvements
935 * src/SDCCval.c (getNelements): changed warning to error
937 * src/SDCCglue.c (printIvalArray): changed warning to error
939 * src/SDCCicode.c: fixed a warning for mingw
941 * src/SDCCast.c (decorateType): fixed the << promotion for ops
943 * src/SDCCicode.c (geniCodeDivision): divide is shift only for unsigned (bug #524685)
945 2002-03-02 Sandeep Dutta <sandeep@ddi.com>
947 * src/ds390/peeph.def:
948 Added some more peephole rules
950 * src/ds390/gen.c: Various fixes & enhancements
952 * src/SDCClrange.c, src/SDCClrange.h:
953 functions "alldefsoutofrange" and "notusedinblock" moved to SDCClrange.c
955 * src/ds390/ralloc.c:
956 various fixes & enhancements (ds390) specific
958 * src/avr/ralloc.c, src/mcs51/ralloc.c, src/pic/ralloc.c, src/xa51/ralloc.c, src/z80/ralloc.c:
959 Functions "allDefsOutOfRange" & "notUsedinBlock" moved to SDCClrange.c
962 * sdcc/src/SDCCcse.c: Better fix for bug # 514308
964 2002-03-02 <johan@FRIJA>
966 * src/SDCCast.c (decorateType): fixed bug #524708
968 * src/SDCCval.c (floatFromVal): fixed the literal void (whatever that may be)
970 * src/SDCCicode.c (geniCodePtrPtrSubtract): fixed bug #524691
972 2002-03-01 Michael Hope <michaelh@vroom>
974 * src/SDCCsymt.c (initCSupport): Removed managling of support function names.
976 * src/z80/ralloc.c (packRegsForIYUse): Fixed fp bug where four byte operands were packed into IY.
978 2002-03-01 <johan@FRIJA>
980 * src/SDCCglue.c (printIvalPtr): fixed bug #524211
982 * src/SDCCast.c (decorateType): fixed bug #524209
984 * src/SDCCval.c (valNot): fixed bug #524195
986 2002-02-26 <johan@balder>
988 * src/xa51/gen.c: fixed a warning
990 * src/SDCCglue.c (printIvalFuncPtr): fixed bug #522534
992 * src/SDCCast.c (decorateType): fixed bug #522534
994 2002-02-23 <johan@balder>
996 * src/SDCCdflow.c (computeDataFlow): fixed bug #460088
998 2002-02-22 <johan@balder>
1000 * src/SDCCast.c: fixed bug #514865
1002 * src/SDCCy.c ("SDCC.y"): fixed bug #516625
1004 2002-02-21 Sandeep Dutta <sandeep@ddi.com>
1006 * sdcc/src/SDCCloop.c:
1007 Previous fix was not good. basic blocks that have "break" or "return" are
1008 not really partof a loop , but live ranges used in these blocks should
1009 be live thru the entire loop, so set partOfLoop but don't add them to
1012 2002-02-21 <johan@FRIJA>
1014 * src/SDCCcse.c: fixed bug #514308
1016 2002-02-20 Sandeep Dutta <sandeep@ddi.com>
1019 Fixed BUG #519583. If a conditional block ended in a return/break
1020 statement inside a loop, it was not being considered part of the loop.
1022 * src/SDCCcflow.c: Removed fix (Fixed in SDCCloop.c)
1024 2002-02-10 Karl Bongers <karl@turbobit.com>
1027 Fixed up SDCDB debugger somewhat. Updated debugger/README
1028 with lots of comments and notes.
1030 * device/examples/test2.c:
1031 Fix bug, "red" variable not being initialized(compiler complained).
1033 * device/examples/Makefile, examples/test3.c:
1034 Add Makefile in device/examples folder, compiles test3.c
1035 for use as a multiple module SDCDB test case.
1037 * sim/ucsim/cmd.src/cmdset.cc:
1038 Took out debug printfs in ucsim "next" command.
1041 Karl and Johan start ucsim XA support. Most dissassembly working,
1042 about 75% emulation done(plenty of work remaining).
1044 * sim/ucsim/z80.src:
1045 Add Z80 support to ucsim, add test-ucz80 regression test,
1046 notice ucsim/z80 emulation fails on examples/test3.c/itoa code.
1047 Notice z80 compiler fails on examples/test3.c/crc code.
1049 2002-01-30 Sandeep Dutta <sandeep@ddi.com>
1051 * src/mcs51/gen.c, src/mcs51/main.c, src/mcs51/ralloc.c:
1052 Added support for --parms-in-bank1
1054 * src/ds390/peeph.def:
1055 added a few more peephole optimzations
1058 1) added __builtin_inp & __builtin_outp used to read in data of given length
1059 from a memory mapped port
1060 2) added __builtin_memcmp
1061 3) added __builtin_swapw swap bytes of a short
1063 * src/ds390/gen.c, src/ds390/gen.h, src/ds390/ralloc.c:
1064 1) handle multiple send & receives from register bank1
1065 2) ralloc can now allocate DPTR1 to some liveRanges
1067 * src/SDCCsymt.c, src/SDCCsymt.h:
1068 changes to handle multiple sends & receives
1071 added some pointer arithmetic optimization
1074 added some pointer arithmetic optimizations but not stable yet so not
1075 called from anywhere (will get this working shortly)
1077 * src/SDCCopt.c: fixed for multiple sends & receives
1080 1) added options --parms-in-bank1 (ds390/mcs51) & --protect-sp-update
1081 2) preprocessing done AFTER port->finalizeoptions . This allows ports to
1082 set preprocessor defines (depending on options)
1084 * src/SDCCicode.c, src/SDCCicode.h:
1085 changes made to handle multiple sends & receives
1088 Added options --protect-sp-update (ds390) and --parms-in-bank1 (ds390/mcs51)
1090 * src/SDCCcse.c, src/SDCCcse.h:
1091 added function findbackward def (to be used in upcoming optimization)
1093 * src/SDCCcflow.c, src/SDCCcflow.h:
1094 added function returnAtEnd - to determine if a basic block terminates with
1097 * src/SDCCast.c, src/SDCCast.h:
1098 added option parms-in-bank1
1100 * device/lib/_divsint.c, device/lib/_divslong.c, device/lib/_divuint.c
1101 * device/lib/_divulong.c, device/lib/_modsint.c, device/lib/_modslong.c
1102 * device/lib/_modulong.c, device/lib/_mulint.c, device/lib/_mullong.c:
1103 adjusted for --parms-in-bank1 option
1105 * device/include/string.h:
1106 donot redefine "reentrant" keyword
1108 * device/include/ds80c390.h: Added some more SFRs
1110 2002-01-28 Bernhard Held <bernhard@bernhardheld.de>
1112 * sim/ucsim: Merged branch ucsim-034-pre3 to main trunk; new version 0.4
1114 2002-01-26 Bernhard Held <bernhard@bernhardheld.de>
1116 * src/SDCCast.c (funcOfType): fix usage of double --float-reent
1118 2002-01-22 Bernhard Held <bernhard@bernhardheld.de>
1120 * support/regression/fwk/lib/testfwk.c (main): Removed workaround for bug #505387
1122 2002-01-18 Paul Stoffregen <paul@pjrc.com>
1124 * Added --xram-movc option
1126 2002-01-13 Bernhard Held <bernhard@bernhardheld.de>
1128 * support/regression/Makefile: don't include test-mcs51-stack-auto in target all
1130 2002-01-11 Johan Knol
1132 * Added math lib of Jesus Calvino-Fraga
1134 2002-01-08 Bernhard Held <bernhard@bernhardheld.de>
1136 * src/SDCCmain.c (processFile): fix processing of ../../src.c
1137 * support/regression/Makefile: new target test-mcs51-stack-auto
1138 * support/regression/ports/mcs51-stack-auto/spec.mk: added
1140 2002-01-04 Bernhard Held <bernhard@bernhardheld.de>
1142 * src/SDCCglue.h: printIvalCharPtr(), not printIvalChar()
1144 2002-01-04 Bernhard Held <bernhard@bernhardheld.de>
1146 * support/regression/ports/mcs51/support.c: correct setup of timer / UART
1148 2002-01-03 Bernhard Held <bernhard@bernhardheld.de>
1150 * src/SDCCsymt.c (processFuncArgs): fix #498307 by Johan
1152 * src/SDCCglue.h: add definition for printIvalChar()
1154 2002-01-02 Bernhard Held <bernhard@bernhardheld.de>
1156 * src/SDCCast.c: fix #498138 by Johan
1158 * src/SDCCglue.c: fix #498138 by Johan
1160 2002-01-02 Bernhard Held <bernhard@bernhardheld.de>
1162 * support/regression/Makefile: fix clean
1164 * support/regression/ports/ds390/support.c: fix transmission of last character
1166 2001-12-29 Sandeep Dutta <sandeep@ddi.com>
1168 * /sdcc/src/ds390/gen.c:
1169 a) improved computing address of stack variable
1170 b) took out some #if 0 code
1171 c) improved parmBytes adjustment
1172 d) improved genPlusIncr & genMinusIncr
1173 e) genCmp could generate bad code (when left assigned to DPTR)
1174 f) Fixed bug in hasInc
1176 * /sdcc/src/ds390/ralloc.c:
1177 a) packRegsForSupport could mess up live information (Fixed)
1178 b) packRegsDPTRuse could be incorrect for left & right shift
1180 * /sdcc/src/mcs51/ralloc.c:
1181 packRegsForSupport could mess up the live information (Fixed)
1183 * /sdcc/src/mcs51/gen.c: Fixed a bug in hasInc
1185 * /sdcc/src/SDCCast.c:
1186 can reverse a loop even if function call is present as long
1187 as the loop control variable is local & is not passed as parameter
1189 2001-12-24 Sandeep Dutta <sandeep@ddi.com>
1191 * /sdcc/ChangeLog: *** empty log message ***
1193 * /sdcc/src/ds390/gen.c, /sdcc/src/ds390/main.c:
1194 More builtin function additions for TININative
1196 * /sdcc/src/ds390/ralloc.c:
1197 Had broken the regression testsuite
1199 * /sdcc/src/SDCCast.c: Fixed a bug in dumptree
1201 * /sdcc/src/SDCCsymt.c, /sdcc/src/SDCCsymt.h:
1202 Added funcattr hasStackParms will be set for reentrant functions when there
1203 are paramteres on the stack, this helps in minimizing frame pointer generation
1204 typeFromStr can handle function pointers now
1206 * /sdcc/doc/builtins.txt, /sdcc/doc/TININative.txt:
1207 *** empty log message ***
1209 2001-12-24 Sandeep Dutta <sandeep@ddi.com>
1211 * /src/ds390/gen.c, /src/ds390/main.c:
1212 More builtin function additions for TININative
1214 * /src/ds390/ralloc.c:
1215 Had broken the regression testsuite
1217 * /src/SDCCast.c: Fixed a bug in dumptree
1219 * /src/SDCCsymt.c, /src/SDCCsymt.h:
1220 Added funcattr hasStackParms will be set for reentrant functions when there
1221 are paramteres on the stack, this helps in minimizing frame pointer generation
1222 typeFromStr can handle function pointers now
1224 * /doc/builtins.txt, /doc/TININative.txt:
1225 *** empty log message ***
1228 2001-12-24 Sandeep Dutta <sandeep@ddi.com>
1230 * /src/ds390/gen.c, /src/ds390/main.c, /src/ds390/peeph.def, /src/ds390/ralloc.c:
1231 ALPHA version for -mTININative
1233 * /src/izt/i186.c, /src/izt/tlcs900h.c, /src/mcs51/main.c, /src/pic/main.c, /src/z80/main.c, /src/avr/main.c:
1234 updated to reflect changes in the port structure
1237 added function do_assemble (similar to do_link) if non-null this function
1238 will be called to do assembly (-mTININative) requires a multi command
1240 added function genAssemblerEnd will be called to generate assembler Epilogue
1243 added _JavaNative to debug info printing
1245 * /src/SDCCmain.c: added option --tini-libid
1246 added port->do_assemble function (-mTININative) has a multi command assemble
1248 * /src/SDCCglue.c: Disabled "constExpr" check
1249 added port->genAssemblerEnd function
1251 * /src/SDCCglobl.h: Added option --tini-libid value
1254 tookout optimizeCompare from the header (has no external references)
1256 * /src/SDCCast.c: made one more function "static"
1258 2001-12-23 Michael Hope <michaelh@juju.net.nz>
1260 * src/z80/mappings.i: Added z80asm support.
1262 * src/z80/main.c: Added z80asm support on --asm=z80asm
1264 * src/z80/gen.c: Fixed asm portability issues.
1266 * src/asm.c (tvsprintf): Removed old code, added 'N' for function name. For extern support.
1268 * src/SDCCglue.c (printExterns): Added global/extern split.
1270 2001-12-17 Bernhard Held <bernhard@bernhardheld.de>
1272 * support/regression/Makefile: added test for mcs51 model large
1274 * support/regression/ports/mcs51-large/spec.mk: added test for mcs51 model large
1276 * support/regression/ports/gbz80/spec.mk: added -mgbz80
1278 2001-12-05 Michael Hope <michaelh@juju.net.nz>
1280 * src/diff.1 (Index): Many, many optmisiations. Dhrystone up to 201.
1282 1904-01-06 Michael Hope <michaelh@juju.net.nz>
1284 * src/z80/ralloc.c (packRegsForIYUse): Fixed the case where an operand is in direct space.
1286 * src/z80/gen.c (makeFreePairId): Optimised IY load by using a spare pair.
1288 2001-12-02 Bernhard Held <bernhard@bernhardheld.de>
1290 * src/mcs51/gen.c (genFunction): avoid excess "inc sp"
1292 * support/regression/tests/simplefloat.c: Port to mcs51.
1294 2001-11-25 Michael Hope <michaelh@juju.net.nz>
1295 * support/regression/tests/bug-485362.c: Added.
1297 * support/regression/tests/simplefloat.c (testDivNearOne): Added.
1299 * src/z80/gen.c (aopOp): Fixed case where left and result are in the same spill loc and they have different sizes.
1301 * src/z80/peeph.def: Added rules for optimising two byte compares on the same thing, and to optimise two ptr assign.
1303 * src/z80/gen.c (aopDump): Added a dump function.
1305 2001-11-25 Bernhard Held <bernhard@bernhardheld.de>
1306 * sim/ucsim/s51.src/glob.cc: DS390 SFRs and bits added.
1308 * sim/ucsim/s51.src/port.cc: Port 4 and 5 added.
1310 * sim/ucsim/s51.src/regs51.h: DS390 SFRs added.
1312 * sim/ucsim/s51.src/uc390.cc: Some details improved, CKRDY works for tinibios.
1314 * sim/ucsim/s51.src/uc390cl.h: Work in progress.
1316 * sim/ucsim/sim.src/uccl.h: 6 ports for DS390.
1318 * support/regression/fwk/lib/testfwk.c: Run with tinibios.
1320 * support/regression/ports/mcs51/spec.mk: Fine tuninig.
1322 * support/regression/ports/ds390/support.c: Use tinibios.
1324 * support/regression/ports/ds390/spec.mk: Fine tuning, use tinibios.
1326 2001-11-23 Michael Hope <michaelh@juju.net.nz>support/regression/tests/bug-460010.c
1328 * src/z80/ralloc.c (packRegsForHLUse3): Changed to not pack into HL if anything is in direct space.
1329 (packRegsForHLUse3): Added packing support for send, cast, and return value from a call.
1331 * src/z80/peeph.def: Added rules for optimising pushes of part of a pair.
1333 * src/z80/gen.c (emitCall): Changed the stack fixup to not use HL.
1335 2001-11-18 Michael Hope <michaelh@juju.net.nz>
1337 * src/z80/gen.c (genCmp): Fixed compare on unsigned.
1339 * src/z80/ralloc.c (packRegsForHLUse3): Created and optimised.
1340 (packRegsForIYUse): Created and optimised.
1342 2001-11-07 Michael Hope <michaelh@juju.net.nz>
1344 * support/regression/tests/float.c (testFloatAdd): Fixed up warning.
1345 2001-11-18 Bernhard Held <bernhard@bernhardheld.de>
1347 * sdcc/support/regression/tests/bug-460010.c: fix seg violation on host
1349 * sdcc/support/regression/tests/muldiv.c: fix output on mcs51
1351 * sdcc/support/regression/tests/stacks.c: fix DSEG overflow on mcs51
1353 2001-11-07 Bernhard Held <bernhard@bernhardheld.de>
1355 * sdcc/sim/device/lib/_gptrget.c: mem region 5 (idata) added
1357 * sdcc/sim/device/lib/_gptrput.c: mem region 5 (idata) added
1359 2001-11-07 Bernhard Held <bernhard@bernhardheld.de>
1361 * sdcc/sim/ucsim/globals.cc: New: IXRAM.
1363 * sdcc/sim/ucsim/stypes.h: New: IXRAM.
1365 * sdcc/sim/ucsim/s51.src/uc390.cc: New: IXRAM.
1367 2001-11-07 Michael Hope <michaelh@juju.net.nz>
1369 * src/z80/ralloc.c (packRegsForHLUse): Banned IFXs from being packed into HL.
1370 (packRegsForHLUse): Added rule to pack address of/pointer get for itemps into HL for the Z80.
1371 (packRegsForAccUse2): Added rule to pack hbit IFXs into A.
1373 * src/z80/main.c (_setDefaultOptions): Made float code re-entrant by default.
1375 * src/z80/gen.c (aopGetLitWordLong): Added word support for floats.
1376 (genNotFloat): Added.
1377 (genUminusFloat): Added.
1379 * device/lib/z80/Makefile: Added floating pt stubs.
1381 * device/lib/Makefile.in (Z80SOURCES): Added floating pt support.
1383 * src/z80/gen.c (genIpush): Fixed up a push of one byte when left is in a pair.
1385 * device/lib/_fsadd.c (__fsadd): Fixed up return where the numbers are hugely different.
1387 2001-11-07 Bernhard Held <bernhard@bernhardheld.de>
1389 * sdcc/sim/ucsim/s51.src/glob.cc: Minor fix.
1391 * sdcc/sim/ucsim/s51.src/regs51.h: Minor fix.
1393 * sdcc/support/regression/Makefile: Add port ds390.
1395 * sdcc/support/regression/ports/mcs51/spec.mk: Minor change.
1397 * sdcc/support/regression/ports/z80/spec.mk: Minor change.
1399 * sdcc/support/regression/ports/ds390/spec.mk: Added.
1401 * sdcc/support/regression/ports/ds390/support.c: Added.
1403 * sdcc/support/regression/ports/ds390/uCsim.cmd: Added.
1405 * sdcc/support/regression/ports/mcs51/timeout.c: Cut.
1407 * sdcc/support/regression/fwk/lib/timeout.c: Paste.
1409 2001-11-04 Michael Hope <michaelh@juju.net.nz>
1411 * device/include/malloc.h: Added z80 and gbz80 support.
1413 * device/lib/gbz80/heap.s: Added.
1415 * device/lib/z80/heap.s: Added.
1417 * device/lib/malloc.c: Added z80 and gbz80 support.
1419 * support/regression/tests/malloc.c (testMalloc): Added.
1421 * src/SDCCmain.c (parseCmdLine): Added support for -Wp.
1423 * support/regression/tests/bug-478094.c: Added.
1425 * src/z80/gen.c (commitPair): Fixed silly gbz80/z80 commit to static bug.
1427 2001-11-04 Bernhard Held <bernhard@bernhardheld.de>
1429 * sdcc/sim/ucsim/s51.src/uc390cl.h: Improvement for ds390 to run regression tests
1431 * sdcc/sim/ucsim/s51.src/uc390.h: Improvement for ds390 to run regression tests
1433 * sdcc/sim/ucsim/s51.src/regs51.h: Improvement for ds390 to run regression tests
1435 * sdcc/sim/ucsim/s51.src/glob.cc: Improvement for ds390 to run regression tests
1437 * sdcc/support/regression/tests/bug-460010.c: Small change for ds390
1439 2001-11-04 Michael Hope <michaelh@juju.net.nz>
1441 * src/z80/peeph-gbz80.def: Removed a bad sub optimisation.
1443 2001-11-03 Michael Hope <michaelh@juju.net.nz>
1445 * support/regression/tests/bug-477927.c: Added.
1447 * src/z80/peeph.def: Added minor rules.
1449 * src/z80/gen.c (genPlusIncr): Added an extra plusinc rule.
1451 * src/z80/peeph.def: Added jump optimisation modification.
1453 2001-11-01 Michael Hope <michaelh@juju.net.nz>
1455 * src/SDCCmain.c (linkEdit): Added runtime path detection to the mcs51 port.
1457 2001-10-30 Michael Hope <michaelh@juju.net.nz>
1459 * support/regression/tests/funptrs.c: Added.
1461 2001-10-29 Michael Hope <michaelh@juju.net.nz>
1463 * src/z80/ralloc.c (packRegsForHLUse): Fixed up bad spill due to pushing one byte via HL.
1465 2001-10-28 Michael Hope <michaelh@juju.net.nz>
1467 * src/z80/gen.c (genArrayInit): Made it work for on stack arrays.
1469 * src/z80/main.c (gbz80_port =): Added rle support to the gbz80 port.
1471 * src/z80/gen.c (genMinus): Fixed for where the result is one byte.
1472 (movLeft2ResultLong): Created.
1474 * src/z80/ralloc.c (packRegsForHLUse): Added a couple of simple cases for the GB.
1475 (joinPushes): Added. Joins two char pushes into a word push.
1477 2001-10-27 Michael Hope <michaelh@juju.net.nz>
1479 * support/cpp2/Makefile.in (install): Added creation of dest dir.
1481 * support/makebin/Makefile (install): Added creation of dest dir.
1483 2001-10-24 Karl Bongers <karl@turbobit.com>
1485 * configure.in, configure, Makefile, support/cpp: Removed cpp folder, since we have new cpp2 preprocessor code.
1487 2001-10-21 Michael Hope <michaelh@juju.net.nz>
1489 * src/z80/ralloc.c: Turned off faulty pack for one use.
1491 * src/z80/peeph-gbz80.def: Removed redundent restart options.
1493 * src/z80/gen.c (genMult): Added native mul for constants on the z80 and gbz80.
1495 2001-10-21 Bernhard Held <bernhard@bernhardheld.de>
1497 * support/regression/Makefile: Improved clean
1499 * support/regression/ports/gbz80/spec.mk: Added clean
1501 * support/regression/ports/host/spec.mk: Added clean
1503 * support/regression/ports/z80/spec.mk: Added clean
1505 * support/regression/ports/mcs51/spec.mk: Added clean, little improvements
1507 * support/regression/ports/mcs51/timeout.c: little improvements
1509 2001-10-17 Michael Hope <michaelh@juju.net.nz>
1511 * device/lib/malloc.c (MEMHEADER): Fixed against new pedantic pointers.
1513 * support/regression/fwk/include/testfwk.h: Fixed up to use function pts correctly.
1515 * support/regression/generate-cases.py: Fixed up to use function pts correctly.
1517 2001-10-16 Bernhard Held <bernhard@bernhardheld.de>
1519 * support/regression/port/mcs51/spec.mk: add timeout for uCsim
1521 * support/regression/port/mcs51/timeout.c: add timeout for uCsim
1523 2001-10-13 Michael Hope <michaelh@juju.net.nz>
1524 * src/z80/gen.c (emitCall): Fixed up missing spill of HL when used to assign the result value.
1526 * src/z80/ralloc.c: Turned off pack for one use as it's quite broken.
1528 * src/SDCCmain.c (linkEdit): Added support for passing a legacy command line through the processor.
1530 * src/mcs51/main.c (_linkCmd): Added bin path to command.
1532 * src/SDCCmain.c (initValues): Added support for when it it called just to link.
1534 * as/mcs51/lklibr.c (libfil;): Turned off 'library file' message.
1536 * src/SDCCval.c (constVal): Fixed usage of 'L' modifier problems on ppc.
1538 * support/regression/tests/longor.c: Added.
1540 2001-10-11 Bernhard Held <bernhard@bernhardheld.de>
1542 * as/mcs51/asdata.c: replaced FILENAME_MAX with PATH_MAX
1544 * as/mcs51/aslink.h: define PATH_MAX
1546 * as/mcs51/asm.h: define PATH_MAX
1548 * as/mcs51/asmain.c: replaced FILENAME_MAX with PATH_MAX
1550 * as/mcs51/asnoice.c: replaced FILENAME_MAX with PATH_MAX
1552 * as/mcs51/lklex.c: replaced FILENAME_MAX with PATH_MAX
1554 * as/mcs51/lkmain.c: replaced FILENAME_MAX with PATH_MAX
1556 * src/SDCCglobl.h: define PATH_MAX
1558 * src/SDCCmacro.c: replaced FILENAME_MAX with PATH_MAX
1560 * src/SDCCmain.c: replaced FILENAME_MAX with PATH_MAX
1562 2001-10-11 Michael Hope <michaelh@juju.net.nz>
1564 * src/z80/gen.c (gencjneshort): Fixed
1566 * src/z80/ralloc.c (packRegsForHLUse): Added pack into HL for cast then ipush.
1568 2001-10-09 Michael Hope <michaelh@juju.net.nz>
1570 * support/regression/tests/bug-469671.c: Added.
1572 * src/z80/gen.c (shiftIntoPair): Fixed up warning.
1574 2001-10-08 Michael Hope <michaelh@juju.net.nz>
1576 * src/SDCCmain.c: Added --fommit-frame-pointer option and implemented in the z80 port.
1578 * src/z80/gen.c (genPlus): Fixed to work with extended stack. Also fixed genMinus, genCmp. genUMinus is still left.
1580 2001-10-08 Bernhar Held <bernhard@bernhardheld.de>
1582 * src/SDCCmain.c (preProcess): added define SDCC_NOOVERLAY
1584 * src/device/lib/_mulint.c : removed hint: nooverlay bug
1586 * src/device/lib/_mullong.c : removed hint: nooverlay bug
1588 * src/device/lib/_divuint.c : removed hint: nooverlay bug
1590 * src/device/lib/_divulong.c: removed hint: nooverlay bug
1592 * src/device/lib/_moduint.c : removed hint: nooverlay bug
1594 * src/device/lib/_modulong.c: removed hint: nooverlay bug
1596 2001-10-07 Michael Hope <michaelh@juju.net.nz>
1598 * 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.
1600 * support/Util/NewAlloc.c (freeTrace): Changed free for the gc case to not free at all. Fixes runtime segfault.
1602 * support/regression/tests/scott-compare3.c (c_abcd): Fixed up casts.
1604 2001-10-07 <johan@FRIJA>
1606 * device/lib/gets.c (gets): fixed the return value.
1608 2001-10-06 Michael Hope <michaelh@juju.net.nz>
1609 * src/SDCCmain.c (WRITE_SEG_LOC): Fixed up to use Safe_strdup.
1611 * 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.
1613 * 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.
1615 * src/z80/gen.c (genZ80Code): Added de-allocation via trace support.
1617 * src/pic/gen.c: Removed Safe_strdup.
1619 * configure.in: Added option to enable libgc support.
1621 * src/SDCCbitv.c (bitVectnBitsOn): Optimised.
1622 (bitVectUnion): Optimised.
1623 (bitVectIntersect): Optimised.
1624 (bitVectBitsInCommon): Optimised.
1625 (bitVectCplAnd): Optimised.
1627 * support/makebin/makebin.c (usage): Removed getopt as mingw32 doesn't have it. Sigh.
1629 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
1631 * src/SDCCmain.c: distinguish between assembler debug and plain options
1633 * src/avr/main.c: remove standard assembler options
1635 * src/ds390/main.c: remove standard assembler options
1637 * src/mcs51/main.c: remove standard assembler options
1639 * src/port.h: removed "PENDING" comment
1641 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
1643 * src/device/lib/_mulint.c : new, with assember functions
1645 * src/device/lib/_mullong.c : new, with assember functions
1647 * src/device/lib/_divuint.c : with assember functions
1649 * src/device/lib/_divsint.c : with assember functions
1651 * src/device/lib/_divulong.c: with assember functions
1653 * src/device/lib/_divslong.c: with assember functions
1655 * src/device/lib/_moduint.c : with assember functions
1657 * src/device/lib/_modsint.c : with assember functions
1659 * src/device/lib/_modulong.c: with assember functions
1661 * src/device/lib/_modslong.c: with assember functions
1663 * src/device/lib/libint.lib: replaced _muluint.c and _mulsint.c by _mulint.c
1665 * src/device/lib/liblong.lib: replaced _mululong.c and _mulslong.c by _mullong.c
1667 * src/device/lib/Makefile.in: replaced _muluint.c and _mulsint.c by _mulint.c
1668 replaced _mululong.c and _mulslong.c by _mullong.c
1670 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
1672 * src/SDCCsymt.c: sequence of specifiers in pintTypeChain() corrected
1674 2001-10-01 Bernhard Held <bernhard@bernhardheld.de>
1676 * src/SDCCglue.c: test, if win32api is available for MINGW
1678 2001-10-01 Bernhard Held <bernhard@bernhardheld.de>
1680 * src/SDCCsymt.c: no more _modifier in printTypeChain()
1681 * support/regression/tests/driverstruct.c: REENTRANT for mcs51
1682 * support/regression/ports/gbz80/spec.mk: removed GENERIC
1683 * support/regression/ports/host/spec.mk: removed GENERIC
1684 * support/regression/ports/mcs51/spec.mk: removed GENERIC
1685 * support/regression/ports/z80/spec.mk: removed GENERIC
1687 2001-10-01 Michael Hope <michaelh@juju.net.nz>
1689 * support/regression/fwk/lib/testfwk.c (__printf): Removed GENERIC.
1691 * support/regression/tests/bug-467035.c: Created.
1693 2001-10-01 <johan@FRIJA>
1695 * src/SDCC.y: fixed bug #466586 part 1
1697 2001-10-01 Johan Knol <johan.knol@iduna.nl>
1699 * SDCCicode.c: z80 has no generic pointers
1700 * removed -s from strip in all Makefile(.in)'s. It is not needed, but Solaris chocks on it.
1702 2001-09-30 Michael Hope <michaelh@juju.net.nz>
1704 * sim/ucsim/cmd.src/Makefile.in ($(PRJDIR)/libcmd.a): Changed all ar references to $(AR) for Solaris.
1706 2001-09-29 Michael Hope <michaelh@juju.net.nz>
1708 * Makefile (sdcc-libs): Added makebin to the list of standard targets.
1710 * support/regression/ports/z80/spec.mk: Updated to use env for sdcc bin dir for automatic regression.
1712 2001-09-25 Michael Hope <michaelh@juju.net.nz>
1714 * configure.in: Fixed up so that ucsim is only configured once.
1716 * support/cpp2/configure.in: Fixed to use the program transform to append the .exe for the win32 build.
1718 * src/SDCCutil.c (getPrefixFromBinPath): Fixed up to work with win32 in all of its glory.
1719 (getPathDifference): As above.
1721 * src/SDCCmain.c (preProcess): Changed to use a temporary file in a proper temp directory. Fixed case where pre-processing only.
1723 * src/SDCCglue.c (tempfilename): Added function for pre-processor.
1725 2001-09-23 Michael Hope <michaelh@juju.net.nz>
1726 * .version: Updated to 2.3.1
1728 * src/z80/main.c (z80_port =): Added macro based linker and assembler command line support.
1729 Added copyright header.
1731 * src/SDCCmain.c: Shifted various functions into SDCCutil.c
1732 (assemble): Added support for macro based assembler commands.
1733 (linkEdit): Added support for macro based linker commands.
1734 (preProcess): Changed the pre-processor to use macros.
1735 (_setPaths): Added functionality to autodetect the include, lib and bin dir paths.
1736 (_discoverPaths): Added support for overriding the install directory using the SDCCDIR env variable.
1738 * device/lib/z80/crt0.s: Added module name for debugging.
1740 2001-09-20 Michael Hope <michaelh@juju.net.nz>
1742 * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
1744 * src/SDCChasht.c (hTabDeleteByKey): Fixed delete as it would delete the last item from a bucket even if it wasn't the real one.
1746 * src/SDCCglue.c: Moved gc_strdup to SDCCutil.c
1748 * src/Makefile.in: Added SDCCmacro and SDCCutil
1750 2001-09-19 Michael Hope <michaelh@juju.net.nz>
1752 * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
1754 2001-09-16 <johan@FRIJA>
1756 * 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.
1758 2001-09-15 <johan@FRIJA>
1760 * src/mcs51/ralloc.c: (findAssignToSym): fixed bug #460662 part 1
1761 * src/ds390/ralloc.c (findAssignToSym): fixed bug #460662 part 1
1763 2001-09-11 <johan@FRIJA>
1765 * src/SDCCval.c (valDiv Mod Minus Plus Shift): keep litteral expressions as small as possible (bug #460010)
1767 2001-09-10 Michael Hope <michaelh@juju.net.nz>
1769 * support/regression/tests/bug-460444.c: Added test case.
1771 * src/z80/gen.c (genOr): bug 460444: if (a ^ lit) was broken for &, |, and ^.
1772 (genCast): Added justification for all of the asserts.
1774 2001-09-10 Bernhard Held <bernhard@bernhardheld.de>
1776 * support/regression/support.c: _xdata replaced by xdata
1778 * support/regression/spec.mk: removed _generic
1780 2001-09-09 Michael Hope <michaelh@juju.net.nz>
1782 * src/pic/ralloc.c (debugLogRegType): Removed some old types to get it to compile.
1784 * src/z80/gen.c (shiftR2Left2Result): Improved the case when v = v >> n for small values of n to use less code space and time.
1785 (genrshTwo): Fixed v = v >> n where v is a negative int and n is > 8: bug 460010.
1787 * src/z80/peeph.def: Added a rule to optimise shift then compare.
1789 * support/regression/tests/bug-460000.c (testShiftByParam): Added test case.
1791 * support/regression/tests/bug-460010.c: Added test case.
1793 * support/regression/Makefile (test-host): Removed a silly 'clean' target when testing against gcc.
1795 2001-09-09 Bernhard Held <bernhard@bernhardheld.de>
1797 * support/regression/Makefile: inter-port-clean adjusted for mcs51
1799 * support/regression/testfwk.c: removed workaround for bug #436344
1801 * support/regression/tests/bp.c: use less memory with mcs51
1803 * support/regression/tests/bug-441448.c: use less memory
1805 * support/regression/tests/ports/mcs51/spec.mk: cleanup, use --stack-after-data
1807 * support/regression/collate-results.py: typo
1809 2001-09-08 Michael Hope <michaelh@juju.net.nz>
1811 * support/regression/tests/fetchoverlap.c: Added new test case.
1813 * support/regression/tests/bp.c: Added new test case.
1815 * support/regression/tests/bug-448984.c: Added new test case.
1817 * support/regression/tests/pow2shifts.c: Added new test case.
1819 * src/z80/gen.c: Turned off the noise it normally generates for the release.
1820 (genlshTwo): Fixed right shift for count > 8.
1822 * src/z80/ralloc.c: Disabled most of the ACC packing rules as they weren't getting hit and weren't at all safe.
1824 2001-09-08 <johan@FRIJA>
1826 * src/SDCCicode.c (geniCodeCall): a CPOINTER can be used as a function
1828 2001-09-07 <johan@FRIJA>
1830 * src/SDCCicode.c (newiCodeCondition): fixed bug #456235 (1.77)
1832 * src/SDCCglue.c (emitRegularMap): only delete a symbol when it is a symbol
1834 2001-09-06 <johan@FRIJA>
1836 * src/SDCC.y: this could be a fix for bug #458744 (1.37)
1837 * bernhard noted me at this: "() equals to (void)" (1.38)
1839 2001-09-05 <johan@FRIJA>
1841 * src/SDCCglue.c (emitRegularMap): a fix for bug #458099/2
1843 2001-09-04 <johan@FRIJA>
1845 * src/SDCCsymt.c (checkSClass): a fix for bug #458099/1
1848 2001-09-04 Paul Stoffregen <paul@pjrc.com>
1850 * pragma noinduction broke memcpy on mcs51 large model. Moved it inside z80 optimization
1852 2001-09-03 Michael Hope <michaelh@juju.net.nz>
1854 * link/z80/aslink.h: Fixed path for PATH_MAX
1856 2001-09-02 Michael Hope <michaelh@juju.net.nz>
1858 * src/z80/gen.c (fetchLitPair): Changed so that it properly caches direct space references.
1860 * support/regression/tests/addsub.c: Added cases to cover all the +, - combinations.
1862 * support/regression/tests/uminus.c: Added a test for the unary minus operator.
1864 * 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.
1866 2001-09-01 Michael Hope <michaelh@juju.net.nz>
1868 * src/z80/gen.c: Fixed up generator to pass the regresion tests, specifically fixing loads for longs, genCmp, and turned on the map file.
1869 (genCmp): Fixed up genCmp for the GB with longs.
1871 * device/lib/gbz80/Makefile: Fixed up all the libraries to pass the regression tests.
1873 * support/regression/ports/host/spec.mk: Updated to compile with the new type specifiers.
1875 * device/lib/Makefile.in (Z80SOURCES): Removed old _mululong, _mulslong, and unneeded _mulint.
1877 * device/lib/_mullong.c (_mulslong): Changed to actually return a value :)
1879 2001-08-30 Paul Stoffregen <paul@pjrc.com>
1881 * added peepholes 223 to 231 to mcs51 port. These improve code when using large model.
1883 2001-08-30 Michael Hope <michaelh@juju.net.nz>
1885 * 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.
1887 * src/z80/gen.c (genPlus): Changed bad long add for gb to a fall through.
1889 2001-08-29 Michael Hope <michaelh@juju.net.nz>
1891 * link/z80/aslink.h: Fixed long file name support. Is now based off PATH_MAX instead of a constant.
1893 * src/z80/gen.c: Fixed add and sub for the case where left or right are in static space.
1895 2001-08-30 Bernhard Held <bernhard@bernhardheld.de>
1897 * sim/ucsim/configure: little improvement of Cygwin-detection
1898 * sim/ucsim/configure.in: little improvement of Cygwin-detection
1899 * sim/ucsim/cmd.src/newcmdcl.h: include <sys/types.h> to define fd_set automated build
1900 * support/regression/tests/bug-221100.c: small changes for mcs51
1901 * support/regression/tests/bug-221168.c: small changes for mcs51
1902 * support/regression/tests/bug-227710.c: small changes for mcs51
1903 * support/regression/tests/staticinit.c: small changes for mcs51
1904 * as/mcs51/aslink.h: accept everything as symbol name in rel-files, bug fix ID 452601
1905 * as/mcs51/lklex.c: accept everything as symbol name in rel-files, bug fix ID 452601
1906 * as/mcs51/lksym.c: accept everything as symbol name in rel-files, bug fix ID 452601