1 2003-04-04 <johan@balder>
3 * src/SDCCloop.c (DEFSETFUNC): undid the fix for bug #519584
4 * src/SDCCast.c (decorateType): fixed bug #715076
5 * src/SDCC.y: fixed bug #702907
7 2003-04-03 <johan@balder>
9 * device/lib/_mulint.c (_muluint): new #pragma LESS_PEDANTIC
10 * src/SDCCopt.c (eBBlockFromiCode): new #pragma LESS_PEDANTIC
11 * src/SDCCglobl.h (PRAGMA_LESSPEDANTIC): new #pragma LESS_PEDANTIC
12 * src/SDCC.lex (doPragma): new #pragma LESS_PEDANTIC
13 * src/SDCCmain.c (parseCmdLine): new #pragma LESS_PEDANTIC
15 2003-04-03 Bernhard Held <bernhard@bernhardheld.de>
17 * _decdptr.c: fix return values
18 * _gptrget.c: fix return values
19 * _gptrgetc.c: fix return values
20 * _gptrput.c: fix return values
21 * _mulint.c: fix return values
22 * as/z80/Makefile: fix 'make -j' problem
24 2003-04-02 Bernhard Held <bernhard@bernhardheld.de>
26 * Makefile.common.in: unused PORT, SCC and SAS removed, fixed docdir
27 * configure.in: big cleanup, updated to autoconf 2.5x
28 * configure: rebuilt from configure.in
29 * sdccconf_in.h: new RETSIGTYPE, and other PATHs
30 * sdcc_vc_in.h: reflect changes from sdccconf.h
31 * doc/Makefile: fixed a flaw in "make install"
33 2003-04-02 <johan@balder>
35 * src/ds390/gen.c (genCmp): no comments
36 * src/mcs51/gen.c (genCmp): no comments
37 * src/SDCCopt.c (eBBlockFromiCode): detect missing return values
38 * src/SDCCast.c (ast_print): fixed the function type in --dumptree
40 2003-04-01 Bernhard Held <bernhard@bernhardheld.de>
42 * support/regression/generate-cases.py: place generated file in given sub directory
43 * support/regression/ports/host/spec.mk: prevent removal of testfwk.o
44 * support/regression/Makefile: improvements for 'make -j';
45 side effect: it's simpler and faster now
47 2003-03-31 Borut Razem <borut.razem@siol.net>
49 * src/z80/main.c: link-{port} and as-{port} defined without path
50 * src/src.dsp: support/Util/MySystem.h and src/SDCCutil.h added to project
52 2003-03-31 Bernhard Held <bernhard@bernhardheld.de>
54 * Makefile, src/Makefile.in: add dependencies, so that 'make -j' works
56 2003-03-30 Borut Razem <borut.razem@siol.net>
58 * support/Util/BuildCmd.c, support/Util/BuildCmd.h: rewrite buildCmdLine(),
59 changed type of list parameter to set
60 * src/ds390/main.c: changed type of parameter asmOptions to set in _tininative_do_assemble()
61 * src/port.h: changed type of do_assemble() parameter to set
62 * src/SDCCmain.c: type of asmOptions changed to set, introduced setParseWithComma(),
63 sdcpp defined without path, removed variable VersionString, introduced set binPathSet,
64 definition of "cppoutfilename" macro with NULL value in preProcess()
65 * src/SDCCglobl.h: included "SDCCset.h", added declaration of setParseWithComma()
66 * src/SDCCglue.c: removed variable VersionString, inroduced spacesToUnderscores()
67 * support/Util/MySystem.c, support/Util/MySystem.h: rewrite, char *ExePathList[]
68 replaced with set *binPathSet
69 * shash_add() deallocates the item, if allready exsists, before adding the new one
70 * src/SDCCmacro.c: handling macros with empty or NULL values in _evalMacros()
72 2003-03-30 Scott Dattalo <scott@dattalo.com>
74 * src/pic/gen.c: Commit patch from Steve Tell <tell@telltronics.org> that fixes
75 a nested for loop bug in the PIC port
76 * src/regression/nestfor.c: new regression test file Steve wrote to test nested
79 2003-03-29 Bernhard Held <bernhard@bernhardheld.de>
81 * support/Util/dbuf.h: remove C++ stuff to make it portable
83 2003-03-28 Borut Razem <borut.razem@siol.net>
85 * src/SDCC.lex: Fix for bug #711240: dynamic buffer handling of C
86 literal strings in stringLiteral()
87 * support/Util/dbuf.c, support/Util/dbuf.h: added: dynamic buffer handling
88 * src/Makefile.bcc, src/Makefile.in, src\src.dsp: added support/Util/dbuf.c
91 2003-03-27 Paul Stoffregen <paul@pjrc.com>
93 * src/SDCCpeeph.c (pcDistance): accurate byte distance for mcs51
95 2003-03-26 <johan@balder>
97 * src/mcs51/gen.c (saveRegisters): catched symbol abuse
98 * src/ds390/gen.c (saveRegisters): catched symbol abuse
99 * src/SDCCast.c (decorateType): fixed " -v < 3"
101 2003-03-23 Bernhard Held <bernhard@bernhardheld.de>
103 * doc/cdbfile.html: removed, replaced by cdbfileformat.lyx
104 Added Lenny Story's debug infrastructure changes:
105 * src/Makefile.in: added new files cdbFile.c and SDCCdebug.c
106 * src/Makefile.bcc: added new files cdbFile.c and SDCCdebug.c
107 * src/cdbFile.c: added
108 * src/SDCCdebug.c: added
109 * src/SDCCdebug.h: added
110 * src/SDCCast.c (createFunction)
111 * src/SDCCglue.c (emitRegularMap, emitStaticSeg, emitOverlay, glue)
112 * src/SDCCmain.c (parseCmdLine, main)
113 * src/SDCCmem.c (redoStackOffsets)
114 * src/SDCCsymt.c (cdbStructBlock, cdbTypeInfo, cdbSymbol, cdbStruct, cdbStructBlock)
117 * src/avr/gen.c (genAVRCode)
118 * src/ds390/gen.c (gen390Code)
119 * src/mcs51/gen.c (gen51Code)
120 * src/pic/gen.c (genpic14Code)
121 * src/pic/glue.c (pic14emitRegularMap, pic14emitStaticSeg, pic14emitOverlay, picglue)
122 * src/xa51/gen.c (genXA51Code)
123 * src/SDCCast.c: fixed "void foo(void){char c; -c < 0;}"
125 2003-03-22 Frieder Ferlemann <Frieder.Ferlemann@web.de>
127 * src/mcs51/gen.c (genCodePointerGet): quicker code for bug #700797
128 * src/mcs51/peeph.def: added rules 177, 241.x to 243, touched 181, 182.x, 193.x
130 2003-03-22 <johan@balder>
132 * src/SDCCicode.c (geniCodeDerefPtr): fixed bug #698231
134 2003-03-21 Bernhard Held <bernhard@bernhardheld.de>
136 * support/scripts/sdcc_mingw32: adapted to configure from autoconf 2.54
137 * doc/cdbfileformat.lyx: added, written by Lenny Story
138 * doc/Makefile: added cdbfileformat.lyx
139 * doc/clean.mk: added cdbfileformat.lyx
141 2003-03-20 Bernhard Held <bernhard@bernhardheld.de>
143 * src/mcs51/peeph.def: fix bug #705773
145 2003-03-20 <johan@balder>
147 An sfr/sbit can have an "at #" AND an initializer
148 * src/SDCCsymt.c (checkSClass):
149 * src/SDCCmem.c (allocGlobal):
150 * src/SDCCmem.c (allocLocal):
151 * src/SDCCast.c (createBlock):
153 2003-03-17 Bernhard Held <bernhard@bernhardheld.de>
155 * src/ds390/peeph.def: fix bug #704878: added rule 213.b suggested by Jan Rejlek
157 2003-03-16 <johan@balder>
159 Undid the hackup of const and volatile, the problem is much bigger
161 * src/SDCCast.c:1.171
162 * src/SDCCglue.c:1.138
163 * src/SDCCicode.c:1.146
164 * src/SDCCsymt.c:1.150
167 2003-03-15 Bernhard Held <bernhard@bernhardheld.de>
169 * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #703541
170 * src/ds390/gen.c (genAddrOf): fixed bug #704087
172 2003-03-13 <johan@balder>
174 Hackup const and volatile modifiers in type chains a bit:
176 * src/SDCCast.c:1.169
177 * src/SDCCglue.c:1.136
178 * src/SDCCicode.c:1.143
179 * src/SDCCsymt.c1.146
183 2003-03-12 <johan@balder>
185 * src/SDCCBBlock.h: more LRH debugging junk
186 * src/SDCCcflow.h: more LRH debugging junk
187 * src/SDCCloop.c: more LRH debugging junk
188 * src/SDCC.y (struct_declaration): fixed bug #697590
189 * src/SDCCsymt.[hc] (cloneSpec): NEVER EVER use this again
190 * src/ds390/gen.c (aopForRemat): fixed bug #700031
191 * src/SDCCglue.c (emitStaticSeg): fixed bug #700797
193 2003-03-11 Kevin Vigor <kevin@vigor.nu>
194 * src/SDCCpeeph.c: quit being lazy and made proper fix (peephole
195 test function names must now match exactly).
196 * src/SDCCcse.c: added special case in findCheaperOp to allow
197 extending a short integer. Makes less awful code for bug 700121 test case.
199 2003-03-11 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
201 * as/mcs51/lkmain.c: Added ASlink-Warning to messages
202 * as/mcs51/lkaomf51.c: Fixed bug when linking asmblink example
204 2003-03-11 Kevin Vigor <kevin@vigor.nu>
206 * src/SDCCpeeph.c: fix so that operandsNotEqualX functions are
207 actually called (operandsNotEqual() was called for all
208 operandsNotEqualX tests).
210 2003-03-11 Kevin Vigor <kevin@vigor.nu>
212 * src/SDCCcse.c: fix findCheaperOp to prevent replacing int types
213 with shorter literals. Fixes bug 700121.
215 2003-03-11 <johan@balder>
217 * src/SDCCsymt.c (compareType): a (void *) can be assigned to any pointer
219 2003-03-11 Bernhard Held <bernhard@bernhardheld.de>
221 * src/SDCCloop.c (mergeRegions): an evil beast is dead
222 * src/SDCCmain.c (preProcess): minor cleanup: eliminate preOutName
224 2003-03-10 Borut Razem <borut.razem@siol.net>
226 * src/SDCCmain.c: pipe preprocessor's output
227 * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
228 * sdcc_vc_in.h: define pclose as _pclose for WIN32
229 * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
230 which closes all pipes in pipeSet set
231 * src/SDCCset.c: free deleted item in function deleteSetItem()
232 * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
233 moved from z80 to src subproject
234 * .version: increased version number to 2.3.4
236 2003-03-10 Bernhard Held <bernhard@bernhardheld.de>
238 * support/regression/ports/mcs51/spec.mk: increase timeout for CF's sparc to 30s
239 * support/regression/ports/ds390/spec.mk: increase timeout for CF's sparc to 25s
240 * support/regression/ports/xa51/spec.mk: fix typo
242 2003-03-09 Bernhard Held <bernhard@bernhardheld.de>
244 * src/SDCCglobl.h: PATH_MAX is already defined in mingw32 headers
246 2003-03-09 Borut Razem <borut.razem@siol.net>
248 * src/SDCCmain.c: pipe preprocessor's output
249 * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
250 * sdcc_vc_in.h: define pclose as _pclose for WIN32
251 * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
252 which closes all pipes in pipeSet set
253 * src/SDCCset.c: free deleted item in function deleteSetItem()
254 * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
255 moved from z80 to src subproject
257 2003-03-09 Borut Razem <borut.razem@siol.net>
259 * src/SDCCglue.c: re-implemented tempfilename() and tempfile(): using mkstemp() if available
260 * src/SDCCsymt.h: fixed MSVC and BORLANDC compilation (included SDCCglobl.h instead srccconf.h)
261 * sdcc_vc_in.h: explicitly undefined HAVE_MKSTEMP which is not available on BORLANDC and MSVC
262 * src/SDCCset.h: removed inclusion of sdccconf.h or sdcc_vc.h
263 * src/SDCCglobl.h: unification of WIN32 native definitions
265 2003-03-09 Frieder Ferlemann <Frieder.Ferlemann@web.de>
267 * src/mcs51/gen.c: applied in-/dec patch mentioned on sdcc-devel 2003-03-01
269 2003-03-08 Bernhard Held <bernhard@bernhardheld.de>
271 * src/configure.in: check for endianess (even while cross-compiling)
272 * src/configure: check for endianess (even while cross-compiling)
273 * src/configure_in.h: check for endianess (even while cross-compiling)
274 * src/avr/gen.c: remove old endianess stuff
275 * src/mcs51/gen.c: remove old endianess stuff
276 * src/ds390/gen.c: remove old endianess stuff
277 * src/pic/gen.c: remove old endianess stuff
278 * src/pic/genarith.c: remove old endianess stuff
279 * src/pic/glue.c: fix endianess check
280 * src/pic16/gen.c: remove old endianess stuff
281 * src/pic16/genarith.c: remove old endianess stuff
282 * src/pic16/glue.c: fix endianess check
283 * src/xa51/gen.c: remove old endianess stuff
284 * src/z80/gen.c: fix endianess check
285 * src/SDCCglue.c: fix endianess check
286 * src/ds390/peeph.def: fix bug 700036
288 2003-03-08 Bernhard Held <bernhard@bernhardheld.de>
290 * src/SDCCsymt.h: use appropriate data-types on host for SDCC's int and long
291 * src/configure: find appropriate data-types on host for SDCC's int and long
292 * src/configure.in: find appropriate data-types on host for SDCC's int and long
293 * src/sdccconf_in.h: find appropriate data-types on host for SDCC's int and long
294 * src/xa51/gen.c: use %d, not %ld for 4 byte variables
296 2003-03-07 <johan@balder>
299 some minor cleanups before the big shot
300 OP_DEFS and OP_USES now use Kevin's protection
301 new option --nolabelopt
312 * src/ds390/ralloc.c:
313 * src/mcs51/ralloc.c:
318 2003-03-06 Bernhard Held <bernhard@bernhardheld.de>
320 * src/pic/pcode.c (get_op): fix 64 bit warnings
321 * src/pic/pcode.c (pCode2str): fix 64 bit warnings
322 * src/SDCChasht.c (newHashTable): fix 64 bit warnings
323 * src/SDCCsymt.c (checkTypeSanity): fix 64 bit warnings
324 * support/regression/tests/malloc.c: fix 64 bit warnings
326 2003-03-04 Bernhard Held <bernhard@bernhardheld.de>
328 * src/mcs51/gen.c (genMinus): fixed bug 696436
330 2003-03-02 Borut Razem <borut.razem@siol.net>
332 * src/SDCCmain.c: added BORLANDC, corrected MSVC in printVersionInfo()
334 2003-02-26 Bernhard Held <bernhard@bernhardheld.de>
336 * configure.in: test for mkstemp
337 * sdccconf_in.h: add HAVE_MKSTEMP
339 2003-02-24 Bernhard Held <bernhard@bernhardheld.de>
341 * device/include/ctype.h: removed warning while using --stack-auto
342 * device/include/malloc.h: removed warning while using --stack-auto
343 * device/include/string.h: removed warning while using --stack-auto
345 2003-02-23 Borut Razem <borut.razem@siol.net>
347 * src/asm.h: corrected assertion in function printILine(): _pipe() was not executed on MSVC,
348 because NDEBUG is defined (see man assert)
349 * sdcc_vc_in.h: vsnprintf is defined as _vsnprintf on MSVC
351 2003-02-23 Frieder Ferlemann <Frieder.Ferlemann@web.de>
353 * src/mcs51/gen.c (genUminusFloat): avoided dptr in-/decrement for xdata variables
354 * src/mcs51/peeph.def: added rule suggested by Gernot Fink, white space/comment changes
356 2003-02-18 Frieder Ferlemann <Frieder.Ferlemann@web.de>
358 * src/SDCCpeeph.c: added peephole conditions testing for same arguments
359 * src/mcs51/peeph.def: added rules 238a-d which remove redundant moves
361 2003-02-18 <johan@balder>
363 * as/mcs51/asmain.c (asmbl): module can start with a digit
364 * as/z80/asmain.c (asmbl): module can start with a digit
366 2003-02-16 Bernhard Held <bernhard@bernhardheld.de>
368 * sim/ucsim/mkecho: inserted #!/bin/sh for Cygwin, so that it's executable
369 * src/asm.c: fix pipe() for Mingw32
371 2003-02-15 Bernhard Held <bernhard@bernhardheld.de>
373 * src/SDCCglue.h: make tmpfileNameSet available for preOutName
374 * src/SDCCmain.c (preProcess): make sure, that preOutName will be deleted;
375 make -V work again; --c1mode reads now from stdin
376 * doc/sdccman.lyx: added --c1mode
377 * support/Util/SDCCerr.c: new messages for c1 mode
378 * support/Util/SDCCerr.h: new messages for c1 mode
379 * src/SDCC.lex (checkCurrFile): test if fullSrcFileName is NULL for c1mode
381 2003-02-15 <johan@balder>
383 * src/asm.c: new options: --no-c-code-in-asm and --i-code-in-asm
385 2003-02-14 Bernhard Held <bernhard@bernhardheld.de>
387 * doc/sdccman.lyx: Environment variables, -o and other minor things
389 2003-02-14 <johan@balder>
391 * src/xa51/main.c: before anyone really tries to use it :)
393 * Install doc's in share/sdcc/doc
394 * removed some obsolete files
395 * Do a proper make distclean and uninstall
399 M device/include/Makefile.in
400 M device/lib/Makefile.in
403 M sim/ucsim/doc/Makefile.in
407 M support/cpp2/Makefile.in
408 M support/makebin/Makefile
411 2003-02-13 Bernhard Held <bernhard@bernhardheld.de>
413 * support/regression/ports/host/spec.mk: use cc as host compiler for max osx
415 2003-02-10 Borut Razem <borut.razem@siol.net>
417 * doc/bccinst.txt, packihx/packihx.c, sdcc_vc_in.h, src/SDCCset.h,
418 support/cpp2/config.in: Borland C++ build doesn't depend on Cygwin configure
419 * Bcc.ini, Makefile.bcc, as/mcs51/Makefile.bcc,
420 device/examples/ds390/tinitalk/Makefile.bcc, packihx/Makefile.bcc,
421 support/cpp2/Makefile.bcc, src/Makefile.bcc, src/avr/Makefile.bcc,
422 src/ds390/Makefile.bcc, src/izt/Makefile.bcc, src/mcs51/Makefile.bcc,
423 src/pic/Makefile.bcc, src/pic16/Makefile.bcc, src/xa15/Makefile.bcc,
424 src/z80/Makefile.bcc: Borland Makefile cleanup
425 * as/z80/Makefile.bcc: Added Borland Makefile
426 * support/cpp2/borland.h: Removed
428 2003-02-10 Bernhard Held <bernhard@bernhardheld.de>
430 * doc/sdccman.lyx: new pragma NOIV by "Johannes Stezenbach" <js@convergence.de>
431 * src/SDCC.lex: new pragma NOIV
432 * src/SDCCglobl.h: new pragma NOIV
433 * src/SDCCmem.c: new pragma NOIV
435 2003-02-09 Bernhard Held <bernhard@bernhardheld.de>
437 * src/SDCCmain.c: signal handling is switched off by SDCC_LEAVE_SIGNALS
439 2003-02-09 Bernhard Held <bernhard@bernhardheld.de>
441 * src/SDCCmain.c: signal handling is switched off by --debug
442 * doc/Makefile: small fix for install; use clean.mk again
443 * doc/clean.mk: clean *.pdf and *.html too
445 2003-02-08 Bernhard Held <bernhard@bernhardheld.de>
447 * device/lib/_mulint.c: small fix for large/ds390 --int-long-reent resp. --stack-auto
448 * device/lib/printfl.c: fix a ds390 bug by making it portable
449 * src/SDCCsymt.c (initCSupport): fix compile warning on Cygwin
450 * src/SDCCopt.c (cnvToFloatCast): fix compile warning on Cygwin
451 * src/SDCCopt.c (cnvFromFloatCast): fix compile warning on Cygwin
452 * debugger/mcs51/cmd.c: converted multi-line string literals
453 * sim/ucsim/globals.cc: converted multi-line string literals
454 * src/SDCCmain.c: introduced signal handler to remove temp files
455 * doc/Makefile: small tweaks, implement clean
456 * doc: removed generated files
458 2003-02-05 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
460 * as/mcs51/aslink.h, as/mcs51/lkihx.c, as/mcs51/lkrloc.c: Applied
461 patch from Jan Rejlek <jr@apex-lib.cz> to fix Bug 677692: "Extended
462 Address Record is not correctly generated for DS390."
464 2003-02-02 Borut Razem <borut.razem@siol.net>
466 * Makefile.bcc: removed non existing cpp project and non compilable izt project from makefile
467 * as/mcs51/asm.h: fixed compilation with Borland C
468 * support/cpp2/Makefile.bcc: added rule to generate auto-host.h
469 * support/cpp2/auto-host_vc_in.h: fixed compilation with Borland C
470 * src/mcs51/mcs51a.dsp: corrected misspelled project name from msc51a to mcs51a
471 * src/avr/Makefile.bcc, src/ds390/Makefile.bcc, src/izt/Makefile.bcc,
472 src/mcs51/Makefile.bcc, src/pic16/Makefile.bcc, src/xa51/Makefile.bcc,
473 src/z80/Makefile.bcc: delete $(LIB) only if exist
474 * src/Makefile.bcc, src/pic/Makefile.bcc: fixed compilation with Borland C
476 2003-02-02 Bernhard Held <bernhard@bernhardheld.de>
478 * device/include/malloc.h: introduced NULL
479 * device/include/string.h: introduced NULL
480 * device/include/stdlib.h: introduced NULL
481 * device/lib/_memcpy.c: removed NULL
482 * device/lib/_strcat.c: removed NULL
483 * device/lib/_strchr.c: removed NULL
484 * device/lib/_strcmp.c: removed NULL
485 * device/lib/_strcpy.c: removed NULL
486 * device/lib/_strcspn.c: removed NULL
487 * device/lib/_strlen.c: removed NULL
488 * device/lib/_strncat.c: removed NULL
489 * device/lib/_strncmp.c: removed NULL
490 * device/lib/_strncpy.c: removed NULL
491 * device/lib/_strpbrk.c: removed NULL
492 * device/lib/_strrchr.c: removed NULL
493 * device/lib/_strspn.c: removed NULL
494 * device/lib/_strstr.c: removed NULL
495 * device/lib/_strtok.c: removed NULL
496 * device/lib/malloc.c: removed NULL, include own header
498 2003-02-02 <johan@balder>
500 * 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
501 * support/regression/fwk/lib/testfwk.c: div and mod isn't broken anymore
502 * regressions ds390/spec.mk and mcs51/spec.mk (timeout): my good old balder isn't fast enough for some tests
503 * src/z80/gen.c (genZ80Code): added c-lines in asm comments
504 * as/z80/asm.h (NINPUT): increased for long c-comments in regression tests
505 * src/z80/gen.c (genRightShiftLiteral): fixed the (char)(-3)>>8 (I think)
507 2003-02-01 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
509 * src/SDCCmain.c: Fixed bug 678574: "ds390: ASlink-Error-Stack overlaps
512 2003-02-01 <johan@balder>
514 * src/SDCCval.c (valBitwise): fixed Karl's "2 | (1<<8)"
516 2003-01-31 <johan@CP255758-A>
518 * src/ds390/main.c (_ds390_genAssemblerPreamble): applied Jan Rejlek's >64K startup patch
520 2003-01-30 <johan@balder>
522 * src/SDCCBBlock.c: automatic bug detection
523 * src/SDCCicode.c: automatic bug detection
525 2003-01-29 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
527 * src/SDCCglobl.h: now --xram-size 0 works
528 * src/SDCCmain.c: now --xram-size 0 works
530 2003-01-29 <johan@balder>
532 * src/almosteverything: changed OP_DEFS and OP_USES from macros to functions to catch symbol abuse (a hot topic in the bug list :)
534 2003-01-29 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
536 * as/mcs51/aslink.h: Added options --xram-size and --code-size
537 * as/mcs51/lkdata.c: Added options --xram-size and --code-size
538 * as/mcs51/lkmain.c: Added options --xram-size and --code-size
539 * as/mcs51/lkmem.c: Added options --xram-size and --code-size
540 * src/SDCCglobl.h: Added options --xram-size and --code-size
541 * src/SDCCmain.c: Added options --xram-size and --code-size
543 2003-01-28 Bernhard Held <bernhard@bernhardheld.de>
545 * src/ds390/gen.c: fix deps by replacing <common.h> with "common.h"
546 * src/SDCC.lex: rename P_OVERLAY to P_OVERLAY_ for cross-gcc 3.2 MINGW32
548 2003-01-27 <johan@balder>
550 * src/SDCC.y: fixed bug #613764
552 2003-01-26 <johan@balder>
554 * src/SDCClrange.c: fixed Bernhard's "char * code ptr = &c"
555 * src/SDCCsymt.h: fixed bug #673374
556 * src/SDCCglue.c: fixed bug #661910
557 * src/SDCCast.c: fixed bug #458099 and 673374
559 2003-01-26 Bernhard Held <bernhard@bernhardheld.de>
561 * as/mcs51/strcmpi.c: added, provides Aurelien Jarno's as_strcmpi(); strcmpi() is not ANSI
562 * as/mcs51/strcmpi.h: added
563 * as/mcs51/asm.h: remove ugly "#define strcmpi strcmp"
564 * as/mcs51/aslink.h: remove ugly "#define strcmpi strcmp"
565 * as/mcs51/asmain.c: strcmpi -> as_strcmpi
566 * as/mcs51/assym.c: strcmpi -> as_strcmpi
567 * as/mcs51/lkmem.c: strcmpi -> as_strcmpi
568 * as/mcs51/lknoice.c: strcmpi -> as_strcmpi
569 * as/mcs51/lksym.c: strcmpi -> as_strcmpi
570 * as/mcs51/Makefile.aslink: new module strcmpi
571 * as/mcs51/Makefile.asx8051: new module strcmpi
572 * as/mcs51/Makefil.bcc: new module strcmpi
573 * as/mcs51/Makefile.in: new module strcmpi
574 * sim/ucsim/s51.src/uc390.cc (get_mem_size): make RAM big enough for tinibios
576 2003-01-26 <johan@balder>
578 * src/SDCCglue.c: reverted back to 1.124
579 * src/SDCCast.c: reverted back to 1.156
580 * src/mcs51/gen.c (aopGet): applied Frieder's efficiency patch
582 2003-01-25 <johan@balder>
584 * src/SDCCglue.c: A better fix for bug #661910
585 * src/SDCCast.c: A better fix for bug #661910
586 * src/SDCCglue.c (emitRegularMap): That was a little too efficient
588 2003-01-24 Bernhard Held <bernhard@bernhardheld.de>
590 * src/Makefile.in: remove spawn.o
591 * src/SDCCmain.c: remove spawn.h
592 * src/SDCCmain.c (printVersionInfo): report MINGW32 instead of UNIX
593 * src/spawn.c: removed
594 * src/spawn.h: removed
595 * support/regression/ports/ds390/spec.mk: link with -r
597 2003-01-24 <johan@CP255758-A>
599 * src/ds390/gen.c (aopOp): fixed bug #667458
600 * src/SDCCglue.c (emitRegularMap): fixed bug #458099 again
601 * src/SDCCast.c (createIvalCharPtr): fixed bug #661910
602 (createIvalCharPtr): an ival doesn't always have a storage class anymore
604 2003-01-24 Bernhard Held <bernhard@bernhardheld.de>
606 * src/mcs51/peeph.def: better assembler identation by Frieder
607 * src/mcs51/gen.c: better assembler identation by Frieder
609 2003-01-22 Bernhard Held <bernhard@bernhardheld.de>
611 * as/z80/string.h: removed for gcc 3.2
612 * support/makebin/makebin.c: #include <string.h> for gcc 3.2
613 * src/pic/pcode.c (get_op_from_instruction): fix concatenation of string literals with __FUNCTION__ for gcc 3.2
615 2003-01-19 Bernhard Held <bernhard@bernhardheld.de>
617 * src/SDCCmain.c (linkEdit): rename mem and map files even in case of failure
618 * src/SDCCpeeph.c (replaceRule): fix bug #663503
619 * support/regression/Makefile: separate temp files for ports
620 * support/regression/generate-cases.py: separate temp files for ports
621 * src/mcs51/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
622 * src/ds390/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
624 2003-01-19 Bernhard Held <bernhard@bernhardheld.de>
626 * moved tinitalk to device/examples/ds390
628 2003-01-14 Bernhard Held <bernhard@bernhardheld.de>
630 * as/mcs51/lkmem.c: rflag is for DS390
631 * src/SDCCglobl.h: removed out_name and options stackOnData, genericPtr
632 * src/SDCCmain.c (optionsTable, setDefaultOptions): removed --stack-after-data and --generic
633 (linkEdit): move mem- and map-files the same way as ihx-files
634 * src/z80/main.c (_setDefaultOptions): removed --generic
635 * src/SDCCmain.c (_processC1Arg, parseCmdLine, main): --c1mode works again
636 * src/SDCCglue.c (createInterruptVect, glue): --c1mode works again
637 * src/pic/glue.c (picglue): --c1mode works again
638 * src/pic16/glue.c (pic16glue): --c1mode works again
639 * src/asm.c (printCLine): fix #660034
641 2003-01-13 Bernhard Held <bernhard@bernhardheld.de>
643 * src/ds390/peeph.def: fix #123; add 14 rules by Fiorenzo D. Ramaglia <fd.ramaglia@tin.it>, 1 by Frieder
644 * src/mcs51/peeph.def: fix #123; add 14 rules by Fiorenzo, 1 by Frieder
645 * src/mcs51/gen.c (genFunction): emit r0 instead of ar0 by Fiorenzo
646 * as/mcs51/lkmem (summary): better fix for sp problem
647 * src/SDCCglue.c (glue): __start_stack - 1, saves 1 byte!
648 * src/ds390/main.c (_ds390_finaliseOptions, _tininative_finaliseOptions): stack_loc = 0x400008
649 * support/regression/ports/*/spec.mk: moving testfwk-object to port dir allow parallel execution of regression tests
650 remove --stack-after-data
652 2003-01-12 Bernhard Held <bernhard@bernhardheld.de>
654 * src/SDCCmain.c (main): port->finaliseOptions() moved for z80 linking
655 * src/SDCCutil.c (join): ugly bug: missing '\0'
656 * as/mcs51/lkmem.c (summary): sp on address 7 is safe
658 2003-01-11 Bernhard Held <bernhard@bernhardheld.de>
660 * src/SDCCmain.c (assemble, linkEdit): preparations for -o
662 * src/pic/main.c (_asmCmd): gpasm supports -o
663 * src/z80/main.c: more general macros
664 * device/lib/Makefile.in: remove intermediate files
666 2003-01-11 Bernhard Held <bernhard@bernhardheld.de>
668 * .version: Bumped version number to 2.3.3
669 * src/SDCCBBlock.c: new option -o
670 * src/SDCCglobl.h: new option -o
671 * src/SDCCglue.c: new option -o
672 * src/SDCCmain.c: new option -o
673 * src/asm.c: new option -o
674 * src/ds390/main.c: new option -o
675 * src/pic/glue.c: new option -o
676 * src/pic/pcode.c: new option -o
677 * src/pic/ralloc.c: new option -o
678 * src/pic16/glue.c: new option -o
679 * src/pic16/pcode.c: new option -o
680 * src/pic16/ralloc.c: new option -o
681 * src/z80/main.c: new option -o
682 * device/lib/Makefile.in: use -o
683 * support/regression/ports/ds390/spec.mk: use -o
684 * support/regression/ports/gbz80/spec.mk: use -o
685 * support/regression/ports/mcs51/spec.mk: use -o
686 * support/regression/ports/mcs51-stack-auto/spec.mk: use -o
687 * support/regression/ports/z80/spec.mk: use -o
688 * support/regression/ports/ucz80/spec.mk: use -o
689 * support/regression/ports/xa51/spec.mk: use -o
690 * support/regression/fwk/lib/timeout.c: fix usage string
692 2003-01-09 Bernhard Held <bernhard@bernhardheld.de>
693 * src/mcs51/gen.c (genPlus): replaced "mov b,acc" by "mov b,a" Fiorenzo D. Ramaglia <fd.ramaglia@tin.it>
695 2003-01-07 <johan@balder>
697 * src/SDCCast.c (decorateType): fixed bug #600035
699 2003-01-07 Bernhard Held <bernhard@bernhardheld.de>
700 * as/mcs51/lkmem.c: added several l-modifiers to printf to remove warnings
701 * as/mcs51/lkaomf51.c: #include <ctype.h> to remove warnings
702 * src/pic/main.c (_hasNativeMulFor): outcommented unused variables to remove warnings
703 * src/pic/pcode.c: outcommented unused variable to remove warnings
704 * src/pic/ralloc.c: outcommented unused variable to remove warnings
706 2003-01-06 <karl@turbobit.com>
707 * sim/ucsim/cmd.src/command.cc: fixed so "break xram r 0x7654" works again in
710 2003-01-06 <johan@balder>
712 * src/SDCCicode.c: fixed array add
714 2002-01-05 Bernhard Held <bernhard@bernhardheld.de>
715 * src/SDCCmacro.c: MAX_STRING_LENGTH increased to 2048; was too small for regression tests
716 * support/regression/ports/host/support.c: #include <stdarg.h> for gcc 3.2
718 2003-01-04 <johan@balder>
720 * src/SDCCval.c (getNelements): fixed the initialized array of structures
722 2002-12-29 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
723 * as/mcs51/Makefile.bcc: fixed typo lkomf51.o -> lkaomf51.o
725 2002-12-28 Bernhard Held <bernhard@bernhardheld.de>
726 * src/mcs51/peeph.def: added rules 234 and 235 from Frieder Ferlemann <frieder.ferlemann@web.de>
727 * support/regression/tests/bug-524697.c: fit mem usage into 8032
729 2002-12-28 Bernhard Held <bernhard@bernhardheld.de>
730 * src/mcs51/gen.c (aopGetUsesAcc): inserted missing "return FALSE"
732 2002-12-27 Bernhard Held <bernhard@bernhardheld.de>
733 * as/mcs51/Makefile.in: fixed typo lkomf51.o -> lkaomf51.o
735 2002-12-26 Bernhard Held <bernhard@bernhardheld.de>
736 * src/mcs51/main.c: removed {bindir}{sep} from aslink
738 2002-12-10 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
740 * in \sdcc\as\mcs51\ changed these files in order to create an
741 aomf51 file: aslink.h, lkdta.c, lklex.c, lklibr.c, lklist.c,
742 lkmain.c. Also added: lkmem.c and lkaomf51.c. Changed the
743 following files to include the previous two files: aslink.dsp,
744 Makefile.aslink, Makefile.bcc, and Makefile.in.
746 * Changed \sdcc\src\SDCCmain.c so it creates files with extension
749 2002-11-09 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
751 * \sdcc\as\mcs51\lklist.c: Now reports memory usage using the
752 value from option --iram-size.
754 2002-09-20 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
756 * \sdcc\as\mcs51\lklist.c: added boundary check before using
759 2002-09-18 <wiml@hhhh.org>
761 * SDCClrange.h: exposed setFromRange() and setToRange()
762 * mcs51/ralloc.c: fixed over-eager packRegsForSupport() and
763 packRegsForAccUse() (bug 542397)
764 * mcs51/gen.c: MOVA() is now a function to avoid calling aopGet()
765 multiple times and emitting the fetch operations more than once
766 added aopGetUsesAcc() function to allow binary operators to
767 fetch their operands in the correct order; made genMinus() emit
768 compact code for X = LITERAL - Y
770 2002-09-00 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
771 * \sdcc\as\mcs51\lklist.c: Fixed incorrect number of parameters to
772 sprintf() in line 1267.
774 2002-09-08 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
775 * \sdcc\src\SDCCglue.c: Generate areas REG_BANK_[0-3] only for 8051
778 2002-09-04 Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
779 Changes to aslink (All the changes are marked with 'JCF'):
781 * \sdcc\as\mcs51\aslink.h: External definition of sflag and
784 * \sdcc\as\mcs51\lkarea.c: Computes the size of area BSEG_BYTES from
785 area BSEG. Also moves, if possible, the DATA area down into the internal
786 ram so more space is available.
788 * \sdcc\as\mcs51\lkdata.c: Definition of memory summary output flag
791 * \sdcc\as\mcs51\lklist.c: For the BSEG area report the size in bits,
792 not bytes. Function summary() which creates a memory usage summary
793 file with extension .mem. Reports of overlaping stack and small stack
794 size. If the space for the stack is less than 16 bytes aslink trows a
797 * \sdcc\as\mcs51\lkmain.c: Creation of some of the default areas for
798 the 8051. Option 'y' for memory summary output file.
800 Changes to sdcc (All the changes are marked with 'JCF'):
802 * \sdcc\src\SDCCglobl.h: External definition of RegBankUsed[4].
804 * \sdcc\src\SDCCglue.c: If a register bank is used, creates an
805 overlaying area for it (uses RegBankUsed[4]).
807 * \sdcc\src\SDCCmain.c: Definition RegBankUsed[4]; marks register
808 bank zero as used by default. By default aslink locates the stack
809 (equivalent to --stack-after-data). Pass option 'y' to aslink for
810 the creation of the .mem file. Delegates the allocation of data area
811 to aslink (it is not longer 0x30 by default). If --stack-loc passes
812 the begining of the stack area to aslink.
814 * \sdcc\src\SDCCmem.c: If a register bank is used, marks it so
815 glue() in SDCCglue.c creates an area for it.
817 2002-09-03 Borut Razem <borut.razem@siol.net>
818 * sdcc/src/SDCCglue.c, sdcc/src/SDCCglue.h, sdcc/src/SDCCmain.c,
820 introduced atexit() handler for teporay files removal in case of
821 errors, assertions, ...
823 2002-08-29 Borut Razem <borut.razem@siol.net>
824 * sdcc/support/cpp2/auto-host_vc_in.h:
825 re-definition of O_BINARY and other O_XXX as _O_BINARY and _O_XXX, so the problem
826 with the returned value from read() in sdcc/support/cpp2/cppfiles.c is solved for MSC.
827 Maybe there is a similar problem with BORLANDC? It should be checked!
829 * sdcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c, sdcc/src/z80/ralloc.c:
830 corrected improper use of assert: the assignment to clr variable was done inside the assert.
831 In case that NDEBUG was defined, the assert macro was substituted with no-op, so the assignment
832 was not executed, and the compiler (cl) launched a warning:
833 ralloc.c(1442) : warning C4700: local variable 'clr' used without having been initialized
835 2002-08-28 Bernhard Held <bernhard@bernhardheld.de>
836 * src/SDCCglue.c (printIvalArray): iterative calculation of array length
838 2002-08-28 Jesus Calvino-Fraga and Borut Razem <borut.razem@siol.net>
839 * sdcc/sdcc.dsw: added sdcpp, sdcppa, yacc, conf projects
841 * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
842 sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp,
843 sdcc/src/xa51/xa51.dsp, sdcc/src/avr/avra.dsp,
844 sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
845 sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp,
846 sdcc/src/xa51/xa51a.dsp, sdcc/as/as_z80.dsp,
847 sdcc/as/aslink.dsp, sdcc/as/asx8051.dsp, sdcc/packihx/packihx.dsp:
848 - added Release configuration in VS projects
849 - review of compiler an linker options
850 - VC .exe files are generated in bin_vc directory, not to interfere
851 with binaries generated from other projects (cygwin, mingw, bcc ...)
853 * sdcc/src/yacc.dsp: added
855 * sdcc/config.dsp, sdcc/configure_vc.awk, sdcc/sdcc_vc_in.h:
856 added - genarate sdcc_vc.h using sdcc_vc_in.h as template
857 and insert the version number definitions from .version
859 * sdcc/support/cpp2/sdcpp.dsp: added - VC project for sdcpp
861 * sdcc/support/cpp2/sdcppa.dsp, sdcc/support/cpp2/auto-host_vc_in.h:
862 added - genarate auto-host.h using auto-host_vc_in.h as template
865 removed from CVS, generated automatically
867 2002-08-25 Bernhard Held <bernhard@bernhardheld.de>
868 * support/scripts/inc2h.pl: use gputils or gpasm (from Nathan Hurst)
870 2002-08-11 Borut Razem <borut.razem@siol.net>
871 * support/Util/NewAlloc.c: removed unneeded #include "sdccconf.h" (suggested by Jesus Calvino-Fraga)
873 2002-08-10 Borut Razem <borut.razem@siol.net>
874 * src/SDCCmain.c (main):
875 file preOutName was unlinked before closed. This seems to be OK on UNIX and cygwin
876 platforms, but it doesn't work with Visual Studio: the opened file can not be removed.
877 The consequence was that some temporary files were not removed.
880 unification of code in functions tempfilename() and tempfile():
881 function tempnam() is defined in Visual Studio 6.0 and .NET
883 * sdcc/sdcc.dsw: removed project sdcpp, added project xa51a
885 * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
886 sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp:
887 - removed compiler command line option /WX: Treats all warnings as errors
888 - update a list of source files, included into the project
890 * sdcc/src/avr/avra.dsp, sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
891 sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp:
892 changed project type to Generic Project so that can be correcly converted to VS.NET project
894 * sdcc/as/mcs51/asm.h: definition of PATH_MAX for MSC
896 * sdcc/src/SDCCast.c: solved MSC error in function decorateType()
898 * sdcc/src/SDCC.y: added missing ending ';' to rules to get rid of bison warnings
900 * dcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c:
901 added return 0 statements after assert() to make compiler happy
903 * sdcc/src/xa51/peeph.rul, sdcc/src/xa51/peeph.def, sdcc/src/z80/ralloc.c:
904 added newline in the def file to keep MSC compiler satisfied
906 * sdcc/src/z80/gen.c:
907 - function strcasecmp() is not defined in MSC (and probably also in BORLANDC),
908 so it is replaced with STRCASECMP, which is defined as stricmp in case of MSC and BORLANDC
909 - solved MSC error in function aopDump()
911 * sdcc_vc.h: define PREFIX as "\\sdcc"
913 2002-07-18 Bernhard Held <bernhard@bernhardheld.de>
914 * src/SDCCast.c (decorateType): fixed access to array of structures http://sourceforge.net/mailarchive/forum.php?thread_id=902690&forum_id=4107
916 2002-06-22 Scott Dattalo <scott@dattalo.com>
917 * src/pic/*: Numerous bug fixes. Flow analysis has been enhanced.
918 - Rewrote the register banking algorithm.
919 - Added pCode live-range analysis to registers (for now, only non-used and
920 singly-used registers optimized away)
922 * src/pic/pcoderegs.[ch]: Added new files for pCode live-range analysis
924 * support/scripts/inc2h.pl Kevin L. Pauba <klpauba@cox.net> submitted this perl script for converting MicroChip include files into SDCC Pic include files.
926 2002-05-10 Scott Dattalo <scott@dattalo.com>
927 * src/pic/*: Added support for multiplication. Fixed many,many bugs.
929 2002-04-22 Michael Hope <michaelh@vroom>
931 * device/lib/z80/printf.c: Changed emitter to volatile to work around a pcall bug.
933 * configure.in (DD_COPT): Added include support required for gbdk.
935 * .version: Bumped version number just to increase it.
937 * src/SDCCmain.c: Added -nostdinc to the default options.
939 2002-04-15 Michael Hope <michaelh@vroom>
941 * device/lib/z80/printf.c (sprintf): Added.
943 * src/z80/ralloc.c (packRegisters): Disabled pack HL use for GB as it's broken.
945 * src/z80/peeph.def: Added transpose redundent load rule.
947 * src/z80/main.c: Added force callee saves for jaune.
949 * src/port.h: Removed the i186 and tlcs-900h ports as they weren't being being developed.
951 * src/SDCCmain.c: Pulled the options definition out so that you can add port specific options without changing the main file.
953 2002-03-28 Johan Knol <johan@balder>
955 * src/SDCCval.c: fixed bug #532436
957 2002-03-14 Scott Dattalo <scott@dattalo.com>
959 Added "char *Processor" field to the port structure.
962 Added -p option. Allows port dependent processor to be specified.
965 Initialized the new field char *Processor field to NULL in all ports
968 Compiler generated registers for interrupt context saving
969 were not getting allocated.
971 2002-03-16 Sandeep Dutta <sandeep@ddi.com>
974 Fixed left shift. Will promote the left side of a left shift
975 if a) left shifting more than size of operand or b) when assigned
976 to something size > size of left side
978 2002-03-14 Scott Dattalo <scott@dattalo.com>
980 tons of changes. Register allocation has been
981 rewritten. Added customization for the various PICs. Flow
982 analysis is restructured. ...
988 Added. device.c is a PIC port hack to accomodate variations
991 2002-03-13 Michael Hope <michaelh@vroom>
993 * src/z80/gen.c (genGenPointerGet): Fixed a bug where a pointer in HL is dereferenced into HL but HL is not spilled. Yeah.
995 2002-03-04 johanknol <johanknol@manik>
997 * /src/SDCCval.c: fixed
999 const unsigned char arr[][2] = { { 0, 1 } };
1000 t18.c:1: error: Initializer element is not constant
1002 2002-03-04 bela <bela@manik>
1004 * /device/include/mcs51reg.h:
1005 ds89c420 register definition update
1007 2002-03-03 <johan@FRIJA>
1009 * support/Util/SDCCerr.c: did something, but don't no why anymore
1011 * support/regression/tests/bug-524691.c: made it a little less shy
1013 * src/SDCCast.c (decorateType): fixed bug #524697
1015 * src/SDCCast.c: made some lineno improvements
1017 * src/SDCCval.c (getNelements): changed warning to error
1019 * src/SDCCglue.c (printIvalArray): changed warning to error
1021 * src/SDCCicode.c: fixed a warning for mingw
1023 * src/SDCCast.c (decorateType): fixed the << promotion for ops
1025 * src/SDCCicode.c (geniCodeDivision): divide is shift only for unsigned (bug #524685)
1027 2002-03-02 Sandeep Dutta <sandeep@ddi.com>
1029 * src/ds390/peeph.def:
1030 Added some more peephole rules
1032 * src/ds390/gen.c: Various fixes & enhancements
1034 * src/SDCClrange.c, src/SDCClrange.h:
1035 functions "alldefsoutofrange" and "notusedinblock" moved to SDCClrange.c
1037 * src/ds390/ralloc.c:
1038 various fixes & enhancements (ds390) specific
1040 * src/avr/ralloc.c, src/mcs51/ralloc.c, src/pic/ralloc.c, src/xa51/ralloc.c, src/z80/ralloc.c:
1041 Functions "allDefsOutOfRange" & "notUsedinBlock" moved to SDCClrange.c
1044 * sdcc/src/SDCCcse.c: Better fix for bug # 514308
1046 2002-03-02 <johan@FRIJA>
1048 * src/SDCCast.c (decorateType): fixed bug #524708
1050 * src/SDCCval.c (floatFromVal): fixed the literal void (whatever that may be)
1052 * src/SDCCicode.c (geniCodePtrPtrSubtract): fixed bug #524691
1054 2002-03-01 Michael Hope <michaelh@vroom>
1056 * src/SDCCsymt.c (initCSupport): Removed managling of support function names.
1058 * src/z80/ralloc.c (packRegsForIYUse): Fixed fp bug where four byte operands were packed into IY.
1060 2002-03-01 <johan@FRIJA>
1062 * src/SDCCglue.c (printIvalPtr): fixed bug #524211
1064 * src/SDCCast.c (decorateType): fixed bug #524209
1066 * src/SDCCval.c (valNot): fixed bug #524195
1068 2002-02-26 <johan@balder>
1070 * src/xa51/gen.c: fixed a warning
1072 * src/SDCCglue.c (printIvalFuncPtr): fixed bug #522534
1074 * src/SDCCast.c (decorateType): fixed bug #522534
1076 2002-02-23 <johan@balder>
1078 * src/SDCCdflow.c (computeDataFlow): fixed bug #460088
1080 2002-02-22 <johan@balder>
1082 * src/SDCCast.c: fixed bug #514865
1084 * src/SDCCy.c ("SDCC.y"): fixed bug #516625
1086 2002-02-21 Sandeep Dutta <sandeep@ddi.com>
1088 * sdcc/src/SDCCloop.c:
1089 Previous fix was not good. basic blocks that have "break" or "return" are
1090 not really partof a loop , but live ranges used in these blocks should
1091 be live thru the entire loop, so set partOfLoop but don't add them to
1094 2002-02-21 <johan@FRIJA>
1096 * src/SDCCcse.c: fixed bug #514308
1098 2002-02-20 Sandeep Dutta <sandeep@ddi.com>
1101 Fixed BUG #519583. If a conditional block ended in a return/break
1102 statement inside a loop, it was not being considered part of the loop.
1104 * src/SDCCcflow.c: Removed fix (Fixed in SDCCloop.c)
1106 2002-02-10 Karl Bongers <karl@turbobit.com>
1109 Fixed up SDCDB debugger somewhat. Updated debugger/README
1110 with lots of comments and notes.
1112 * device/examples/test2.c:
1113 Fix bug, "red" variable not being initialized(compiler complained).
1115 * device/examples/Makefile, examples/test3.c:
1116 Add Makefile in device/examples folder, compiles test3.c
1117 for use as a multiple module SDCDB test case.
1119 * sim/ucsim/cmd.src/cmdset.cc:
1120 Took out debug printfs in ucsim "next" command.
1123 Karl and Johan start ucsim XA support. Most dissassembly working,
1124 about 75% emulation done(plenty of work remaining).
1126 * sim/ucsim/z80.src:
1127 Add Z80 support to ucsim, add test-ucz80 regression test,
1128 notice ucsim/z80 emulation fails on examples/test3.c/itoa code.
1129 Notice z80 compiler fails on examples/test3.c/crc code.
1131 2002-01-30 Sandeep Dutta <sandeep@ddi.com>
1133 * src/mcs51/gen.c, src/mcs51/main.c, src/mcs51/ralloc.c:
1134 Added support for --parms-in-bank1
1136 * src/ds390/peeph.def:
1137 added a few more peephole optimzations
1140 1) added __builtin_inp & __builtin_outp used to read in data of given length
1141 from a memory mapped port
1142 2) added __builtin_memcmp
1143 3) added __builtin_swapw swap bytes of a short
1145 * src/ds390/gen.c, src/ds390/gen.h, src/ds390/ralloc.c:
1146 1) handle multiple send & receives from register bank1
1147 2) ralloc can now allocate DPTR1 to some liveRanges
1149 * src/SDCCsymt.c, src/SDCCsymt.h:
1150 changes to handle multiple sends & receives
1153 added some pointer arithmetic optimization
1156 added some pointer arithmetic optimizations but not stable yet so not
1157 called from anywhere (will get this working shortly)
1159 * src/SDCCopt.c: fixed for multiple sends & receives
1162 1) added options --parms-in-bank1 (ds390/mcs51) & --protect-sp-update
1163 2) preprocessing done AFTER port->finalizeoptions . This allows ports to
1164 set preprocessor defines (depending on options)
1166 * src/SDCCicode.c, src/SDCCicode.h:
1167 changes made to handle multiple sends & receives
1170 Added options --protect-sp-update (ds390) and --parms-in-bank1 (ds390/mcs51)
1172 * src/SDCCcse.c, src/SDCCcse.h:
1173 added function findbackward def (to be used in upcoming optimization)
1175 * src/SDCCcflow.c, src/SDCCcflow.h:
1176 added function returnAtEnd - to determine if a basic block terminates with
1179 * src/SDCCast.c, src/SDCCast.h:
1180 added option parms-in-bank1
1182 * device/lib/_divsint.c, device/lib/_divslong.c, device/lib/_divuint.c
1183 * device/lib/_divulong.c, device/lib/_modsint.c, device/lib/_modslong.c
1184 * device/lib/_modulong.c, device/lib/_mulint.c, device/lib/_mullong.c:
1185 adjusted for --parms-in-bank1 option
1187 * device/include/string.h:
1188 donot redefine "reentrant" keyword
1190 * device/include/ds80c390.h: Added some more SFRs
1192 2002-01-28 Bernhard Held <bernhard@bernhardheld.de>
1194 * sim/ucsim: Merged branch ucsim-034-pre3 to main trunk; new version 0.4
1196 2002-01-26 Bernhard Held <bernhard@bernhardheld.de>
1198 * src/SDCCast.c (funcOfType): fix usage of double --float-reent
1200 2002-01-22 Bernhard Held <bernhard@bernhardheld.de>
1202 * support/regression/fwk/lib/testfwk.c (main): Removed workaround for bug #505387
1204 2002-01-18 Paul Stoffregen <paul@pjrc.com>
1206 * Added --xram-movc option
1208 2002-01-13 Bernhard Held <bernhard@bernhardheld.de>
1210 * support/regression/Makefile: don't include test-mcs51-stack-auto in target all
1212 2002-01-11 Johan Knol
1214 * Added math lib of Jesus Calvino-Fraga
1216 2002-01-08 Bernhard Held <bernhard@bernhardheld.de>
1218 * src/SDCCmain.c (processFile): fix processing of ../../src.c
1219 * support/regression/Makefile: new target test-mcs51-stack-auto
1220 * support/regression/ports/mcs51-stack-auto/spec.mk: added
1222 2002-01-04 Bernhard Held <bernhard@bernhardheld.de>
1224 * src/SDCCglue.h: printIvalCharPtr(), not printIvalChar()
1226 2002-01-04 Bernhard Held <bernhard@bernhardheld.de>
1228 * support/regression/ports/mcs51/support.c: correct setup of timer / UART
1230 2002-01-03 Bernhard Held <bernhard@bernhardheld.de>
1232 * src/SDCCsymt.c (processFuncArgs): fix #498307 by Johan
1234 * src/SDCCglue.h: add definition for printIvalChar()
1236 2002-01-02 Bernhard Held <bernhard@bernhardheld.de>
1238 * src/SDCCast.c: fix #498138 by Johan
1240 * src/SDCCglue.c: fix #498138 by Johan
1242 2002-01-02 Bernhard Held <bernhard@bernhardheld.de>
1244 * support/regression/Makefile: fix clean
1246 * support/regression/ports/ds390/support.c: fix transmission of last character
1248 2001-12-29 Sandeep Dutta <sandeep@ddi.com>
1250 * /sdcc/src/ds390/gen.c:
1251 a) improved computing address of stack variable
1252 b) took out some #if 0 code
1253 c) improved parmBytes adjustment
1254 d) improved genPlusIncr & genMinusIncr
1255 e) genCmp could generate bad code (when left assigned to DPTR)
1256 f) Fixed bug in hasInc
1258 * /sdcc/src/ds390/ralloc.c:
1259 a) packRegsForSupport could mess up live information (Fixed)
1260 b) packRegsDPTRuse could be incorrect for left & right shift
1262 * /sdcc/src/mcs51/ralloc.c:
1263 packRegsForSupport could mess up the live information (Fixed)
1265 * /sdcc/src/mcs51/gen.c: Fixed a bug in hasInc
1267 * /sdcc/src/SDCCast.c:
1268 can reverse a loop even if function call is present as long
1269 as the loop control variable is local & is not passed as parameter
1271 2001-12-24 Sandeep Dutta <sandeep@ddi.com>
1273 * /sdcc/ChangeLog: *** empty log message ***
1275 * /sdcc/src/ds390/gen.c, /sdcc/src/ds390/main.c:
1276 More builtin function additions for TININative
1278 * /sdcc/src/ds390/ralloc.c:
1279 Had broken the regression testsuite
1281 * /sdcc/src/SDCCast.c: Fixed a bug in dumptree
1283 * /sdcc/src/SDCCsymt.c, /sdcc/src/SDCCsymt.h:
1284 Added funcattr hasStackParms will be set for reentrant functions when there
1285 are paramteres on the stack, this helps in minimizing frame pointer generation
1286 typeFromStr can handle function pointers now
1288 * /sdcc/doc/builtins.txt, /sdcc/doc/TININative.txt:
1289 *** empty log message ***
1291 2001-12-24 Sandeep Dutta <sandeep@ddi.com>
1293 * /src/ds390/gen.c, /src/ds390/main.c:
1294 More builtin function additions for TININative
1296 * /src/ds390/ralloc.c:
1297 Had broken the regression testsuite
1299 * /src/SDCCast.c: Fixed a bug in dumptree
1301 * /src/SDCCsymt.c, /src/SDCCsymt.h:
1302 Added funcattr hasStackParms will be set for reentrant functions when there
1303 are paramteres on the stack, this helps in minimizing frame pointer generation
1304 typeFromStr can handle function pointers now
1306 * /doc/builtins.txt, /doc/TININative.txt:
1307 *** empty log message ***
1310 2001-12-24 Sandeep Dutta <sandeep@ddi.com>
1312 * /src/ds390/gen.c, /src/ds390/main.c, /src/ds390/peeph.def, /src/ds390/ralloc.c:
1313 ALPHA version for -mTININative
1315 * /src/izt/i186.c, /src/izt/tlcs900h.c, /src/mcs51/main.c, /src/pic/main.c, /src/z80/main.c, /src/avr/main.c:
1316 updated to reflect changes in the port structure
1319 added function do_assemble (similar to do_link) if non-null this function
1320 will be called to do assembly (-mTININative) requires a multi command
1322 added function genAssemblerEnd will be called to generate assembler Epilogue
1325 added _JavaNative to debug info printing
1327 * /src/SDCCmain.c: added option --tini-libid
1328 added port->do_assemble function (-mTININative) has a multi command assemble
1330 * /src/SDCCglue.c: Disabled "constExpr" check
1331 added port->genAssemblerEnd function
1333 * /src/SDCCglobl.h: Added option --tini-libid value
1336 tookout optimizeCompare from the header (has no external references)
1338 * /src/SDCCast.c: made one more function "static"
1340 2001-12-23 Michael Hope <michaelh@juju.net.nz>
1342 * src/z80/mappings.i: Added z80asm support.
1344 * src/z80/main.c: Added z80asm support on --asm=z80asm
1346 * src/z80/gen.c: Fixed asm portability issues.
1348 * src/asm.c (tvsprintf): Removed old code, added 'N' for function name. For extern support.
1350 * src/SDCCglue.c (printExterns): Added global/extern split.
1352 2001-12-17 Bernhard Held <bernhard@bernhardheld.de>
1354 * support/regression/Makefile: added test for mcs51 model large
1356 * support/regression/ports/mcs51-large/spec.mk: added test for mcs51 model large
1358 * support/regression/ports/gbz80/spec.mk: added -mgbz80
1360 2001-12-05 Michael Hope <michaelh@juju.net.nz>
1362 * src/diff.1 (Index): Many, many optmisiations. Dhrystone up to 201.
1364 1904-01-06 Michael Hope <michaelh@juju.net.nz>
1366 * src/z80/ralloc.c (packRegsForIYUse): Fixed the case where an operand is in direct space.
1368 * src/z80/gen.c (makeFreePairId): Optimised IY load by using a spare pair.
1370 2001-12-02 Bernhard Held <bernhard@bernhardheld.de>
1372 * src/mcs51/gen.c (genFunction): avoid excess "inc sp"
1374 * support/regression/tests/simplefloat.c: Port to mcs51.
1376 2001-11-25 Michael Hope <michaelh@juju.net.nz>
1377 * support/regression/tests/bug-485362.c: Added.
1379 * support/regression/tests/simplefloat.c (testDivNearOne): Added.
1381 * src/z80/gen.c (aopOp): Fixed case where left and result are in the same spill loc and they have different sizes.
1383 * src/z80/peeph.def: Added rules for optimising two byte compares on the same thing, and to optimise two ptr assign.
1385 * src/z80/gen.c (aopDump): Added a dump function.
1387 2001-11-25 Bernhard Held <bernhard@bernhardheld.de>
1388 * sim/ucsim/s51.src/glob.cc: DS390 SFRs and bits added.
1390 * sim/ucsim/s51.src/port.cc: Port 4 and 5 added.
1392 * sim/ucsim/s51.src/regs51.h: DS390 SFRs added.
1394 * sim/ucsim/s51.src/uc390.cc: Some details improved, CKRDY works for tinibios.
1396 * sim/ucsim/s51.src/uc390cl.h: Work in progress.
1398 * sim/ucsim/sim.src/uccl.h: 6 ports for DS390.
1400 * support/regression/fwk/lib/testfwk.c: Run with tinibios.
1402 * support/regression/ports/mcs51/spec.mk: Fine tuninig.
1404 * support/regression/ports/ds390/support.c: Use tinibios.
1406 * support/regression/ports/ds390/spec.mk: Fine tuning, use tinibios.
1408 2001-11-23 Michael Hope <michaelh@juju.net.nz>support/regression/tests/bug-460010.c
1410 * src/z80/ralloc.c (packRegsForHLUse3): Changed to not pack into HL if anything is in direct space.
1411 (packRegsForHLUse3): Added packing support for send, cast, and return value from a call.
1413 * src/z80/peeph.def: Added rules for optimising pushes of part of a pair.
1415 * src/z80/gen.c (emitCall): Changed the stack fixup to not use HL.
1417 2001-11-18 Michael Hope <michaelh@juju.net.nz>
1419 * src/z80/gen.c (genCmp): Fixed compare on unsigned.
1421 * src/z80/ralloc.c (packRegsForHLUse3): Created and optimised.
1422 (packRegsForIYUse): Created and optimised.
1424 2001-11-07 Michael Hope <michaelh@juju.net.nz>
1426 * support/regression/tests/float.c (testFloatAdd): Fixed up warning.
1427 2001-11-18 Bernhard Held <bernhard@bernhardheld.de>
1429 * sdcc/support/regression/tests/bug-460010.c: fix seg violation on host
1431 * sdcc/support/regression/tests/muldiv.c: fix output on mcs51
1433 * sdcc/support/regression/tests/stacks.c: fix DSEG overflow on mcs51
1435 2001-11-07 Bernhard Held <bernhard@bernhardheld.de>
1437 * sdcc/sim/device/lib/_gptrget.c: mem region 5 (idata) added
1439 * sdcc/sim/device/lib/_gptrput.c: mem region 5 (idata) added
1441 2001-11-07 Bernhard Held <bernhard@bernhardheld.de>
1443 * sdcc/sim/ucsim/globals.cc: New: IXRAM.
1445 * sdcc/sim/ucsim/stypes.h: New: IXRAM.
1447 * sdcc/sim/ucsim/s51.src/uc390.cc: New: IXRAM.
1449 2001-11-07 Michael Hope <michaelh@juju.net.nz>
1451 * src/z80/ralloc.c (packRegsForHLUse): Banned IFXs from being packed into HL.
1452 (packRegsForHLUse): Added rule to pack address of/pointer get for itemps into HL for the Z80.
1453 (packRegsForAccUse2): Added rule to pack hbit IFXs into A.
1455 * src/z80/main.c (_setDefaultOptions): Made float code re-entrant by default.
1457 * src/z80/gen.c (aopGetLitWordLong): Added word support for floats.
1458 (genNotFloat): Added.
1459 (genUminusFloat): Added.
1461 * device/lib/z80/Makefile: Added floating pt stubs.
1463 * device/lib/Makefile.in (Z80SOURCES): Added floating pt support.
1465 * src/z80/gen.c (genIpush): Fixed up a push of one byte when left is in a pair.
1467 * device/lib/_fsadd.c (__fsadd): Fixed up return where the numbers are hugely different.
1469 2001-11-07 Bernhard Held <bernhard@bernhardheld.de>
1471 * sdcc/sim/ucsim/s51.src/glob.cc: Minor fix.
1473 * sdcc/sim/ucsim/s51.src/regs51.h: Minor fix.
1475 * sdcc/support/regression/Makefile: Add port ds390.
1477 * sdcc/support/regression/ports/mcs51/spec.mk: Minor change.
1479 * sdcc/support/regression/ports/z80/spec.mk: Minor change.
1481 * sdcc/support/regression/ports/ds390/spec.mk: Added.
1483 * sdcc/support/regression/ports/ds390/support.c: Added.
1485 * sdcc/support/regression/ports/ds390/uCsim.cmd: Added.
1487 * sdcc/support/regression/ports/mcs51/timeout.c: Cut.
1489 * sdcc/support/regression/fwk/lib/timeout.c: Paste.
1491 2001-11-04 Michael Hope <michaelh@juju.net.nz>
1493 * device/include/malloc.h: Added z80 and gbz80 support.
1495 * device/lib/gbz80/heap.s: Added.
1497 * device/lib/z80/heap.s: Added.
1499 * device/lib/malloc.c: Added z80 and gbz80 support.
1501 * support/regression/tests/malloc.c (testMalloc): Added.
1503 * src/SDCCmain.c (parseCmdLine): Added support for -Wp.
1505 * support/regression/tests/bug-478094.c: Added.
1507 * src/z80/gen.c (commitPair): Fixed silly gbz80/z80 commit to static bug.
1509 2001-11-04 Bernhard Held <bernhard@bernhardheld.de>
1511 * sdcc/sim/ucsim/s51.src/uc390cl.h: Improvement for ds390 to run regression tests
1513 * sdcc/sim/ucsim/s51.src/uc390.h: Improvement for ds390 to run regression tests
1515 * sdcc/sim/ucsim/s51.src/regs51.h: Improvement for ds390 to run regression tests
1517 * sdcc/sim/ucsim/s51.src/glob.cc: Improvement for ds390 to run regression tests
1519 * sdcc/support/regression/tests/bug-460010.c: Small change for ds390
1521 2001-11-04 Michael Hope <michaelh@juju.net.nz>
1523 * src/z80/peeph-gbz80.def: Removed a bad sub optimisation.
1525 2001-11-03 Michael Hope <michaelh@juju.net.nz>
1527 * support/regression/tests/bug-477927.c: Added.
1529 * src/z80/peeph.def: Added minor rules.
1531 * src/z80/gen.c (genPlusIncr): Added an extra plusinc rule.
1533 * src/z80/peeph.def: Added jump optimisation modification.
1535 2001-11-01 Michael Hope <michaelh@juju.net.nz>
1537 * src/SDCCmain.c (linkEdit): Added runtime path detection to the mcs51 port.
1539 2001-10-30 Michael Hope <michaelh@juju.net.nz>
1541 * support/regression/tests/funptrs.c: Added.
1543 2001-10-29 Michael Hope <michaelh@juju.net.nz>
1545 * src/z80/ralloc.c (packRegsForHLUse): Fixed up bad spill due to pushing one byte via HL.
1547 2001-10-28 Michael Hope <michaelh@juju.net.nz>
1549 * src/z80/gen.c (genArrayInit): Made it work for on stack arrays.
1551 * src/z80/main.c (gbz80_port =): Added rle support to the gbz80 port.
1553 * src/z80/gen.c (genMinus): Fixed for where the result is one byte.
1554 (movLeft2ResultLong): Created.
1556 * src/z80/ralloc.c (packRegsForHLUse): Added a couple of simple cases for the GB.
1557 (joinPushes): Added. Joins two char pushes into a word push.
1559 2001-10-27 Michael Hope <michaelh@juju.net.nz>
1561 * support/cpp2/Makefile.in (install): Added creation of dest dir.
1563 * support/makebin/Makefile (install): Added creation of dest dir.
1565 2001-10-24 Karl Bongers <karl@turbobit.com>
1567 * configure.in, configure, Makefile, support/cpp: Removed cpp folder, since we have new cpp2 preprocessor code.
1569 2001-10-21 Michael Hope <michaelh@juju.net.nz>
1571 * src/z80/ralloc.c: Turned off faulty pack for one use.
1573 * src/z80/peeph-gbz80.def: Removed redundent restart options.
1575 * src/z80/gen.c (genMult): Added native mul for constants on the z80 and gbz80.
1577 2001-10-21 Bernhard Held <bernhard@bernhardheld.de>
1579 * support/regression/Makefile: Improved clean
1581 * support/regression/ports/gbz80/spec.mk: Added clean
1583 * support/regression/ports/host/spec.mk: Added clean
1585 * support/regression/ports/z80/spec.mk: Added clean
1587 * support/regression/ports/mcs51/spec.mk: Added clean, little improvements
1589 * support/regression/ports/mcs51/timeout.c: little improvements
1591 2001-10-17 Michael Hope <michaelh@juju.net.nz>
1593 * device/lib/malloc.c (MEMHEADER): Fixed against new pedantic pointers.
1595 * support/regression/fwk/include/testfwk.h: Fixed up to use function pts correctly.
1597 * support/regression/generate-cases.py: Fixed up to use function pts correctly.
1599 2001-10-16 Bernhard Held <bernhard@bernhardheld.de>
1601 * support/regression/port/mcs51/spec.mk: add timeout for uCsim
1603 * support/regression/port/mcs51/timeout.c: add timeout for uCsim
1605 2001-10-13 Michael Hope <michaelh@juju.net.nz>
1606 * src/z80/gen.c (emitCall): Fixed up missing spill of HL when used to assign the result value.
1608 * src/z80/ralloc.c: Turned off pack for one use as it's quite broken.
1610 * src/SDCCmain.c (linkEdit): Added support for passing a legacy command line through the processor.
1612 * src/mcs51/main.c (_linkCmd): Added bin path to command.
1614 * src/SDCCmain.c (initValues): Added support for when it it called just to link.
1616 * as/mcs51/lklibr.c (libfil;): Turned off 'library file' message.
1618 * src/SDCCval.c (constVal): Fixed usage of 'L' modifier problems on ppc.
1620 * support/regression/tests/longor.c: Added.
1622 2001-10-11 Bernhard Held <bernhard@bernhardheld.de>
1624 * as/mcs51/asdata.c: replaced FILENAME_MAX with PATH_MAX
1626 * as/mcs51/aslink.h: define PATH_MAX
1628 * as/mcs51/asm.h: define PATH_MAX
1630 * as/mcs51/asmain.c: replaced FILENAME_MAX with PATH_MAX
1632 * as/mcs51/asnoice.c: replaced FILENAME_MAX with PATH_MAX
1634 * as/mcs51/lklex.c: replaced FILENAME_MAX with PATH_MAX
1636 * as/mcs51/lkmain.c: replaced FILENAME_MAX with PATH_MAX
1638 * src/SDCCglobl.h: define PATH_MAX
1640 * src/SDCCmacro.c: replaced FILENAME_MAX with PATH_MAX
1642 * src/SDCCmain.c: replaced FILENAME_MAX with PATH_MAX
1644 2001-10-11 Michael Hope <michaelh@juju.net.nz>
1646 * src/z80/gen.c (gencjneshort): Fixed
1648 * src/z80/ralloc.c (packRegsForHLUse): Added pack into HL for cast then ipush.
1650 2001-10-09 Michael Hope <michaelh@juju.net.nz>
1652 * support/regression/tests/bug-469671.c: Added.
1654 * src/z80/gen.c (shiftIntoPair): Fixed up warning.
1656 2001-10-08 Michael Hope <michaelh@juju.net.nz>
1658 * src/SDCCmain.c: Added --fommit-frame-pointer option and implemented in the z80 port.
1660 * src/z80/gen.c (genPlus): Fixed to work with extended stack. Also fixed genMinus, genCmp. genUMinus is still left.
1662 2001-10-08 Bernhar Held <bernhard@bernhardheld.de>
1664 * src/SDCCmain.c (preProcess): added define SDCC_NOOVERLAY
1666 * src/device/lib/_mulint.c : removed hint: nooverlay bug
1668 * src/device/lib/_mullong.c : removed hint: nooverlay bug
1670 * src/device/lib/_divuint.c : removed hint: nooverlay bug
1672 * src/device/lib/_divulong.c: removed hint: nooverlay bug
1674 * src/device/lib/_moduint.c : removed hint: nooverlay bug
1676 * src/device/lib/_modulong.c: removed hint: nooverlay bug
1678 2001-10-07 Michael Hope <michaelh@juju.net.nz>
1680 * 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.
1682 * support/Util/NewAlloc.c (freeTrace): Changed free for the gc case to not free at all. Fixes runtime segfault.
1684 * support/regression/tests/scott-compare3.c (c_abcd): Fixed up casts.
1686 2001-10-07 <johan@FRIJA>
1688 * device/lib/gets.c (gets): fixed the return value.
1690 2001-10-06 Michael Hope <michaelh@juju.net.nz>
1691 * src/SDCCmain.c (WRITE_SEG_LOC): Fixed up to use Safe_strdup.
1693 * 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.
1695 * 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.
1697 * src/z80/gen.c (genZ80Code): Added de-allocation via trace support.
1699 * src/pic/gen.c: Removed Safe_strdup.
1701 * configure.in: Added option to enable libgc support.
1703 * src/SDCCbitv.c (bitVectnBitsOn): Optimised.
1704 (bitVectUnion): Optimised.
1705 (bitVectIntersect): Optimised.
1706 (bitVectBitsInCommon): Optimised.
1707 (bitVectCplAnd): Optimised.
1709 * support/makebin/makebin.c (usage): Removed getopt as mingw32 doesn't have it. Sigh.
1711 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
1713 * src/SDCCmain.c: distinguish between assembler debug and plain options
1715 * src/avr/main.c: remove standard assembler options
1717 * src/ds390/main.c: remove standard assembler options
1719 * src/mcs51/main.c: remove standard assembler options
1721 * src/port.h: removed "PENDING" comment
1723 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
1725 * src/device/lib/_mulint.c : new, with assember functions
1727 * src/device/lib/_mullong.c : new, with assember functions
1729 * src/device/lib/_divuint.c : with assember functions
1731 * src/device/lib/_divsint.c : with assember functions
1733 * src/device/lib/_divulong.c: with assember functions
1735 * src/device/lib/_divslong.c: with assember functions
1737 * src/device/lib/_moduint.c : with assember functions
1739 * src/device/lib/_modsint.c : with assember functions
1741 * src/device/lib/_modulong.c: with assember functions
1743 * src/device/lib/_modslong.c: with assember functions
1745 * src/device/lib/libint.lib: replaced _muluint.c and _mulsint.c by _mulint.c
1747 * src/device/lib/liblong.lib: replaced _mululong.c and _mulslong.c by _mullong.c
1749 * src/device/lib/Makefile.in: replaced _muluint.c and _mulsint.c by _mulint.c
1750 replaced _mululong.c and _mulslong.c by _mullong.c
1752 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
1754 * src/SDCCsymt.c: sequence of specifiers in pintTypeChain() corrected
1756 2001-10-01 Bernhard Held <bernhard@bernhardheld.de>
1758 * src/SDCCglue.c: test, if win32api is available for MINGW
1760 2001-10-01 Bernhard Held <bernhard@bernhardheld.de>
1762 * src/SDCCsymt.c: no more _modifier in printTypeChain()
1763 * support/regression/tests/driverstruct.c: REENTRANT for mcs51
1764 * support/regression/ports/gbz80/spec.mk: removed GENERIC
1765 * support/regression/ports/host/spec.mk: removed GENERIC
1766 * support/regression/ports/mcs51/spec.mk: removed GENERIC
1767 * support/regression/ports/z80/spec.mk: removed GENERIC
1769 2001-10-01 Michael Hope <michaelh@juju.net.nz>
1771 * support/regression/fwk/lib/testfwk.c (__printf): Removed GENERIC.
1773 * support/regression/tests/bug-467035.c: Created.
1775 2001-10-01 <johan@FRIJA>
1777 * src/SDCC.y: fixed bug #466586 part 1
1779 2001-10-01 Johan Knol <johan.knol@iduna.nl>
1781 * SDCCicode.c: z80 has no generic pointers
1782 * removed -s from strip in all Makefile(.in)'s. It is not needed, but Solaris chocks on it.
1784 2001-09-30 Michael Hope <michaelh@juju.net.nz>
1786 * sim/ucsim/cmd.src/Makefile.in ($(PRJDIR)/libcmd.a): Changed all ar references to $(AR) for Solaris.
1788 2001-09-29 Michael Hope <michaelh@juju.net.nz>
1790 * Makefile (sdcc-libs): Added makebin to the list of standard targets.
1792 * support/regression/ports/z80/spec.mk: Updated to use env for sdcc bin dir for automatic regression.
1794 2001-09-25 Michael Hope <michaelh@juju.net.nz>
1796 * configure.in: Fixed up so that ucsim is only configured once.
1798 * support/cpp2/configure.in: Fixed to use the program transform to append the .exe for the win32 build.
1800 * src/SDCCutil.c (getPrefixFromBinPath): Fixed up to work with win32 in all of its glory.
1801 (getPathDifference): As above.
1803 * src/SDCCmain.c (preProcess): Changed to use a temporary file in a proper temp directory. Fixed case where pre-processing only.
1805 * src/SDCCglue.c (tempfilename): Added function for pre-processor.
1807 2001-09-23 Michael Hope <michaelh@juju.net.nz>
1808 * .version: Updated to 2.3.1
1810 * src/z80/main.c (z80_port =): Added macro based linker and assembler command line support.
1811 Added copyright header.
1813 * src/SDCCmain.c: Shifted various functions into SDCCutil.c
1814 (assemble): Added support for macro based assembler commands.
1815 (linkEdit): Added support for macro based linker commands.
1816 (preProcess): Changed the pre-processor to use macros.
1817 (_setPaths): Added functionality to autodetect the include, lib and bin dir paths.
1818 (_discoverPaths): Added support for overriding the install directory using the SDCCDIR env variable.
1820 * device/lib/z80/crt0.s: Added module name for debugging.
1822 2001-09-20 Michael Hope <michaelh@juju.net.nz>
1824 * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
1826 * src/SDCChasht.c (hTabDeleteByKey): Fixed delete as it would delete the last item from a bucket even if it wasn't the real one.
1828 * src/SDCCglue.c: Moved gc_strdup to SDCCutil.c
1830 * src/Makefile.in: Added SDCCmacro and SDCCutil
1832 2001-09-19 Michael Hope <michaelh@juju.net.nz>
1834 * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
1836 2001-09-16 <johan@FRIJA>
1838 * 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.
1840 2001-09-15 <johan@FRIJA>
1842 * src/mcs51/ralloc.c: (findAssignToSym): fixed bug #460662 part 1
1843 * src/ds390/ralloc.c (findAssignToSym): fixed bug #460662 part 1
1845 2001-09-11 <johan@FRIJA>
1847 * src/SDCCval.c (valDiv Mod Minus Plus Shift): keep litteral expressions as small as possible (bug #460010)
1849 2001-09-10 Michael Hope <michaelh@juju.net.nz>
1851 * support/regression/tests/bug-460444.c: Added test case.
1853 * src/z80/gen.c (genOr): bug 460444: if (a ^ lit) was broken for &, |, and ^.
1854 (genCast): Added justification for all of the asserts.
1856 2001-09-10 Bernhard Held <bernhard@bernhardheld.de>
1858 * support/regression/support.c: _xdata replaced by xdata
1860 * support/regression/spec.mk: removed _generic
1862 2001-09-09 Michael Hope <michaelh@juju.net.nz>
1864 * src/pic/ralloc.c (debugLogRegType): Removed some old types to get it to compile.
1866 * src/z80/gen.c (shiftR2Left2Result): Improved the case when v = v >> n for small values of n to use less code space and time.
1867 (genrshTwo): Fixed v = v >> n where v is a negative int and n is > 8: bug 460010.
1869 * src/z80/peeph.def: Added a rule to optimise shift then compare.
1871 * support/regression/tests/bug-460000.c (testShiftByParam): Added test case.
1873 * support/regression/tests/bug-460010.c: Added test case.
1875 * support/regression/Makefile (test-host): Removed a silly 'clean' target when testing against gcc.
1877 2001-09-09 Bernhard Held <bernhard@bernhardheld.de>
1879 * support/regression/Makefile: inter-port-clean adjusted for mcs51
1881 * support/regression/testfwk.c: removed workaround for bug #436344
1883 * support/regression/tests/bp.c: use less memory with mcs51
1885 * support/regression/tests/bug-441448.c: use less memory
1887 * support/regression/tests/ports/mcs51/spec.mk: cleanup, use --stack-after-data
1889 * support/regression/collate-results.py: typo
1891 2001-09-08 Michael Hope <michaelh@juju.net.nz>
1893 * support/regression/tests/fetchoverlap.c: Added new test case.
1895 * support/regression/tests/bp.c: Added new test case.
1897 * support/regression/tests/bug-448984.c: Added new test case.
1899 * support/regression/tests/pow2shifts.c: Added new test case.
1901 * src/z80/gen.c: Turned off the noise it normally generates for the release.
1902 (genlshTwo): Fixed right shift for count > 8.
1904 * src/z80/ralloc.c: Disabled most of the ACC packing rules as they weren't getting hit and weren't at all safe.
1906 2001-09-08 <johan@FRIJA>
1908 * src/SDCCicode.c (geniCodeCall): a CPOINTER can be used as a function
1910 2001-09-07 <johan@FRIJA>
1912 * src/SDCCicode.c (newiCodeCondition): fixed bug #456235 (1.77)
1914 * src/SDCCglue.c (emitRegularMap): only delete a symbol when it is a symbol
1916 2001-09-06 <johan@FRIJA>
1918 * src/SDCC.y: this could be a fix for bug #458744 (1.37)
1919 * bernhard noted me at this: "() equals to (void)" (1.38)
1921 2001-09-05 <johan@FRIJA>
1923 * src/SDCCglue.c (emitRegularMap): a fix for bug #458099/2
1925 2001-09-04 <johan@FRIJA>
1927 * src/SDCCsymt.c (checkSClass): a fix for bug #458099/1
1930 2001-09-04 Paul Stoffregen <paul@pjrc.com>
1932 * pragma noinduction broke memcpy on mcs51 large model. Moved it inside z80 optimization
1934 2001-09-03 Michael Hope <michaelh@juju.net.nz>
1936 * link/z80/aslink.h: Fixed path for PATH_MAX
1938 2001-09-02 Michael Hope <michaelh@juju.net.nz>
1940 * src/z80/gen.c (fetchLitPair): Changed so that it properly caches direct space references.
1942 * support/regression/tests/addsub.c: Added cases to cover all the +, - combinations.
1944 * support/regression/tests/uminus.c: Added a test for the unary minus operator.
1946 * 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.
1948 2001-09-01 Michael Hope <michaelh@juju.net.nz>
1950 * src/z80/gen.c: Fixed up generator to pass the regresion tests, specifically fixing loads for longs, genCmp, and turned on the map file.
1951 (genCmp): Fixed up genCmp for the GB with longs.
1953 * device/lib/gbz80/Makefile: Fixed up all the libraries to pass the regression tests.
1955 * support/regression/ports/host/spec.mk: Updated to compile with the new type specifiers.
1957 * device/lib/Makefile.in (Z80SOURCES): Removed old _mululong, _mulslong, and unneeded _mulint.
1959 * device/lib/_mullong.c (_mulslong): Changed to actually return a value :)
1961 2001-08-30 Paul Stoffregen <paul@pjrc.com>
1963 * added peepholes 223 to 231 to mcs51 port. These improve code when using large model.
1965 2001-08-30 Michael Hope <michaelh@juju.net.nz>
1967 * 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.
1969 * src/z80/gen.c (genPlus): Changed bad long add for gb to a fall through.
1971 2001-08-29 Michael Hope <michaelh@juju.net.nz>
1973 * link/z80/aslink.h: Fixed long file name support. Is now based off PATH_MAX instead of a constant.
1975 * src/z80/gen.c: Fixed add and sub for the case where left or right are in static space.
1977 2001-08-30 Bernhard Held <bernhard@bernhardheld.de>
1979 * sim/ucsim/configure: little improvement of Cygwin-detection
1980 * sim/ucsim/configure.in: little improvement of Cygwin-detection
1981 * sim/ucsim/cmd.src/newcmdcl.h: include <sys/types.h> to define fd_set automated build
1982 * support/regression/tests/bug-221100.c: small changes for mcs51
1983 * support/regression/tests/bug-221168.c: small changes for mcs51
1984 * support/regression/tests/bug-227710.c: small changes for mcs51
1985 * support/regression/tests/staticinit.c: small changes for mcs51
1986 * as/mcs51/aslink.h: accept everything as symbol name in rel-files, bug fix ID 452601
1987 * as/mcs51/lklex.c: accept everything as symbol name in rel-files, bug fix ID 452601
1988 * as/mcs51/lksym.c: accept everything as symbol name in rel-files, bug fix ID 452601