1 2003-04-02 Bernhard Held <bernhard@bernhardheld.de>
3 * Makefile.common.in: unused PORT, SCC and SAS removed, fixed docdir
4 * configure.in: big cleanup, updated to autoconf 2.5x
5 * configure: rebuilt from configure.in
6 * sdccconf_in.h: new RETSIGTYPE, and other PATHs
7 * sdcc_vc_in.h: reflect changes from sdccconf.h
8 * doc/Makefile: fixed a flaw in "make install"
10 2003-04-02 <johan@balder>
12 * src/ds390/gen.c (genCmp): no comments
13 * src/mcs51/gen.c (genCmp): no comments
14 * src/SDCCopt.c (eBBlockFromiCode): detect missing return values
15 * src/SDCCast.c (ast_print): fixed the function type in --dumptree
17 2003-04-01 Bernhard Held <bernhard@bernhardheld.de>
19 * support/regression/generate-cases.py: place generated file in given sub directory
20 * support/regression/ports/host/spec.mk: prevent removal of testfwk.o
21 * support/regression/Makefile: improvements for 'make -j';
22 side effect: it's simpler and faster now
24 2003-03-31 Borut Razem <borut.razem@siol.net>
26 * src/z80/main.c: link-{port} and as-{port} defined without path
27 * src/src.dsp: support/Util/MySystem.h and src/SDCCutil.h added to project
29 2003-03-31 Bernhard Held <bernhard@bernhardheld.de>
31 * Makefile, src/Makefile.in: add dependencies, so that 'make -j' works
33 2003-03-30 Borut Razem <borut.razem@siol.net>
35 * support/Util/BuildCmd.c, support/Util/BuildCmd.h: rewrite buildCmdLine(),
36 changed type of list parameter to set
37 * src/ds390/main.c: changed type of parameter asmOptions to set in _tininative_do_assemble()
38 * src/port.h: changed type of do_assemble() parameter to set
39 * src/SDCCmain.c: type of asmOptions changed to set, introduced setParseWithComma(),
40 sdcpp defined without path, removed variable VersionString, introduced set binPathSet,
41 definition of "cppoutfilename" macro with NULL value in preProcess()
42 * src/SDCCglobl.h: included "SDCCset.h", added declaration of setParseWithComma()
43 * src/SDCCglue.c: removed variable VersionString, inroduced spacesToUnderscores()
44 * support/Util/MySystem.c, support/Util/MySystem.h: rewrite, char *ExePathList[]
45 replaced with set *binPathSet
46 * shash_add() deallocates the item, if allready exsists, before adding the new one
47 * src/SDCCmacro.c: handling macros with empty or NULL values in _evalMacros()
49 2003-03-30 Scott Dattalo <scott@dattalo.com>
51 * src/pic/gen.c: Commit patch from Steve Tell <tell@telltronics.org> that fixes
52 a nested for loop bug in the PIC port
53 * src/regression/nestfor.c: new regression test file Steve wrote to test nested
56 2003-03-29 Bernhard Held <bernhard@bernhardheld.de>
58 * support/Util/dbuf.h: remove C++ stuff to make it portable
60 2003-03-28 Borut Razem <borut.razem@siol.net>
62 * src/SDCC.lex: Fix for bug #711240: dynamic buffer handling of C
63 literal strings in stringLiteral()
64 * support/Util/dbuf.c, support/Util/dbuf.h: added: dynamic buffer handling
65 * src/Makefile.bcc, src/Makefile.in, src\src.dsp: added support/Util/dbuf.c
68 2003-03-27 Paul Stoffregen <paul@pjrc.com>
70 * src/SDCCpeeph.c (pcDistance): accurate byte distance for mcs51
72 2003-03-26 <johan@balder>
74 * src/mcs51/gen.c (saveRegisters): catched symbol abuse
75 * src/ds390/gen.c (saveRegisters): catched symbol abuse
76 * src/SDCCast.c (decorateType): fixed " -v < 3"
78 2003-03-23 Bernhard Held <bernhard@bernhardheld.de>
80 * doc/cdbfile.html: removed, replaced by cdbfileformat.lyx
81 Added Lenny Story's debug infrastructure changes:
82 * src/Makefile.in: added new files cdbFile.c and SDCCdebug.c
83 * src/Makefile.bcc: added new files cdbFile.c and SDCCdebug.c
84 * src/cdbFile.c: added
85 * src/SDCCdebug.c: added
86 * src/SDCCdebug.h: added
87 * src/SDCCast.c (createFunction)
88 * src/SDCCglue.c (emitRegularMap, emitStaticSeg, emitOverlay, glue)
89 * src/SDCCmain.c (parseCmdLine, main)
90 * src/SDCCmem.c (redoStackOffsets)
91 * src/SDCCsymt.c (cdbStructBlock, cdbTypeInfo, cdbSymbol, cdbStruct, cdbStructBlock)
94 * src/avr/gen.c (genAVRCode)
95 * src/ds390/gen.c (gen390Code)
96 * src/mcs51/gen.c (gen51Code)
97 * src/pic/gen.c (genpic14Code)
98 * src/pic/glue.c (pic14emitRegularMap, pic14emitStaticSeg, pic14emitOverlay, picglue)
99 * src/xa51/gen.c (genXA51Code)
100 * src/SDCCast.c: fixed "void foo(void){char c; -c < 0;}"
102 2003-03-22 Frieder Ferlemann <Frieder.Ferlemann@web.de>
104 * src/mcs51/gen.c (genCodePointerGet): quicker code for bug #700797
105 * src/mcs51/peeph.def: added rules 177, 241.x to 243, touched 181, 182.x, 193.x
107 2003-03-22 <johan@balder>
109 * src/SDCCicode.c (geniCodeDerefPtr): fixed bug #698231
111 2003-03-21 Bernhard Held <bernhard@bernhardheld.de>
113 * support/scripts/sdcc_mingw32: adapted to configure from autoconf 2.54
114 * doc/cdbfileformat.lyx: added, written by Lenny Story
115 * doc/Makefile: added cdbfileformat.lyx
116 * doc/clean.mk: added cdbfileformat.lyx
118 2003-03-20 Bernhard Held <bernhard@bernhardheld.de>
120 * src/mcs51/peeph.def: fix bug #705773
122 2003-03-20 <johan@balder>
124 An sfr/sbit can have an "at #" AND an initializer
125 * src/SDCCsymt.c (checkSClass):
126 * src/SDCCmem.c (allocGlobal):
127 * src/SDCCmem.c (allocLocal):
128 * src/SDCCast.c (createBlock):
130 2003-03-17 Bernhard Held <bernhard@bernhardheld.de>
132 * src/ds390/peeph.def: fix bug #704878: added rule 213.b suggested by Jan Rejlek
134 2003-03-16 <johan@balder>
136 Undid the hackup of const and volatile, the problem is much bigger
138 * src/SDCCast.c:1.171
139 * src/SDCCglue.c:1.138
140 * src/SDCCicode.c:1.146
141 * src/SDCCsymt.c:1.150
144 2003-03-15 Bernhard Held <bernhard@bernhardheld.de>
146 * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #703541
147 * src/ds390/gen.c (genAddrOf): fixed bug #704087
149 2003-03-13 <johan@balder>
151 Hackup const and volatile modifiers in type chains a bit:
153 * src/SDCCast.c:1.169
154 * src/SDCCglue.c:1.136
155 * src/SDCCicode.c:1.143
156 * src/SDCCsymt.c1.146
160 2003-03-12 <johan@balder>
162 * src/SDCCBBlock.h: more LRH debugging junk
163 * src/SDCCcflow.h: more LRH debugging junk
164 * src/SDCCloop.c: more LRH debugging junk
165 * src/SDCC.y (struct_declaration): fixed bug #697590
166 * src/SDCCsymt.[hc] (cloneSpec): NEVER EVER use this again
167 * src/ds390/gen.c (aopForRemat): fixed bug #700031
168 * src/SDCCglue.c (emitStaticSeg): fixed bug #700797
170 2003-03-11 Kevin Vigor <kevin@vigor.nu>
171 * src/SDCCpeeph.c: quit being lazy and made proper fix (peephole
172 test function names must now match exactly).
173 * src/SDCCcse.c: added special case in findCheaperOp to allow
174 extending a short integer. Makes less awful code for bug 700121 test case.
176 2003-03-11 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
178 * as/mcs51/lkmain.c: Added ASlink-Warning to messages
179 * as/mcs51/lkaomf51.c: Fixed bug when linking asmblink example
181 2003-03-11 Kevin Vigor <kevin@vigor.nu>
183 * src/SDCCpeeph.c: fix so that operandsNotEqualX functions are
184 actually called (operandsNotEqual() was called for all
185 operandsNotEqualX tests).
187 2003-03-11 Kevin Vigor <kevin@vigor.nu>
189 * src/SDCCcse.c: fix findCheaperOp to prevent replacing int types
190 with shorter literals. Fixes bug 700121.
192 2003-03-11 <johan@balder>
194 * src/SDCCsymt.c (compareType): a (void *) can be assigned to any pointer
196 2003-03-11 Bernhard Held <bernhard@bernhardheld.de>
198 * src/SDCCloop.c (mergeRegions): an evil beast is dead
199 * src/SDCCmain.c (preProcess): minor cleanup: eliminate preOutName
201 2003-03-10 Borut Razem <borut.razem@siol.net>
203 * src/SDCCmain.c: pipe preprocessor's output
204 * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
205 * sdcc_vc_in.h: define pclose as _pclose for WIN32
206 * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
207 which closes all pipes in pipeSet set
208 * src/SDCCset.c: free deleted item in function deleteSetItem()
209 * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
210 moved from z80 to src subproject
211 * .version: increased version number to 2.3.4
213 2003-03-10 Bernhard Held <bernhard@bernhardheld.de>
215 * support/regression/ports/mcs51/spec.mk: increase timeout for CF's sparc to 30s
216 * support/regression/ports/ds390/spec.mk: increase timeout for CF's sparc to 25s
217 * support/regression/ports/xa51/spec.mk: fix typo
219 2003-03-09 Bernhard Held <bernhard@bernhardheld.de>
221 * src/SDCCglobl.h: PATH_MAX is already defined in mingw32 headers
223 2003-03-09 Borut Razem <borut.razem@siol.net>
225 * src/SDCCmain.c: pipe preprocessor's output
226 * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
227 * sdcc_vc_in.h: define pclose as _pclose for WIN32
228 * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
229 which closes all pipes in pipeSet set
230 * src/SDCCset.c: free deleted item in function deleteSetItem()
231 * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
232 moved from z80 to src subproject
234 2003-03-09 Borut Razem <borut.razem@siol.net>
236 * src/SDCCglue.c: re-implemented tempfilename() and tempfile(): using mkstemp() if available
237 * src/SDCCsymt.h: fixed MSVC and BORLANDC compilation (included SDCCglobl.h instead srccconf.h)
238 * sdcc_vc_in.h: explicitly undefined HAVE_MKSTEMP which is not available on BORLANDC and MSVC
239 * src/SDCCset.h: removed inclusion of sdccconf.h or sdcc_vc.h
240 * src/SDCCglobl.h: unification of WIN32 native definitions
242 2003-03-09 Frieder Ferlemann <Frieder.Ferlemann@web.de>
244 * src/mcs51/gen.c: applied in-/dec patch mentioned on sdcc-devel 2003-03-01
246 2003-03-08 Bernhard Held <bernhard@bernhardheld.de>
248 * src/configure.in: check for endianess (even while cross-compiling)
249 * src/configure: check for endianess (even while cross-compiling)
250 * src/configure_in.h: check for endianess (even while cross-compiling)
251 * src/avr/gen.c: remove old endianess stuff
252 * src/mcs51/gen.c: remove old endianess stuff
253 * src/ds390/gen.c: remove old endianess stuff
254 * src/pic/gen.c: remove old endianess stuff
255 * src/pic/genarith.c: remove old endianess stuff
256 * src/pic/glue.c: fix endianess check
257 * src/pic16/gen.c: remove old endianess stuff
258 * src/pic16/genarith.c: remove old endianess stuff
259 * src/pic16/glue.c: fix endianess check
260 * src/xa51/gen.c: remove old endianess stuff
261 * src/z80/gen.c: fix endianess check
262 * src/SDCCglue.c: fix endianess check
263 * src/ds390/peeph.def: fix bug 700036
265 2003-03-08 Bernhard Held <bernhard@bernhardheld.de>
267 * src/SDCCsymt.h: use appropriate data-types on host for SDCC's int and long
268 * src/configure: find appropriate data-types on host for SDCC's int and long
269 * src/configure.in: find appropriate data-types on host for SDCC's int and long
270 * src/sdccconf_in.h: find appropriate data-types on host for SDCC's int and long
271 * src/xa51/gen.c: use %d, not %ld for 4 byte variables
273 2003-03-07 <johan@balder>
276 some minor cleanups before the big shot
277 OP_DEFS and OP_USES now use Kevin's protection
278 new option --nolabelopt
289 * src/ds390/ralloc.c:
290 * src/mcs51/ralloc.c:
295 2003-03-06 Bernhard Held <bernhard@bernhardheld.de>
297 * src/pic/pcode.c (get_op): fix 64 bit warnings
298 * src/pic/pcode.c (pCode2str): fix 64 bit warnings
299 * src/SDCChasht.c (newHashTable): fix 64 bit warnings
300 * src/SDCCsymt.c (checkTypeSanity): fix 64 bit warnings
301 * support/regression/tests/malloc.c: fix 64 bit warnings
303 2003-03-04 Bernhard Held <bernhard@bernhardheld.de>
305 * src/mcs51/gen.c (genMinus): fixed bug 696436
307 2003-03-02 Borut Razem <borut.razem@siol.net>
309 * src/SDCCmain.c: added BORLANDC, corrected MSVC in printVersionInfo()
311 2003-02-26 Bernhard Held <bernhard@bernhardheld.de>
313 * configure.in: test for mkstemp
314 * sdccconf_in.h: add HAVE_MKSTEMP
316 2003-02-24 Bernhard Held <bernhard@bernhardheld.de>
318 * device/include/ctype.h: removed warning while using --stack-auto
319 * device/include/malloc.h: removed warning while using --stack-auto
320 * device/include/string.h: removed warning while using --stack-auto
322 2003-02-23 Borut Razem <borut.razem@siol.net>
324 * src/asm.h: corrected assertion in function printILine(): _pipe() was not executed on MSVC,
325 because NDEBUG is defined (see man assert)
326 * sdcc_vc_in.h: vsnprintf is defined as _vsnprintf on MSVC
328 2003-02-23 Frieder Ferlemann <Frieder.Ferlemann@web.de>
330 * src/mcs51/gen.c (genUminusFloat): avoided dptr in-/decrement for xdata variables
331 * src/mcs51/peeph.def: added rule suggested by Gernot Fink, white space/comment changes
333 2003-02-18 Frieder Ferlemann <Frieder.Ferlemann@web.de>
335 * src/SDCCpeeph.c: added peephole conditions testing for same arguments
336 * src/mcs51/peeph.def: added rules 238a-d which remove redundant moves
338 2003-02-18 <johan@balder>
340 * as/mcs51/asmain.c (asmbl): module can start with a digit
341 * as/z80/asmain.c (asmbl): module can start with a digit
343 2003-02-16 Bernhard Held <bernhard@bernhardheld.de>
345 * sim/ucsim/mkecho: inserted #!/bin/sh for Cygwin, so that it's executable
346 * src/asm.c: fix pipe() for Mingw32
348 2003-02-15 Bernhard Held <bernhard@bernhardheld.de>
350 * src/SDCCglue.h: make tmpfileNameSet available for preOutName
351 * src/SDCCmain.c (preProcess): make sure, that preOutName will be deleted;
352 make -V work again; --c1mode reads now from stdin
353 * doc/sdccman.lyx: added --c1mode
354 * support/Util/SDCCerr.c: new messages for c1 mode
355 * support/Util/SDCCerr.h: new messages for c1 mode
356 * src/SDCC.lex (checkCurrFile): test if fullSrcFileName is NULL for c1mode
358 2003-02-15 <johan@balder>
360 * src/asm.c: new options: --no-c-code-in-asm and --i-code-in-asm
362 2003-02-14 Bernhard Held <bernhard@bernhardheld.de>
364 * doc/sdccman.lyx: Environment variables, -o and other minor things
366 2003-02-14 <johan@balder>
368 * src/xa51/main.c: before anyone really tries to use it :)
370 * Install doc's in share/sdcc/doc
371 * removed some obsolete files
372 * Do a proper make distclean and uninstall
376 M device/include/Makefile.in
377 M device/lib/Makefile.in
380 M sim/ucsim/doc/Makefile.in
384 M support/cpp2/Makefile.in
385 M support/makebin/Makefile
388 2003-02-13 Bernhard Held <bernhard@bernhardheld.de>
390 * support/regression/ports/host/spec.mk: use cc as host compiler for max osx
392 2003-02-10 Borut Razem <borut.razem@siol.net>
394 * doc/bccinst.txt, packihx/packihx.c, sdcc_vc_in.h, src/SDCCset.h,
395 support/cpp2/config.in: Borland C++ build doesn't depend on Cygwin configure
396 * Bcc.ini, Makefile.bcc, as/mcs51/Makefile.bcc,
397 device/examples/ds390/tinitalk/Makefile.bcc, packihx/Makefile.bcc,
398 support/cpp2/Makefile.bcc, src/Makefile.bcc, src/avr/Makefile.bcc,
399 src/ds390/Makefile.bcc, src/izt/Makefile.bcc, src/mcs51/Makefile.bcc,
400 src/pic/Makefile.bcc, src/pic16/Makefile.bcc, src/xa15/Makefile.bcc,
401 src/z80/Makefile.bcc: Borland Makefile cleanup
402 * as/z80/Makefile.bcc: Added Borland Makefile
403 * support/cpp2/borland.h: Removed
405 2003-02-10 Bernhard Held <bernhard@bernhardheld.de>
407 * doc/sdccman.lyx: new pragma NOIV by "Johannes Stezenbach" <js@convergence.de>
408 * src/SDCC.lex: new pragma NOIV
409 * src/SDCCglobl.h: new pragma NOIV
410 * src/SDCCmem.c: new pragma NOIV
412 2003-02-09 Bernhard Held <bernhard@bernhardheld.de>
414 * src/SDCCmain.c: signal handling is switched off by SDCC_LEAVE_SIGNALS
416 2003-02-09 Bernhard Held <bernhard@bernhardheld.de>
418 * src/SDCCmain.c: signal handling is switched off by --debug
419 * doc/Makefile: small fix for install; use clean.mk again
420 * doc/clean.mk: clean *.pdf and *.html too
422 2003-02-08 Bernhard Held <bernhard@bernhardheld.de>
424 * device/lib/_mulint.c: small fix for large/ds390 --int-long-reent resp. --stack-auto
425 * device/lib/printfl.c: fix a ds390 bug by making it portable
426 * src/SDCCsymt.c (initCSupport): fix compile warning on Cygwin
427 * src/SDCCopt.c (cnvToFloatCast): fix compile warning on Cygwin
428 * src/SDCCopt.c (cnvFromFloatCast): fix compile warning on Cygwin
429 * debugger/mcs51/cmd.c: converted multi-line string literals
430 * sim/ucsim/globals.cc: converted multi-line string literals
431 * src/SDCCmain.c: introduced signal handler to remove temp files
432 * doc/Makefile: small tweaks, implement clean
433 * doc: removed generated files
435 2003-02-05 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
437 * as/mcs51/aslink.h, as/mcs51/lkihx.c, as/mcs51/lkrloc.c: Applied
438 patch from Jan Rejlek <jr@apex-lib.cz> to fix Bug 677692: "Extended
439 Address Record is not correctly generated for DS390."
441 2003-02-02 Borut Razem <borut.razem@siol.net>
443 * Makefile.bcc: removed non existing cpp project and non compilable izt project from makefile
444 * as/mcs51/asm.h: fixed compilation with Borland C
445 * support/cpp2/Makefile.bcc: added rule to generate auto-host.h
446 * support/cpp2/auto-host_vc_in.h: fixed compilation with Borland C
447 * src/mcs51/mcs51a.dsp: corrected misspelled project name from msc51a to mcs51a
448 * src/avr/Makefile.bcc, src/ds390/Makefile.bcc, src/izt/Makefile.bcc,
449 src/mcs51/Makefile.bcc, src/pic16/Makefile.bcc, src/xa51/Makefile.bcc,
450 src/z80/Makefile.bcc: delete $(LIB) only if exist
451 * src/Makefile.bcc, src/pic/Makefile.bcc: fixed compilation with Borland C
453 2003-02-02 Bernhard Held <bernhard@bernhardheld.de>
455 * device/include/malloc.h: introduced NULL
456 * device/include/string.h: introduced NULL
457 * device/include/stdlib.h: introduced NULL
458 * device/lib/_memcpy.c: removed NULL
459 * device/lib/_strcat.c: removed NULL
460 * device/lib/_strchr.c: removed NULL
461 * device/lib/_strcmp.c: removed NULL
462 * device/lib/_strcpy.c: removed NULL
463 * device/lib/_strcspn.c: removed NULL
464 * device/lib/_strlen.c: removed NULL
465 * device/lib/_strncat.c: removed NULL
466 * device/lib/_strncmp.c: removed NULL
467 * device/lib/_strncpy.c: removed NULL
468 * device/lib/_strpbrk.c: removed NULL
469 * device/lib/_strrchr.c: removed NULL
470 * device/lib/_strspn.c: removed NULL
471 * device/lib/_strstr.c: removed NULL
472 * device/lib/_strtok.c: removed NULL
473 * device/lib/malloc.c: removed NULL, include own header
475 2003-02-02 <johan@balder>
477 * 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
478 * support/regression/fwk/lib/testfwk.c: div and mod isn't broken anymore
479 * regressions ds390/spec.mk and mcs51/spec.mk (timeout): my good old balder isn't fast enough for some tests
480 * src/z80/gen.c (genZ80Code): added c-lines in asm comments
481 * as/z80/asm.h (NINPUT): increased for long c-comments in regression tests
482 * src/z80/gen.c (genRightShiftLiteral): fixed the (char)(-3)>>8 (I think)
484 2003-02-01 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
486 * src/SDCCmain.c: Fixed bug 678574: "ds390: ASlink-Error-Stack overlaps
489 2003-02-01 <johan@balder>
491 * src/SDCCval.c (valBitwise): fixed Karl's "2 | (1<<8)"
493 2003-01-31 <johan@CP255758-A>
495 * src/ds390/main.c (_ds390_genAssemblerPreamble): applied Jan Rejlek's >64K startup patch
497 2003-01-30 <johan@balder>
499 * src/SDCCBBlock.c: automatic bug detection
500 * src/SDCCicode.c: automatic bug detection
502 2003-01-29 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
504 * src/SDCCglobl.h: now --xram-size 0 works
505 * src/SDCCmain.c: now --xram-size 0 works
507 2003-01-29 <johan@balder>
509 * src/almosteverything: changed OP_DEFS and OP_USES from macros to functions to catch symbol abuse (a hot topic in the bug list :)
511 2003-01-29 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
513 * as/mcs51/aslink.h: Added options --xram-size and --code-size
514 * as/mcs51/lkdata.c: Added options --xram-size and --code-size
515 * as/mcs51/lkmain.c: Added options --xram-size and --code-size
516 * as/mcs51/lkmem.c: Added options --xram-size and --code-size
517 * src/SDCCglobl.h: Added options --xram-size and --code-size
518 * src/SDCCmain.c: Added options --xram-size and --code-size
520 2003-01-28 Bernhard Held <bernhard@bernhardheld.de>
522 * src/ds390/gen.c: fix deps by replacing <common.h> with "common.h"
523 * src/SDCC.lex: rename P_OVERLAY to P_OVERLAY_ for cross-gcc 3.2 MINGW32
525 2003-01-27 <johan@balder>
527 * src/SDCC.y: fixed bug #613764
529 2003-01-26 <johan@balder>
531 * src/SDCClrange.c: fixed Bernhard's "char * code ptr = &c"
532 * src/SDCCsymt.h: fixed bug #673374
533 * src/SDCCglue.c: fixed bug #661910
534 * src/SDCCast.c: fixed bug #458099 and 673374
536 2003-01-26 Bernhard Held <bernhard@bernhardheld.de>
538 * as/mcs51/strcmpi.c: added, provides Aurelien Jarno's as_strcmpi(); strcmpi() is not ANSI
539 * as/mcs51/strcmpi.h: added
540 * as/mcs51/asm.h: remove ugly "#define strcmpi strcmp"
541 * as/mcs51/aslink.h: remove ugly "#define strcmpi strcmp"
542 * as/mcs51/asmain.c: strcmpi -> as_strcmpi
543 * as/mcs51/assym.c: strcmpi -> as_strcmpi
544 * as/mcs51/lkmem.c: strcmpi -> as_strcmpi
545 * as/mcs51/lknoice.c: strcmpi -> as_strcmpi
546 * as/mcs51/lksym.c: strcmpi -> as_strcmpi
547 * as/mcs51/Makefile.aslink: new module strcmpi
548 * as/mcs51/Makefile.asx8051: new module strcmpi
549 * as/mcs51/Makefil.bcc: new module strcmpi
550 * as/mcs51/Makefile.in: new module strcmpi
551 * sim/ucsim/s51.src/uc390.cc (get_mem_size): make RAM big enough for tinibios
553 2003-01-26 <johan@balder>
555 * src/SDCCglue.c: reverted back to 1.124
556 * src/SDCCast.c: reverted back to 1.156
557 * src/mcs51/gen.c (aopGet): applied Frieder's efficiency patch
559 2003-01-25 <johan@balder>
561 * src/SDCCglue.c: A better fix for bug #661910
562 * src/SDCCast.c: A better fix for bug #661910
563 * src/SDCCglue.c (emitRegularMap): That was a little too efficient
565 2003-01-24 Bernhard Held <bernhard@bernhardheld.de>
567 * src/Makefile.in: remove spawn.o
568 * src/SDCCmain.c: remove spawn.h
569 * src/SDCCmain.c (printVersionInfo): report MINGW32 instead of UNIX
570 * src/spawn.c: removed
571 * src/spawn.h: removed
572 * support/regression/ports/ds390/spec.mk: link with -r
574 2003-01-24 <johan@CP255758-A>
576 * src/ds390/gen.c (aopOp): fixed bug #667458
577 * src/SDCCglue.c (emitRegularMap): fixed bug #458099 again
578 * src/SDCCast.c (createIvalCharPtr): fixed bug #661910
579 (createIvalCharPtr): an ival doesn't always have a storage class anymore
581 2003-01-24 Bernhard Held <bernhard@bernhardheld.de>
583 * src/mcs51/peeph.def: better assembler identation by Frieder
584 * src/mcs51/gen.c: better assembler identation by Frieder
586 2003-01-22 Bernhard Held <bernhard@bernhardheld.de>
588 * as/z80/string.h: removed for gcc 3.2
589 * support/makebin/makebin.c: #include <string.h> for gcc 3.2
590 * src/pic/pcode.c (get_op_from_instruction): fix concatenation of string literals with __FUNCTION__ for gcc 3.2
592 2003-01-19 Bernhard Held <bernhard@bernhardheld.de>
594 * src/SDCCmain.c (linkEdit): rename mem and map files even in case of failure
595 * src/SDCCpeeph.c (replaceRule): fix bug #663503
596 * support/regression/Makefile: separate temp files for ports
597 * support/regression/generate-cases.py: separate temp files for ports
598 * src/mcs51/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
599 * src/ds390/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
601 2003-01-19 Bernhard Held <bernhard@bernhardheld.de>
603 * moved tinitalk to device/examples/ds390
605 2003-01-14 Bernhard Held <bernhard@bernhardheld.de>
607 * as/mcs51/lkmem.c: rflag is for DS390
608 * src/SDCCglobl.h: removed out_name and options stackOnData, genericPtr
609 * src/SDCCmain.c (optionsTable, setDefaultOptions): removed --stack-after-data and --generic
610 (linkEdit): move mem- and map-files the same way as ihx-files
611 * src/z80/main.c (_setDefaultOptions): removed --generic
612 * src/SDCCmain.c (_processC1Arg, parseCmdLine, main): --c1mode works again
613 * src/SDCCglue.c (createInterruptVect, glue): --c1mode works again
614 * src/pic/glue.c (picglue): --c1mode works again
615 * src/pic16/glue.c (pic16glue): --c1mode works again
616 * src/asm.c (printCLine): fix #660034
618 2003-01-13 Bernhard Held <bernhard@bernhardheld.de>
620 * src/ds390/peeph.def: fix #123; add 14 rules by Fiorenzo D. Ramaglia <fd.ramaglia@tin.it>, 1 by Frieder
621 * src/mcs51/peeph.def: fix #123; add 14 rules by Fiorenzo, 1 by Frieder
622 * src/mcs51/gen.c (genFunction): emit r0 instead of ar0 by Fiorenzo
623 * as/mcs51/lkmem (summary): better fix for sp problem
624 * src/SDCCglue.c (glue): __start_stack - 1, saves 1 byte!
625 * src/ds390/main.c (_ds390_finaliseOptions, _tininative_finaliseOptions): stack_loc = 0x400008
626 * support/regression/ports/*/spec.mk: moving testfwk-object to port dir allow parallel execution of regression tests
627 remove --stack-after-data
629 2003-01-12 Bernhard Held <bernhard@bernhardheld.de>
631 * src/SDCCmain.c (main): port->finaliseOptions() moved for z80 linking
632 * src/SDCCutil.c (join): ugly bug: missing '\0'
633 * as/mcs51/lkmem.c (summary): sp on address 7 is safe
635 2003-01-11 Bernhard Held <bernhard@bernhardheld.de>
637 * src/SDCCmain.c (assemble, linkEdit): preparations for -o
639 * src/pic/main.c (_asmCmd): gpasm supports -o
640 * src/z80/main.c: more general macros
641 * device/lib/Makefile.in: remove intermediate files
643 2003-01-11 Bernhard Held <bernhard@bernhardheld.de>
645 * .version: Bumped version number to 2.3.3
646 * src/SDCCBBlock.c: new option -o
647 * src/SDCCglobl.h: new option -o
648 * src/SDCCglue.c: new option -o
649 * src/SDCCmain.c: new option -o
650 * src/asm.c: new option -o
651 * src/ds390/main.c: new option -o
652 * src/pic/glue.c: new option -o
653 * src/pic/pcode.c: new option -o
654 * src/pic/ralloc.c: new option -o
655 * src/pic16/glue.c: new option -o
656 * src/pic16/pcode.c: new option -o
657 * src/pic16/ralloc.c: new option -o
658 * src/z80/main.c: new option -o
659 * device/lib/Makefile.in: use -o
660 * support/regression/ports/ds390/spec.mk: use -o
661 * support/regression/ports/gbz80/spec.mk: use -o
662 * support/regression/ports/mcs51/spec.mk: use -o
663 * support/regression/ports/mcs51-stack-auto/spec.mk: use -o
664 * support/regression/ports/z80/spec.mk: use -o
665 * support/regression/ports/ucz80/spec.mk: use -o
666 * support/regression/ports/xa51/spec.mk: use -o
667 * support/regression/fwk/lib/timeout.c: fix usage string
669 2003-01-09 Bernhard Held <bernhard@bernhardheld.de>
670 * src/mcs51/gen.c (genPlus): replaced "mov b,acc" by "mov b,a" Fiorenzo D. Ramaglia <fd.ramaglia@tin.it>
672 2003-01-07 <johan@balder>
674 * src/SDCCast.c (decorateType): fixed bug #600035
676 2003-01-07 Bernhard Held <bernhard@bernhardheld.de>
677 * as/mcs51/lkmem.c: added several l-modifiers to printf to remove warnings
678 * as/mcs51/lkaomf51.c: #include <ctype.h> to remove warnings
679 * src/pic/main.c (_hasNativeMulFor): outcommented unused variables to remove warnings
680 * src/pic/pcode.c: outcommented unused variable to remove warnings
681 * src/pic/ralloc.c: outcommented unused variable to remove warnings
683 2003-01-06 <karl@turbobit.com>
684 * sim/ucsim/cmd.src/command.cc: fixed so "break xram r 0x7654" works again in
687 2003-01-06 <johan@balder>
689 * src/SDCCicode.c: fixed array add
691 2002-01-05 Bernhard Held <bernhard@bernhardheld.de>
692 * src/SDCCmacro.c: MAX_STRING_LENGTH increased to 2048; was too small for regression tests
693 * support/regression/ports/host/support.c: #include <stdarg.h> for gcc 3.2
695 2003-01-04 <johan@balder>
697 * src/SDCCval.c (getNelements): fixed the initialized array of structures
699 2002-12-29 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
700 * as/mcs51/Makefile.bcc: fixed typo lkomf51.o -> lkaomf51.o
702 2002-12-28 Bernhard Held <bernhard@bernhardheld.de>
703 * src/mcs51/peeph.def: added rules 234 and 235 from Frieder Ferlemann <frieder.ferlemann@web.de>
704 * support/regression/tests/bug-524697.c: fit mem usage into 8032
706 2002-12-28 Bernhard Held <bernhard@bernhardheld.de>
707 * src/mcs51/gen.c (aopGetUsesAcc): inserted missing "return FALSE"
709 2002-12-27 Bernhard Held <bernhard@bernhardheld.de>
710 * as/mcs51/Makefile.in: fixed typo lkomf51.o -> lkaomf51.o
712 2002-12-26 Bernhard Held <bernhard@bernhardheld.de>
713 * src/mcs51/main.c: removed {bindir}{sep} from aslink
715 2002-12-10 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
717 * in \sdcc\as\mcs51\ changed these files in order to create an
718 aomf51 file: aslink.h, lkdta.c, lklex.c, lklibr.c, lklist.c,
719 lkmain.c. Also added: lkmem.c and lkaomf51.c. Changed the
720 following files to include the previous two files: aslink.dsp,
721 Makefile.aslink, Makefile.bcc, and Makefile.in.
723 * Changed \sdcc\src\SDCCmain.c so it creates files with extension
726 2002-11-09 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
728 * \sdcc\as\mcs51\lklist.c: Now reports memory usage using the
729 value from option --iram-size.
731 2002-09-20 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
733 * \sdcc\as\mcs51\lklist.c: added boundary check before using
736 2002-09-18 <wiml@hhhh.org>
738 * SDCClrange.h: exposed setFromRange() and setToRange()
739 * mcs51/ralloc.c: fixed over-eager packRegsForSupport() and
740 packRegsForAccUse() (bug 542397)
741 * mcs51/gen.c: MOVA() is now a function to avoid calling aopGet()
742 multiple times and emitting the fetch operations more than once
743 added aopGetUsesAcc() function to allow binary operators to
744 fetch their operands in the correct order; made genMinus() emit
745 compact code for X = LITERAL - Y
747 2002-09-00 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
748 * \sdcc\as\mcs51\lklist.c: Fixed incorrect number of parameters to
749 sprintf() in line 1267.
751 2002-09-08 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
752 * \sdcc\src\SDCCglue.c: Generate areas REG_BANK_[0-3] only for 8051
755 2002-09-04 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
756 Changes to aslink (All the changes are marked with 'JCF'):
758 * \sdcc\as\mcs51\aslink.h: External definition of sflag and
761 * \sdcc\as\mcs51\lkarea.c: Computes the size of area BSEG_BYTES from
762 area BSEG. Also moves, if possible, the DATA area down into the internal
763 ram so more space is available.
765 * \sdcc\as\mcs51\lkdata.c: Definition of memory summary output flag
768 * \sdcc\as\mcs51\lklist.c: For the BSEG area report the size in bits,
769 not bytes. Function summary() which creates a memory usage summary
770 file with extension .mem. Reports of overlaping stack and small stack
771 size. If the space for the stack is less than 16 bytes aslink trows a
774 * \sdcc\as\mcs51\lkmain.c: Creation of some of the default areas for
775 the 8051. Option 'y' for memory summary output file.
777 Changes to sdcc (All the changes are marked with 'JCF'):
779 * \sdcc\src\SDCCglobl.h: External definition of RegBankUsed[4].
781 * \sdcc\src\SDCCglue.c: If a register bank is used, creates an
782 overlaying area for it (uses RegBankUsed[4]).
784 * \sdcc\src\SDCCmain.c: Definition RegBankUsed[4]; marks register
785 bank zero as used by default. By default aslink locates the stack
786 (equivalent to --stack-after-data). Pass option 'y' to aslink for
787 the creation of the .mem file. Delegates the allocation of data area
788 to aslink (it is not longer 0x30 by default). If --stack-loc passes
789 the begining of the stack area to aslink.
791 * \sdcc\src\SDCCmem.c: If a register bank is used, marks it so
792 glue() in SDCCglue.c creates an area for it.
794 2002-09-03 Borut Razem <borut.razem@siol.net>
795 * sdcc/src/SDCCglue.c, sdcc/src/SDCCglue.h, sdcc/src/SDCCmain.c,
797 introduced atexit() handler for teporay files removal in case of
798 errors, assertions, ...
800 2002-08-29 Borut Razem <borut.razem@siol.net>
801 * sdcc/support/cpp2/auto-host_vc_in.h:
802 re-definition of O_BINARY and other O_XXX as _O_BINARY and _O_XXX, so the problem
803 with the returned value from read() in sdcc/support/cpp2/cppfiles.c is solved for MSC.
804 Maybe there is a similar problem with BORLANDC? It should be checked!
806 * sdcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c, sdcc/src/z80/ralloc.c:
807 corrected improper use of assert: the assignment to clr variable was done inside the assert.
808 In case that NDEBUG was defined, the assert macro was substituted with no-op, so the assignment
809 was not executed, and the compiler (cl) launched a warning:
810 ralloc.c(1442) : warning C4700: local variable 'clr' used without having been initialized
812 2002-08-28 Bernhard Held <bernhard@bernhardheld.de>
813 * src/SDCCglue.c (printIvalArray): iterative calculation of array length
815 2002-08-28 Jesus Calvino-Fraga and Borut Razem <borut.razem@siol.net>
816 * sdcc/sdcc.dsw: added sdcpp, sdcppa, yacc, conf projects
818 * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
819 sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp,
820 sdcc/src/xa51/xa51.dsp, sdcc/src/avr/avra.dsp,
821 sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
822 sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp,
823 sdcc/src/xa51/xa51a.dsp, sdcc/as/as_z80.dsp,
824 sdcc/as/aslink.dsp, sdcc/as/asx8051.dsp, sdcc/packihx/packihx.dsp:
825 - added Release configuration in VS projects
826 - review of compiler an linker options
827 - VC .exe files are generated in bin_vc directory, not to interfere
828 with binaries generated from other projects (cygwin, mingw, bcc ...)
830 * sdcc/src/yacc.dsp: added
832 * sdcc/config.dsp, sdcc/configure_vc.awk, sdcc/sdcc_vc_in.h:
833 added - genarate sdcc_vc.h using sdcc_vc_in.h as template
834 and insert the version number definitions from .version
836 * sdcc/support/cpp2/sdcpp.dsp: added - VC project for sdcpp
838 * sdcc/support/cpp2/sdcppa.dsp, sdcc/support/cpp2/auto-host_vc_in.h:
839 added - genarate auto-host.h using auto-host_vc_in.h as template
842 removed from CVS, generated automatically
844 2002-08-25 Bernhard Held <bernhard@bernhardheld.de>
845 * support/scripts/inc2h.pl: use gputils or gpasm (from Nathan Hurst)
847 2002-08-11 Borut Razem <borut.razem@siol.net>
848 * support/Util/NewAlloc.c: removed unneeded #include "sdccconf.h" (suggested by Jesus Calvino-Fraga)
850 2002-08-10 Borut Razem <borut.razem@siol.net>
851 * src/SDCCmain.c (main):
852 file preOutName was unlinked before closed. This seems to be OK on UNIX and cygwin
853 platforms, but it doesn't work with Visual Studio: the opened file can not be removed.
854 The consequence was that some temporary files were not removed.
857 unification of code in functions tempfilename() and tempfile():
858 function tempnam() is defined in Visual Studio 6.0 and .NET
860 * sdcc/sdcc.dsw: removed project sdcpp, added project xa51a
862 * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
863 sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp:
864 - removed compiler command line option /WX: Treats all warnings as errors
865 - update a list of source files, included into the project
867 * sdcc/src/avr/avra.dsp, sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
868 sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp:
869 changed project type to Generic Project so that can be correcly converted to VS.NET project
871 * sdcc/as/mcs51/asm.h: definition of PATH_MAX for MSC
873 * sdcc/src/SDCCast.c: solved MSC error in function decorateType()
875 * sdcc/src/SDCC.y: added missing ending ';' to rules to get rid of bison warnings
877 * dcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c:
878 added return 0 statements after assert() to make compiler happy
880 * sdcc/src/xa51/peeph.rul, sdcc/src/xa51/peeph.def, sdcc/src/z80/ralloc.c:
881 added newline in the def file to keep MSC compiler satisfied
883 * sdcc/src/z80/gen.c:
884 - function strcasecmp() is not defined in MSC (and probably also in BORLANDC),
885 so it is replaced with STRCASECMP, which is defined as stricmp in case of MSC and BORLANDC
886 - solved MSC error in function aopDump()
888 * sdcc_vc.h: define PREFIX as "\\sdcc"
890 2002-07-18 Bernhard Held <bernhard@bernhardheld.de>
891 * src/SDCCast.c (decorateType): fixed access to array of structures http://sourceforge.net/mailarchive/forum.php?thread_id=902690&forum_id=4107
893 2002-06-22 Scott Dattalo <scott@dattalo.com>
894 * src/pic/*: Numerous bug fixes. Flow analysis has been enhanced.
895 - Rewrote the register banking algorithm.
896 - Added pCode live-range analysis to registers (for now, only non-used and
897 singly-used registers optimized away)
899 * src/pic/pcoderegs.[ch]: Added new files for pCode live-range analysis
901 * support/scripts/inc2h.pl Kevin L. Pauba <klpauba@cox.net> submitted this perl script for converting MicroChip include files into SDCC Pic include files.
903 2002-05-10 Scott Dattalo <scott@dattalo.com>
904 * src/pic/*: Added support for multiplication. Fixed many,many bugs.
906 2002-04-22 Michael Hope <michaelh@vroom>
908 * device/lib/z80/printf.c: Changed emitter to volatile to work around a pcall bug.
910 * configure.in (DD_COPT): Added include support required for gbdk.
912 * .version: Bumped version number just to increase it.
914 * src/SDCCmain.c: Added -nostdinc to the default options.
916 2002-04-15 Michael Hope <michaelh@vroom>
918 * device/lib/z80/printf.c (sprintf): Added.
920 * src/z80/ralloc.c (packRegisters): Disabled pack HL use for GB as it's broken.
922 * src/z80/peeph.def: Added transpose redundent load rule.
924 * src/z80/main.c: Added force callee saves for jaune.
926 * src/port.h: Removed the i186 and tlcs-900h ports as they weren't being being developed.
928 * src/SDCCmain.c: Pulled the options definition out so that you can add port specific options without changing the main file.
930 2002-03-28 Johan Knol <johan@balder>
932 * src/SDCCval.c: fixed bug #532436
934 2002-03-14 Scott Dattalo <scott@dattalo.com>
936 Added "char *Processor" field to the port structure.
939 Added -p option. Allows port dependent processor to be specified.
942 Initialized the new field char *Processor field to NULL in all ports
945 Compiler generated registers for interrupt context saving
946 were not getting allocated.
948 2002-03-16 Sandeep Dutta <sandeep@ddi.com>
951 Fixed left shift. Will promote the left side of a left shift
952 if a) left shifting more than size of operand or b) when assigned
953 to something size > size of left side
955 2002-03-14 Scott Dattalo <scott@dattalo.com>
957 tons of changes. Register allocation has been
958 rewritten. Added customization for the various PICs. Flow
959 analysis is restructured. ...
965 Added. device.c is a PIC port hack to accomodate variations
968 2002-03-13 Michael Hope <michaelh@vroom>
970 * src/z80/gen.c (genGenPointerGet): Fixed a bug where a pointer in HL is dereferenced into HL but HL is not spilled. Yeah.
972 2002-03-04 johanknol <johanknol@manik>
974 * /src/SDCCval.c: fixed
976 const unsigned char arr[][2] = { { 0, 1 } };
977 t18.c:1: error: Initializer element is not constant
979 2002-03-04 bela <bela@manik>
981 * /device/include/mcs51reg.h:
982 ds89c420 register definition update
984 2002-03-03 <johan@FRIJA>
986 * support/Util/SDCCerr.c: did something, but don't no why anymore
988 * support/regression/tests/bug-524691.c: made it a little less shy
990 * src/SDCCast.c (decorateType): fixed bug #524697
992 * src/SDCCast.c: made some lineno improvements
994 * src/SDCCval.c (getNelements): changed warning to error
996 * src/SDCCglue.c (printIvalArray): changed warning to error
998 * src/SDCCicode.c: fixed a warning for mingw
1000 * src/SDCCast.c (decorateType): fixed the << promotion for ops
1002 * src/SDCCicode.c (geniCodeDivision): divide is shift only for unsigned (bug #524685)
1004 2002-03-02 Sandeep Dutta <sandeep@ddi.com>
1006 * src/ds390/peeph.def:
1007 Added some more peephole rules
1009 * src/ds390/gen.c: Various fixes & enhancements
1011 * src/SDCClrange.c, src/SDCClrange.h:
1012 functions "alldefsoutofrange" and "notusedinblock" moved to SDCClrange.c
1014 * src/ds390/ralloc.c:
1015 various fixes & enhancements (ds390) specific
1017 * src/avr/ralloc.c, src/mcs51/ralloc.c, src/pic/ralloc.c, src/xa51/ralloc.c, src/z80/ralloc.c:
1018 Functions "allDefsOutOfRange" & "notUsedinBlock" moved to SDCClrange.c
1021 * sdcc/src/SDCCcse.c: Better fix for bug # 514308
1023 2002-03-02 <johan@FRIJA>
1025 * src/SDCCast.c (decorateType): fixed bug #524708
1027 * src/SDCCval.c (floatFromVal): fixed the literal void (whatever that may be)
1029 * src/SDCCicode.c (geniCodePtrPtrSubtract): fixed bug #524691
1031 2002-03-01 Michael Hope <michaelh@vroom>
1033 * src/SDCCsymt.c (initCSupport): Removed managling of support function names.
1035 * src/z80/ralloc.c (packRegsForIYUse): Fixed fp bug where four byte operands were packed into IY.
1037 2002-03-01 <johan@FRIJA>
1039 * src/SDCCglue.c (printIvalPtr): fixed bug #524211
1041 * src/SDCCast.c (decorateType): fixed bug #524209
1043 * src/SDCCval.c (valNot): fixed bug #524195
1045 2002-02-26 <johan@balder>
1047 * src/xa51/gen.c: fixed a warning
1049 * src/SDCCglue.c (printIvalFuncPtr): fixed bug #522534
1051 * src/SDCCast.c (decorateType): fixed bug #522534
1053 2002-02-23 <johan@balder>
1055 * src/SDCCdflow.c (computeDataFlow): fixed bug #460088
1057 2002-02-22 <johan@balder>
1059 * src/SDCCast.c: fixed bug #514865
1061 * src/SDCCy.c ("SDCC.y"): fixed bug #516625
1063 2002-02-21 Sandeep Dutta <sandeep@ddi.com>
1065 * sdcc/src/SDCCloop.c:
1066 Previous fix was not good. basic blocks that have "break" or "return" are
1067 not really partof a loop , but live ranges used in these blocks should
1068 be live thru the entire loop, so set partOfLoop but don't add them to
1071 2002-02-21 <johan@FRIJA>
1073 * src/SDCCcse.c: fixed bug #514308
1075 2002-02-20 Sandeep Dutta <sandeep@ddi.com>
1078 Fixed BUG #519583. If a conditional block ended in a return/break
1079 statement inside a loop, it was not being considered part of the loop.
1081 * src/SDCCcflow.c: Removed fix (Fixed in SDCCloop.c)
1083 2002-02-10 Karl Bongers <karl@turbobit.com>
1086 Fixed up SDCDB debugger somewhat. Updated debugger/README
1087 with lots of comments and notes.
1089 * device/examples/test2.c:
1090 Fix bug, "red" variable not being initialized(compiler complained).
1092 * device/examples/Makefile, examples/test3.c:
1093 Add Makefile in device/examples folder, compiles test3.c
1094 for use as a multiple module SDCDB test case.
1096 * sim/ucsim/cmd.src/cmdset.cc:
1097 Took out debug printfs in ucsim "next" command.
1100 Karl and Johan start ucsim XA support. Most dissassembly working,
1101 about 75% emulation done(plenty of work remaining).
1103 * sim/ucsim/z80.src:
1104 Add Z80 support to ucsim, add test-ucz80 regression test,
1105 notice ucsim/z80 emulation fails on examples/test3.c/itoa code.
1106 Notice z80 compiler fails on examples/test3.c/crc code.
1108 2002-01-30 Sandeep Dutta <sandeep@ddi.com>
1110 * src/mcs51/gen.c, src/mcs51/main.c, src/mcs51/ralloc.c:
1111 Added support for --parms-in-bank1
1113 * src/ds390/peeph.def:
1114 added a few more peephole optimzations
1117 1) added __builtin_inp & __builtin_outp used to read in data of given length
1118 from a memory mapped port
1119 2) added __builtin_memcmp
1120 3) added __builtin_swapw swap bytes of a short
1122 * src/ds390/gen.c, src/ds390/gen.h, src/ds390/ralloc.c:
1123 1) handle multiple send & receives from register bank1
1124 2) ralloc can now allocate DPTR1 to some liveRanges
1126 * src/SDCCsymt.c, src/SDCCsymt.h:
1127 changes to handle multiple sends & receives
1130 added some pointer arithmetic optimization
1133 added some pointer arithmetic optimizations but not stable yet so not
1134 called from anywhere (will get this working shortly)
1136 * src/SDCCopt.c: fixed for multiple sends & receives
1139 1) added options --parms-in-bank1 (ds390/mcs51) & --protect-sp-update
1140 2) preprocessing done AFTER port->finalizeoptions . This allows ports to
1141 set preprocessor defines (depending on options)
1143 * src/SDCCicode.c, src/SDCCicode.h:
1144 changes made to handle multiple sends & receives
1147 Added options --protect-sp-update (ds390) and --parms-in-bank1 (ds390/mcs51)
1149 * src/SDCCcse.c, src/SDCCcse.h:
1150 added function findbackward def (to be used in upcoming optimization)
1152 * src/SDCCcflow.c, src/SDCCcflow.h:
1153 added function returnAtEnd - to determine if a basic block terminates with
1156 * src/SDCCast.c, src/SDCCast.h:
1157 added option parms-in-bank1
1159 * device/lib/_divsint.c, device/lib/_divslong.c, device/lib/_divuint.c
1160 * device/lib/_divulong.c, device/lib/_modsint.c, device/lib/_modslong.c
1161 * device/lib/_modulong.c, device/lib/_mulint.c, device/lib/_mullong.c:
1162 adjusted for --parms-in-bank1 option
1164 * device/include/string.h:
1165 donot redefine "reentrant" keyword
1167 * device/include/ds80c390.h: Added some more SFRs
1169 2002-01-28 Bernhard Held <bernhard@bernhardheld.de>
1171 * sim/ucsim: Merged branch ucsim-034-pre3 to main trunk; new version 0.4
1173 2002-01-26 Bernhard Held <bernhard@bernhardheld.de>
1175 * src/SDCCast.c (funcOfType): fix usage of double --float-reent
1177 2002-01-22 Bernhard Held <bernhard@bernhardheld.de>
1179 * support/regression/fwk/lib/testfwk.c (main): Removed workaround for bug #505387
1181 2002-01-18 Paul Stoffregen <paul@pjrc.com>
1183 * Added --xram-movc option
1185 2002-01-13 Bernhard Held <bernhard@bernhardheld.de>
1187 * support/regression/Makefile: don't include test-mcs51-stack-auto in target all
1189 2002-01-11 Johan Knol
1191 * Added math lib of Jesus Calvino-Fraga
1193 2002-01-08 Bernhard Held <bernhard@bernhardheld.de>
1195 * src/SDCCmain.c (processFile): fix processing of ../../src.c
1196 * support/regression/Makefile: new target test-mcs51-stack-auto
1197 * support/regression/ports/mcs51-stack-auto/spec.mk: added
1199 2002-01-04 Bernhard Held <bernhard@bernhardheld.de>
1201 * src/SDCCglue.h: printIvalCharPtr(), not printIvalChar()
1203 2002-01-04 Bernhard Held <bernhard@bernhardheld.de>
1205 * support/regression/ports/mcs51/support.c: correct setup of timer / UART
1207 2002-01-03 Bernhard Held <bernhard@bernhardheld.de>
1209 * src/SDCCsymt.c (processFuncArgs): fix #498307 by Johan
1211 * src/SDCCglue.h: add definition for printIvalChar()
1213 2002-01-02 Bernhard Held <bernhard@bernhardheld.de>
1215 * src/SDCCast.c: fix #498138 by Johan
1217 * src/SDCCglue.c: fix #498138 by Johan
1219 2002-01-02 Bernhard Held <bernhard@bernhardheld.de>
1221 * support/regression/Makefile: fix clean
1223 * support/regression/ports/ds390/support.c: fix transmission of last character
1225 2001-12-29 Sandeep Dutta <sandeep@ddi.com>
1227 * /sdcc/src/ds390/gen.c:
1228 a) improved computing address of stack variable
1229 b) took out some #if 0 code
1230 c) improved parmBytes adjustment
1231 d) improved genPlusIncr & genMinusIncr
1232 e) genCmp could generate bad code (when left assigned to DPTR)
1233 f) Fixed bug in hasInc
1235 * /sdcc/src/ds390/ralloc.c:
1236 a) packRegsForSupport could mess up live information (Fixed)
1237 b) packRegsDPTRuse could be incorrect for left & right shift
1239 * /sdcc/src/mcs51/ralloc.c:
1240 packRegsForSupport could mess up the live information (Fixed)
1242 * /sdcc/src/mcs51/gen.c: Fixed a bug in hasInc
1244 * /sdcc/src/SDCCast.c:
1245 can reverse a loop even if function call is present as long
1246 as the loop control variable is local & is not passed as parameter
1248 2001-12-24 Sandeep Dutta <sandeep@ddi.com>
1250 * /sdcc/ChangeLog: *** empty log message ***
1252 * /sdcc/src/ds390/gen.c, /sdcc/src/ds390/main.c:
1253 More builtin function additions for TININative
1255 * /sdcc/src/ds390/ralloc.c:
1256 Had broken the regression testsuite
1258 * /sdcc/src/SDCCast.c: Fixed a bug in dumptree
1260 * /sdcc/src/SDCCsymt.c, /sdcc/src/SDCCsymt.h:
1261 Added funcattr hasStackParms will be set for reentrant functions when there
1262 are paramteres on the stack, this helps in minimizing frame pointer generation
1263 typeFromStr can handle function pointers now
1265 * /sdcc/doc/builtins.txt, /sdcc/doc/TININative.txt:
1266 *** empty log message ***
1268 2001-12-24 Sandeep Dutta <sandeep@ddi.com>
1270 * /src/ds390/gen.c, /src/ds390/main.c:
1271 More builtin function additions for TININative
1273 * /src/ds390/ralloc.c:
1274 Had broken the regression testsuite
1276 * /src/SDCCast.c: Fixed a bug in dumptree
1278 * /src/SDCCsymt.c, /src/SDCCsymt.h:
1279 Added funcattr hasStackParms will be set for reentrant functions when there
1280 are paramteres on the stack, this helps in minimizing frame pointer generation
1281 typeFromStr can handle function pointers now
1283 * /doc/builtins.txt, /doc/TININative.txt:
1284 *** empty log message ***
1287 2001-12-24 Sandeep Dutta <sandeep@ddi.com>
1289 * /src/ds390/gen.c, /src/ds390/main.c, /src/ds390/peeph.def, /src/ds390/ralloc.c:
1290 ALPHA version for -mTININative
1292 * /src/izt/i186.c, /src/izt/tlcs900h.c, /src/mcs51/main.c, /src/pic/main.c, /src/z80/main.c, /src/avr/main.c:
1293 updated to reflect changes in the port structure
1296 added function do_assemble (similar to do_link) if non-null this function
1297 will be called to do assembly (-mTININative) requires a multi command
1299 added function genAssemblerEnd will be called to generate assembler Epilogue
1302 added _JavaNative to debug info printing
1304 * /src/SDCCmain.c: added option --tini-libid
1305 added port->do_assemble function (-mTININative) has a multi command assemble
1307 * /src/SDCCglue.c: Disabled "constExpr" check
1308 added port->genAssemblerEnd function
1310 * /src/SDCCglobl.h: Added option --tini-libid value
1313 tookout optimizeCompare from the header (has no external references)
1315 * /src/SDCCast.c: made one more function "static"
1317 2001-12-23 Michael Hope <michaelh@juju.net.nz>
1319 * src/z80/mappings.i: Added z80asm support.
1321 * src/z80/main.c: Added z80asm support on --asm=z80asm
1323 * src/z80/gen.c: Fixed asm portability issues.
1325 * src/asm.c (tvsprintf): Removed old code, added 'N' for function name. For extern support.
1327 * src/SDCCglue.c (printExterns): Added global/extern split.
1329 2001-12-17 Bernhard Held <bernhard@bernhardheld.de>
1331 * support/regression/Makefile: added test for mcs51 model large
1333 * support/regression/ports/mcs51-large/spec.mk: added test for mcs51 model large
1335 * support/regression/ports/gbz80/spec.mk: added -mgbz80
1337 2001-12-05 Michael Hope <michaelh@juju.net.nz>
1339 * src/diff.1 (Index): Many, many optmisiations. Dhrystone up to 201.
1341 1904-01-06 Michael Hope <michaelh@juju.net.nz>
1343 * src/z80/ralloc.c (packRegsForIYUse): Fixed the case where an operand is in direct space.
1345 * src/z80/gen.c (makeFreePairId): Optimised IY load by using a spare pair.
1347 2001-12-02 Bernhard Held <bernhard@bernhardheld.de>
1349 * src/mcs51/gen.c (genFunction): avoid excess "inc sp"
1351 * support/regression/tests/simplefloat.c: Port to mcs51.
1353 2001-11-25 Michael Hope <michaelh@juju.net.nz>
1354 * support/regression/tests/bug-485362.c: Added.
1356 * support/regression/tests/simplefloat.c (testDivNearOne): Added.
1358 * src/z80/gen.c (aopOp): Fixed case where left and result are in the same spill loc and they have different sizes.
1360 * src/z80/peeph.def: Added rules for optimising two byte compares on the same thing, and to optimise two ptr assign.
1362 * src/z80/gen.c (aopDump): Added a dump function.
1364 2001-11-25 Bernhard Held <bernhard@bernhardheld.de>
1365 * sim/ucsim/s51.src/glob.cc: DS390 SFRs and bits added.
1367 * sim/ucsim/s51.src/port.cc: Port 4 and 5 added.
1369 * sim/ucsim/s51.src/regs51.h: DS390 SFRs added.
1371 * sim/ucsim/s51.src/uc390.cc: Some details improved, CKRDY works for tinibios.
1373 * sim/ucsim/s51.src/uc390cl.h: Work in progress.
1375 * sim/ucsim/sim.src/uccl.h: 6 ports for DS390.
1377 * support/regression/fwk/lib/testfwk.c: Run with tinibios.
1379 * support/regression/ports/mcs51/spec.mk: Fine tuninig.
1381 * support/regression/ports/ds390/support.c: Use tinibios.
1383 * support/regression/ports/ds390/spec.mk: Fine tuning, use tinibios.
1385 2001-11-23 Michael Hope <michaelh@juju.net.nz>support/regression/tests/bug-460010.c
1387 * src/z80/ralloc.c (packRegsForHLUse3): Changed to not pack into HL if anything is in direct space.
1388 (packRegsForHLUse3): Added packing support for send, cast, and return value from a call.
1390 * src/z80/peeph.def: Added rules for optimising pushes of part of a pair.
1392 * src/z80/gen.c (emitCall): Changed the stack fixup to not use HL.
1394 2001-11-18 Michael Hope <michaelh@juju.net.nz>
1396 * src/z80/gen.c (genCmp): Fixed compare on unsigned.
1398 * src/z80/ralloc.c (packRegsForHLUse3): Created and optimised.
1399 (packRegsForIYUse): Created and optimised.
1401 2001-11-07 Michael Hope <michaelh@juju.net.nz>
1403 * support/regression/tests/float.c (testFloatAdd): Fixed up warning.
1404 2001-11-18 Bernhard Held <bernhard@bernhardheld.de>
1406 * sdcc/support/regression/tests/bug-460010.c: fix seg violation on host
1408 * sdcc/support/regression/tests/muldiv.c: fix output on mcs51
1410 * sdcc/support/regression/tests/stacks.c: fix DSEG overflow on mcs51
1412 2001-11-07 Bernhard Held <bernhard@bernhardheld.de>
1414 * sdcc/sim/device/lib/_gptrget.c: mem region 5 (idata) added
1416 * sdcc/sim/device/lib/_gptrput.c: mem region 5 (idata) added
1418 2001-11-07 Bernhard Held <bernhard@bernhardheld.de>
1420 * sdcc/sim/ucsim/globals.cc: New: IXRAM.
1422 * sdcc/sim/ucsim/stypes.h: New: IXRAM.
1424 * sdcc/sim/ucsim/s51.src/uc390.cc: New: IXRAM.
1426 2001-11-07 Michael Hope <michaelh@juju.net.nz>
1428 * src/z80/ralloc.c (packRegsForHLUse): Banned IFXs from being packed into HL.
1429 (packRegsForHLUse): Added rule to pack address of/pointer get for itemps into HL for the Z80.
1430 (packRegsForAccUse2): Added rule to pack hbit IFXs into A.
1432 * src/z80/main.c (_setDefaultOptions): Made float code re-entrant by default.
1434 * src/z80/gen.c (aopGetLitWordLong): Added word support for floats.
1435 (genNotFloat): Added.
1436 (genUminusFloat): Added.
1438 * device/lib/z80/Makefile: Added floating pt stubs.
1440 * device/lib/Makefile.in (Z80SOURCES): Added floating pt support.
1442 * src/z80/gen.c (genIpush): Fixed up a push of one byte when left is in a pair.
1444 * device/lib/_fsadd.c (__fsadd): Fixed up return where the numbers are hugely different.
1446 2001-11-07 Bernhard Held <bernhard@bernhardheld.de>
1448 * sdcc/sim/ucsim/s51.src/glob.cc: Minor fix.
1450 * sdcc/sim/ucsim/s51.src/regs51.h: Minor fix.
1452 * sdcc/support/regression/Makefile: Add port ds390.
1454 * sdcc/support/regression/ports/mcs51/spec.mk: Minor change.
1456 * sdcc/support/regression/ports/z80/spec.mk: Minor change.
1458 * sdcc/support/regression/ports/ds390/spec.mk: Added.
1460 * sdcc/support/regression/ports/ds390/support.c: Added.
1462 * sdcc/support/regression/ports/ds390/uCsim.cmd: Added.
1464 * sdcc/support/regression/ports/mcs51/timeout.c: Cut.
1466 * sdcc/support/regression/fwk/lib/timeout.c: Paste.
1468 2001-11-04 Michael Hope <michaelh@juju.net.nz>
1470 * device/include/malloc.h: Added z80 and gbz80 support.
1472 * device/lib/gbz80/heap.s: Added.
1474 * device/lib/z80/heap.s: Added.
1476 * device/lib/malloc.c: Added z80 and gbz80 support.
1478 * support/regression/tests/malloc.c (testMalloc): Added.
1480 * src/SDCCmain.c (parseCmdLine): Added support for -Wp.
1482 * support/regression/tests/bug-478094.c: Added.
1484 * src/z80/gen.c (commitPair): Fixed silly gbz80/z80 commit to static bug.
1486 2001-11-04 Bernhard Held <bernhard@bernhardheld.de>
1488 * sdcc/sim/ucsim/s51.src/uc390cl.h: Improvement for ds390 to run regression tests
1490 * sdcc/sim/ucsim/s51.src/uc390.h: Improvement for ds390 to run regression tests
1492 * sdcc/sim/ucsim/s51.src/regs51.h: Improvement for ds390 to run regression tests
1494 * sdcc/sim/ucsim/s51.src/glob.cc: Improvement for ds390 to run regression tests
1496 * sdcc/support/regression/tests/bug-460010.c: Small change for ds390
1498 2001-11-04 Michael Hope <michaelh@juju.net.nz>
1500 * src/z80/peeph-gbz80.def: Removed a bad sub optimisation.
1502 2001-11-03 Michael Hope <michaelh@juju.net.nz>
1504 * support/regression/tests/bug-477927.c: Added.
1506 * src/z80/peeph.def: Added minor rules.
1508 * src/z80/gen.c (genPlusIncr): Added an extra plusinc rule.
1510 * src/z80/peeph.def: Added jump optimisation modification.
1512 2001-11-01 Michael Hope <michaelh@juju.net.nz>
1514 * src/SDCCmain.c (linkEdit): Added runtime path detection to the mcs51 port.
1516 2001-10-30 Michael Hope <michaelh@juju.net.nz>
1518 * support/regression/tests/funptrs.c: Added.
1520 2001-10-29 Michael Hope <michaelh@juju.net.nz>
1522 * src/z80/ralloc.c (packRegsForHLUse): Fixed up bad spill due to pushing one byte via HL.
1524 2001-10-28 Michael Hope <michaelh@juju.net.nz>
1526 * src/z80/gen.c (genArrayInit): Made it work for on stack arrays.
1528 * src/z80/main.c (gbz80_port =): Added rle support to the gbz80 port.
1530 * src/z80/gen.c (genMinus): Fixed for where the result is one byte.
1531 (movLeft2ResultLong): Created.
1533 * src/z80/ralloc.c (packRegsForHLUse): Added a couple of simple cases for the GB.
1534 (joinPushes): Added. Joins two char pushes into a word push.
1536 2001-10-27 Michael Hope <michaelh@juju.net.nz>
1538 * support/cpp2/Makefile.in (install): Added creation of dest dir.
1540 * support/makebin/Makefile (install): Added creation of dest dir.
1542 2001-10-24 Karl Bongers <karl@turbobit.com>
1544 * configure.in, configure, Makefile, support/cpp: Removed cpp folder, since we have new cpp2 preprocessor code.
1546 2001-10-21 Michael Hope <michaelh@juju.net.nz>
1548 * src/z80/ralloc.c: Turned off faulty pack for one use.
1550 * src/z80/peeph-gbz80.def: Removed redundent restart options.
1552 * src/z80/gen.c (genMult): Added native mul for constants on the z80 and gbz80.
1554 2001-10-21 Bernhard Held <bernhard@bernhardheld.de>
1556 * support/regression/Makefile: Improved clean
1558 * support/regression/ports/gbz80/spec.mk: Added clean
1560 * support/regression/ports/host/spec.mk: Added clean
1562 * support/regression/ports/z80/spec.mk: Added clean
1564 * support/regression/ports/mcs51/spec.mk: Added clean, little improvements
1566 * support/regression/ports/mcs51/timeout.c: little improvements
1568 2001-10-17 Michael Hope <michaelh@juju.net.nz>
1570 * device/lib/malloc.c (MEMHEADER): Fixed against new pedantic pointers.
1572 * support/regression/fwk/include/testfwk.h: Fixed up to use function pts correctly.
1574 * support/regression/generate-cases.py: Fixed up to use function pts correctly.
1576 2001-10-16 Bernhard Held <bernhard@bernhardheld.de>
1578 * support/regression/port/mcs51/spec.mk: add timeout for uCsim
1580 * support/regression/port/mcs51/timeout.c: add timeout for uCsim
1582 2001-10-13 Michael Hope <michaelh@juju.net.nz>
1583 * src/z80/gen.c (emitCall): Fixed up missing spill of HL when used to assign the result value.
1585 * src/z80/ralloc.c: Turned off pack for one use as it's quite broken.
1587 * src/SDCCmain.c (linkEdit): Added support for passing a legacy command line through the processor.
1589 * src/mcs51/main.c (_linkCmd): Added bin path to command.
1591 * src/SDCCmain.c (initValues): Added support for when it it called just to link.
1593 * as/mcs51/lklibr.c (libfil;): Turned off 'library file' message.
1595 * src/SDCCval.c (constVal): Fixed usage of 'L' modifier problems on ppc.
1597 * support/regression/tests/longor.c: Added.
1599 2001-10-11 Bernhard Held <bernhard@bernhardheld.de>
1601 * as/mcs51/asdata.c: replaced FILENAME_MAX with PATH_MAX
1603 * as/mcs51/aslink.h: define PATH_MAX
1605 * as/mcs51/asm.h: define PATH_MAX
1607 * as/mcs51/asmain.c: replaced FILENAME_MAX with PATH_MAX
1609 * as/mcs51/asnoice.c: replaced FILENAME_MAX with PATH_MAX
1611 * as/mcs51/lklex.c: replaced FILENAME_MAX with PATH_MAX
1613 * as/mcs51/lkmain.c: replaced FILENAME_MAX with PATH_MAX
1615 * src/SDCCglobl.h: define PATH_MAX
1617 * src/SDCCmacro.c: replaced FILENAME_MAX with PATH_MAX
1619 * src/SDCCmain.c: replaced FILENAME_MAX with PATH_MAX
1621 2001-10-11 Michael Hope <michaelh@juju.net.nz>
1623 * src/z80/gen.c (gencjneshort): Fixed
1625 * src/z80/ralloc.c (packRegsForHLUse): Added pack into HL for cast then ipush.
1627 2001-10-09 Michael Hope <michaelh@juju.net.nz>
1629 * support/regression/tests/bug-469671.c: Added.
1631 * src/z80/gen.c (shiftIntoPair): Fixed up warning.
1633 2001-10-08 Michael Hope <michaelh@juju.net.nz>
1635 * src/SDCCmain.c: Added --fommit-frame-pointer option and implemented in the z80 port.
1637 * src/z80/gen.c (genPlus): Fixed to work with extended stack. Also fixed genMinus, genCmp. genUMinus is still left.
1639 2001-10-08 Bernhar Held <bernhard@bernhardheld.de>
1641 * src/SDCCmain.c (preProcess): added define SDCC_NOOVERLAY
1643 * src/device/lib/_mulint.c : removed hint: nooverlay bug
1645 * src/device/lib/_mullong.c : removed hint: nooverlay bug
1647 * src/device/lib/_divuint.c : removed hint: nooverlay bug
1649 * src/device/lib/_divulong.c: removed hint: nooverlay bug
1651 * src/device/lib/_moduint.c : removed hint: nooverlay bug
1653 * src/device/lib/_modulong.c: removed hint: nooverlay bug
1655 2001-10-07 Michael Hope <michaelh@juju.net.nz>
1657 * 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.
1659 * support/Util/NewAlloc.c (freeTrace): Changed free for the gc case to not free at all. Fixes runtime segfault.
1661 * support/regression/tests/scott-compare3.c (c_abcd): Fixed up casts.
1663 2001-10-07 <johan@FRIJA>
1665 * device/lib/gets.c (gets): fixed the return value.
1667 2001-10-06 Michael Hope <michaelh@juju.net.nz>
1668 * src/SDCCmain.c (WRITE_SEG_LOC): Fixed up to use Safe_strdup.
1670 * 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.
1672 * 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.
1674 * src/z80/gen.c (genZ80Code): Added de-allocation via trace support.
1676 * src/pic/gen.c: Removed Safe_strdup.
1678 * configure.in: Added option to enable libgc support.
1680 * src/SDCCbitv.c (bitVectnBitsOn): Optimised.
1681 (bitVectUnion): Optimised.
1682 (bitVectIntersect): Optimised.
1683 (bitVectBitsInCommon): Optimised.
1684 (bitVectCplAnd): Optimised.
1686 * support/makebin/makebin.c (usage): Removed getopt as mingw32 doesn't have it. Sigh.
1688 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
1690 * src/SDCCmain.c: distinguish between assembler debug and plain options
1692 * src/avr/main.c: remove standard assembler options
1694 * src/ds390/main.c: remove standard assembler options
1696 * src/mcs51/main.c: remove standard assembler options
1698 * src/port.h: removed "PENDING" comment
1700 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
1702 * src/device/lib/_mulint.c : new, with assember functions
1704 * src/device/lib/_mullong.c : new, with assember functions
1706 * src/device/lib/_divuint.c : with assember functions
1708 * src/device/lib/_divsint.c : with assember functions
1710 * src/device/lib/_divulong.c: with assember functions
1712 * src/device/lib/_divslong.c: with assember functions
1714 * src/device/lib/_moduint.c : with assember functions
1716 * src/device/lib/_modsint.c : with assember functions
1718 * src/device/lib/_modulong.c: with assember functions
1720 * src/device/lib/_modslong.c: with assember functions
1722 * src/device/lib/libint.lib: replaced _muluint.c and _mulsint.c by _mulint.c
1724 * src/device/lib/liblong.lib: replaced _mululong.c and _mulslong.c by _mullong.c
1726 * src/device/lib/Makefile.in: replaced _muluint.c and _mulsint.c by _mulint.c
1727 replaced _mululong.c and _mulslong.c by _mullong.c
1729 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
1731 * src/SDCCsymt.c: sequence of specifiers in pintTypeChain() corrected
1733 2001-10-01 Bernhard Held <bernhard@bernhardheld.de>
1735 * src/SDCCglue.c: test, if win32api is available for MINGW
1737 2001-10-01 Bernhard Held <bernhard@bernhardheld.de>
1739 * src/SDCCsymt.c: no more _modifier in printTypeChain()
1740 * support/regression/tests/driverstruct.c: REENTRANT for mcs51
1741 * support/regression/ports/gbz80/spec.mk: removed GENERIC
1742 * support/regression/ports/host/spec.mk: removed GENERIC
1743 * support/regression/ports/mcs51/spec.mk: removed GENERIC
1744 * support/regression/ports/z80/spec.mk: removed GENERIC
1746 2001-10-01 Michael Hope <michaelh@juju.net.nz>
1748 * support/regression/fwk/lib/testfwk.c (__printf): Removed GENERIC.
1750 * support/regression/tests/bug-467035.c: Created.
1752 2001-10-01 <johan@FRIJA>
1754 * src/SDCC.y: fixed bug #466586 part 1
1756 2001-10-01 Johan Knol <johan.knol@iduna.nl>
1758 * SDCCicode.c: z80 has no generic pointers
1759 * removed -s from strip in all Makefile(.in)'s. It is not needed, but Solaris chocks on it.
1761 2001-09-30 Michael Hope <michaelh@juju.net.nz>
1763 * sim/ucsim/cmd.src/Makefile.in ($(PRJDIR)/libcmd.a): Changed all ar references to $(AR) for Solaris.
1765 2001-09-29 Michael Hope <michaelh@juju.net.nz>
1767 * Makefile (sdcc-libs): Added makebin to the list of standard targets.
1769 * support/regression/ports/z80/spec.mk: Updated to use env for sdcc bin dir for automatic regression.
1771 2001-09-25 Michael Hope <michaelh@juju.net.nz>
1773 * configure.in: Fixed up so that ucsim is only configured once.
1775 * support/cpp2/configure.in: Fixed to use the program transform to append the .exe for the win32 build.
1777 * src/SDCCutil.c (getPrefixFromBinPath): Fixed up to work with win32 in all of its glory.
1778 (getPathDifference): As above.
1780 * src/SDCCmain.c (preProcess): Changed to use a temporary file in a proper temp directory. Fixed case where pre-processing only.
1782 * src/SDCCglue.c (tempfilename): Added function for pre-processor.
1784 2001-09-23 Michael Hope <michaelh@juju.net.nz>
1785 * .version: Updated to 2.3.1
1787 * src/z80/main.c (z80_port =): Added macro based linker and assembler command line support.
1788 Added copyright header.
1790 * src/SDCCmain.c: Shifted various functions into SDCCutil.c
1791 (assemble): Added support for macro based assembler commands.
1792 (linkEdit): Added support for macro based linker commands.
1793 (preProcess): Changed the pre-processor to use macros.
1794 (_setPaths): Added functionality to autodetect the include, lib and bin dir paths.
1795 (_discoverPaths): Added support for overriding the install directory using the SDCCDIR env variable.
1797 * device/lib/z80/crt0.s: Added module name for debugging.
1799 2001-09-20 Michael Hope <michaelh@juju.net.nz>
1801 * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
1803 * src/SDCChasht.c (hTabDeleteByKey): Fixed delete as it would delete the last item from a bucket even if it wasn't the real one.
1805 * src/SDCCglue.c: Moved gc_strdup to SDCCutil.c
1807 * src/Makefile.in: Added SDCCmacro and SDCCutil
1809 2001-09-19 Michael Hope <michaelh@juju.net.nz>
1811 * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
1813 2001-09-16 <johan@FRIJA>
1815 * 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.
1817 2001-09-15 <johan@FRIJA>
1819 * src/mcs51/ralloc.c: (findAssignToSym): fixed bug #460662 part 1
1820 * src/ds390/ralloc.c (findAssignToSym): fixed bug #460662 part 1
1822 2001-09-11 <johan@FRIJA>
1824 * src/SDCCval.c (valDiv Mod Minus Plus Shift): keep litteral expressions as small as possible (bug #460010)
1826 2001-09-10 Michael Hope <michaelh@juju.net.nz>
1828 * support/regression/tests/bug-460444.c: Added test case.
1830 * src/z80/gen.c (genOr): bug 460444: if (a ^ lit) was broken for &, |, and ^.
1831 (genCast): Added justification for all of the asserts.
1833 2001-09-10 Bernhard Held <bernhard@bernhardheld.de>
1835 * support/regression/support.c: _xdata replaced by xdata
1837 * support/regression/spec.mk: removed _generic
1839 2001-09-09 Michael Hope <michaelh@juju.net.nz>
1841 * src/pic/ralloc.c (debugLogRegType): Removed some old types to get it to compile.
1843 * src/z80/gen.c (shiftR2Left2Result): Improved the case when v = v >> n for small values of n to use less code space and time.
1844 (genrshTwo): Fixed v = v >> n where v is a negative int and n is > 8: bug 460010.
1846 * src/z80/peeph.def: Added a rule to optimise shift then compare.
1848 * support/regression/tests/bug-460000.c (testShiftByParam): Added test case.
1850 * support/regression/tests/bug-460010.c: Added test case.
1852 * support/regression/Makefile (test-host): Removed a silly 'clean' target when testing against gcc.
1854 2001-09-09 Bernhard Held <bernhard@bernhardheld.de>
1856 * support/regression/Makefile: inter-port-clean adjusted for mcs51
1858 * support/regression/testfwk.c: removed workaround for bug #436344
1860 * support/regression/tests/bp.c: use less memory with mcs51
1862 * support/regression/tests/bug-441448.c: use less memory
1864 * support/regression/tests/ports/mcs51/spec.mk: cleanup, use --stack-after-data
1866 * support/regression/collate-results.py: typo
1868 2001-09-08 Michael Hope <michaelh@juju.net.nz>
1870 * support/regression/tests/fetchoverlap.c: Added new test case.
1872 * support/regression/tests/bp.c: Added new test case.
1874 * support/regression/tests/bug-448984.c: Added new test case.
1876 * support/regression/tests/pow2shifts.c: Added new test case.
1878 * src/z80/gen.c: Turned off the noise it normally generates for the release.
1879 (genlshTwo): Fixed right shift for count > 8.
1881 * src/z80/ralloc.c: Disabled most of the ACC packing rules as they weren't getting hit and weren't at all safe.
1883 2001-09-08 <johan@FRIJA>
1885 * src/SDCCicode.c (geniCodeCall): a CPOINTER can be used as a function
1887 2001-09-07 <johan@FRIJA>
1889 * src/SDCCicode.c (newiCodeCondition): fixed bug #456235 (1.77)
1891 * src/SDCCglue.c (emitRegularMap): only delete a symbol when it is a symbol
1893 2001-09-06 <johan@FRIJA>
1895 * src/SDCC.y: this could be a fix for bug #458744 (1.37)
1896 * bernhard noted me at this: "() equals to (void)" (1.38)
1898 2001-09-05 <johan@FRIJA>
1900 * src/SDCCglue.c (emitRegularMap): a fix for bug #458099/2
1902 2001-09-04 <johan@FRIJA>
1904 * src/SDCCsymt.c (checkSClass): a fix for bug #458099/1
1907 2001-09-04 Paul Stoffregen <paul@pjrc.com>
1909 * pragma noinduction broke memcpy on mcs51 large model. Moved it inside z80 optimization
1911 2001-09-03 Michael Hope <michaelh@juju.net.nz>
1913 * link/z80/aslink.h: Fixed path for PATH_MAX
1915 2001-09-02 Michael Hope <michaelh@juju.net.nz>
1917 * src/z80/gen.c (fetchLitPair): Changed so that it properly caches direct space references.
1919 * support/regression/tests/addsub.c: Added cases to cover all the +, - combinations.
1921 * support/regression/tests/uminus.c: Added a test for the unary minus operator.
1923 * 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.
1925 2001-09-01 Michael Hope <michaelh@juju.net.nz>
1927 * src/z80/gen.c: Fixed up generator to pass the regresion tests, specifically fixing loads for longs, genCmp, and turned on the map file.
1928 (genCmp): Fixed up genCmp for the GB with longs.
1930 * device/lib/gbz80/Makefile: Fixed up all the libraries to pass the regression tests.
1932 * support/regression/ports/host/spec.mk: Updated to compile with the new type specifiers.
1934 * device/lib/Makefile.in (Z80SOURCES): Removed old _mululong, _mulslong, and unneeded _mulint.
1936 * device/lib/_mullong.c (_mulslong): Changed to actually return a value :)
1938 2001-08-30 Paul Stoffregen <paul@pjrc.com>
1940 * added peepholes 223 to 231 to mcs51 port. These improve code when using large model.
1942 2001-08-30 Michael Hope <michaelh@juju.net.nz>
1944 * 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.
1946 * src/z80/gen.c (genPlus): Changed bad long add for gb to a fall through.
1948 2001-08-29 Michael Hope <michaelh@juju.net.nz>
1950 * link/z80/aslink.h: Fixed long file name support. Is now based off PATH_MAX instead of a constant.
1952 * src/z80/gen.c: Fixed add and sub for the case where left or right are in static space.
1954 2001-08-30 Bernhard Held <bernhard@bernhardheld.de>
1956 * sim/ucsim/configure: little improvement of Cygwin-detection
1957 * sim/ucsim/configure.in: little improvement of Cygwin-detection
1958 * sim/ucsim/cmd.src/newcmdcl.h: include <sys/types.h> to define fd_set automated build
1959 * support/regression/tests/bug-221100.c: small changes for mcs51
1960 * support/regression/tests/bug-221168.c: small changes for mcs51
1961 * support/regression/tests/bug-227710.c: small changes for mcs51
1962 * support/regression/tests/staticinit.c: small changes for mcs51
1963 * as/mcs51/aslink.h: accept everything as symbol name in rel-files, bug fix ID 452601
1964 * as/mcs51/lklex.c: accept everything as symbol name in rel-files, bug fix ID 452601
1965 * as/mcs51/lksym.c: accept everything as symbol name in rel-files, bug fix ID 452601