That's it for today, have a nice weekend
[fw/sdcc] / ChangeLog
1 2003-04-04    <johan@balder>
2
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
6
7 2003-04-03    <johan@balder>
8
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
14
15 2003-04-03  Bernhard Held <bernhard@bernhardheld.de>
16
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
23
24 2003-04-02  Bernhard Held <bernhard@bernhardheld.de>
25
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"
32
33 2003-04-02    <johan@balder>
34
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
39
40 2003-04-01  Bernhard Held <bernhard@bernhardheld.de>
41
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
46
47 2003-03-31  Borut Razem <borut.razem@siol.net>
48
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
51
52 2003-03-31  Bernhard Held <bernhard@bernhardheld.de>
53
54         * Makefile, src/Makefile.in: add dependencies, so that 'make -j' works
55
56 2003-03-30  Borut Razem <borut.razem@siol.net>
57
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()
71
72 2003-03-30  Scott Dattalo  <scott@dattalo.com>
73
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
77           for loops
78
79 2003-03-29  Bernhard Held <bernhard@bernhardheld.de>
80
81         * support/Util/dbuf.h: remove C++ stuff to make it portable
82
83 2003-03-28  Borut Razem <borut.razem@siol.net>
84
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
89           to the project
90
91 2003-03-27  Paul Stoffregen <paul@pjrc.com>
92
93         * src/SDCCpeeph.c (pcDistance): accurate byte distance for mcs51
94
95 2003-03-26    <johan@balder>
96
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"
100
101 2003-03-23  Bernhard Held <bernhard@bernhardheld.de>
102
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)
115         * src/SDCCsymt.h
116         * src/common.h
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;}"
124
125 2003-03-22  Frieder Ferlemann <Frieder.Ferlemann@web.de>
126
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
129
130 2003-03-22    <johan@balder>
131
132         * src/SDCCicode.c (geniCodeDerefPtr): fixed bug #698231
133
134 2003-03-21  Bernhard Held <bernhard@bernhardheld.de>
135
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
140
141 2003-03-20  Bernhard Held <bernhard@bernhardheld.de>
142
143         * src/mcs51/peeph.def: fix bug #705773
144
145 2003-03-20    <johan@balder>
146
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): 
152
153 2003-03-17  Bernhard Held <bernhard@bernhardheld.de>
154
155         * src/ds390/peeph.def: fix bug #704878: added rule 213.b suggested by Jan Rejlek
156
157 2003-03-16    <johan@balder>
158
159         Undid the hackup of const and volatile, the problem is much bigger
160         * src/SDCC.y:1.65
161         * src/SDCCast.c:1.171
162         * src/SDCCglue.c:1.138
163         * src/SDCCicode.c:1.146
164         * src/SDCCsymt.c:1.150
165         * src/SDCCval.c:1.65
166
167 2003-03-15  Bernhard Held <bernhard@bernhardheld.de>
168
169         * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #703541
170         * src/ds390/gen.c (genAddrOf): fixed bug #704087
171
172 2003-03-13    <johan@balder>
173
174         Hackup const and volatile modifiers in type chains a bit:
175         * src/SDCC.y:1.63
176         * src/SDCCast.c:1.169
177         * src/SDCCglue.c:1.136
178         * src/SDCCicode.c:1.143
179         * src/SDCCsymt.c1.146
180         * src/SDCCsymt.h1.59
181         * src/SDCCval.c:1.63
182
183 2003-03-12    <johan@balder>
184
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
192
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.
198
199 2003-03-11  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
200
201         * as/mcs51/lkmain.c: Added ASlink-Warning to messages 
202         * as/mcs51/lkaomf51.c: Fixed bug when linking asmblink example
203
204 2003-03-11 Kevin Vigor <kevin@vigor.nu>
205
206         * src/SDCCpeeph.c: fix so that operandsNotEqualX functions are
207         actually called (operandsNotEqual() was called for all 
208         operandsNotEqualX tests).
209
210 2003-03-11 Kevin Vigor <kevin@vigor.nu>
211
212         * src/SDCCcse.c: fix findCheaperOp to prevent replacing int types
213         with shorter literals. Fixes bug 700121.
214
215 2003-03-11    <johan@balder>
216
217         * src/SDCCsymt.c (compareType): a (void *) can be assigned to any pointer
218
219 2003-03-11  Bernhard Held <bernhard@bernhardheld.de>
220
221         * src/SDCCloop.c (mergeRegions): an evil beast is dead
222         * src/SDCCmain.c (preProcess): minor cleanup: eliminate preOutName
223
224 2003-03-10  Borut Razem <borut.razem@siol.net>
225
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
235
236 2003-03-10  Bernhard Held <bernhard@bernhardheld.de>
237
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
241
242 2003-03-09  Bernhard Held <bernhard@bernhardheld.de>
243
244         * src/SDCCglobl.h: PATH_MAX is already defined in mingw32 headers
245
246 2003-03-09  Borut Razem <borut.razem@siol.net>
247
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
256
257 2003-03-09  Borut Razem <borut.razem@siol.net>
258
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
264
265 2003-03-09  Frieder Ferlemann <Frieder.Ferlemann@web.de>
266
267         * src/mcs51/gen.c: applied in-/dec patch mentioned on sdcc-devel 2003-03-01
268
269 2003-03-08  Bernhard Held <bernhard@bernhardheld.de>
270
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
287
288 2003-03-08  Bernhard Held <bernhard@bernhardheld.de>
289
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
295
296 2003-03-07    <johan@balder>
297
298         Just a big NOOP:
299                 some minor cleanups before the big shot
300                 OP_DEFS and OP_USES now use Kevin's protection
301                 new option --nolabelopt
302
303         * src/SDCCBBlock.c:
304         * src/SDCCast.c,:
305         * src/SDCCcflow.c:
306         * src/SDCCcse.c:
307         * src/SDCCicode.c:
308         * src/SDCCicode.h:
309         * src/SDCClabel.c:
310         * src/SDCCloop.c:
311         * src/SDCCmain.c:
312         * src/ds390/ralloc.c:
313         * src/mcs51/ralloc.c:
314         * src/pic/ralloc.c:
315         * src/xa51/ralloc.c:
316         * src/z80/ralloc.c:
317
318 2003-03-06  Bernhard Held <bernhard@bernhardheld.de>
319
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
325
326 2003-03-04  Bernhard Held <bernhard@bernhardheld.de>
327
328         * src/mcs51/gen.c (genMinus): fixed bug 696436
329
330 2003-03-02  Borut Razem <borut.razem@siol.net>
331
332         * src/SDCCmain.c: added BORLANDC, corrected MSVC in printVersionInfo()
333
334 2003-02-26  Bernhard Held <bernhard@bernhardheld.de>
335
336         * configure.in: test for mkstemp
337         * sdccconf_in.h: add HAVE_MKSTEMP
338
339 2003-02-24  Bernhard Held <bernhard@bernhardheld.de>
340
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
344
345 2003-02-23  Borut Razem <borut.razem@siol.net>
346
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
350
351 2003-02-23  Frieder Ferlemann <Frieder.Ferlemann@web.de>
352
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
355
356 2003-02-18  Frieder Ferlemann <Frieder.Ferlemann@web.de>
357
358         * src/SDCCpeeph.c: added peephole conditions testing for same arguments
359         * src/mcs51/peeph.def: added rules 238a-d which remove redundant moves
360
361 2003-02-18    <johan@balder>
362
363         * as/mcs51/asmain.c (asmbl): module can start with a digit
364         * as/z80/asmain.c (asmbl): module can start with a digit
365
366 2003-02-16  Bernhard Held <bernhard@bernhardheld.de>
367
368         * sim/ucsim/mkecho: inserted #!/bin/sh for Cygwin, so that it's executable
369         * src/asm.c: fix pipe() for Mingw32
370
371 2003-02-15  Bernhard Held <bernhard@bernhardheld.de>
372
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
380
381 2003-02-15    <johan@balder>
382
383         * src/asm.c: new options: --no-c-code-in-asm and --i-code-in-asm
384
385 2003-02-14  Bernhard Held <bernhard@bernhardheld.de>
386
387         * doc/sdccman.lyx: Environment variables, -o and other minor things
388
389 2003-02-14    <johan@balder>
390
391         * src/xa51/main.c: before anyone really tries to use it :)
392
393         * Install doc's in share/sdcc/doc
394         * removed some obsolete files
395         * Do a proper make distclean and uninstall
396         M Makefile.common.in
397         R sdccbuild.sh
398         M as/Makefile
399         M device/include/Makefile.in
400         M device/lib/Makefile.in
401         M doc/sdccman.lyx
402         M link/Makefile
403         M sim/ucsim/doc/Makefile.in
404         M src/clean.mk
405         R src/avr/peeph.rul
406         R src/xa51/peeph.rul
407         M support/cpp2/Makefile.in
408         M support/makebin/Makefile
409
410
411 2003-02-13  Bernhard Held <bernhard@bernhardheld.de>
412
413         * support/regression/ports/host/spec.mk: use cc as host compiler for max osx
414
415 2003-02-10  Borut Razem <borut.razem@siol.net>
416
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
427
428 2003-02-10  Bernhard Held <bernhard@bernhardheld.de>
429
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
434
435 2003-02-09  Bernhard Held <bernhard@bernhardheld.de>
436
437         * src/SDCCmain.c: signal handling is switched off by SDCC_LEAVE_SIGNALS
438
439 2003-02-09  Bernhard Held <bernhard@bernhardheld.de>
440
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
444
445 2003-02-08  Bernhard Held <bernhard@bernhardheld.de>
446
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
457
458 2003-02-05  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
459
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."
463
464 2003-02-02  Borut Razem <borut.razem@siol.net>
465
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
475
476 2003-02-02  Bernhard Held <bernhard@bernhardheld.de>
477
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
497
498 2003-02-02    <johan@balder>
499
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)
506
507 2003-02-01  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
508
509         * src/SDCCmain.c: Fixed bug 678574: "ds390: ASlink-Error-Stack overlaps
510         area 'DATA'"
511
512 2003-02-01    <johan@balder>
513
514         * src/SDCCval.c (valBitwise): fixed Karl's "2 | (1<<8)"
515
516 2003-01-31    <johan@CP255758-A>
517
518         * src/ds390/main.c (_ds390_genAssemblerPreamble): applied Jan Rejlek's >64K startup patch
519
520 2003-01-30    <johan@balder>
521
522         * src/SDCCBBlock.c: automatic bug detection
523         * src/SDCCicode.c: automatic bug detection
524
525 2003-01-29  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
526
527         * src/SDCCglobl.h:   now --xram-size 0 works
528         * src/SDCCmain.c:    now --xram-size 0 works
529
530 2003-01-29    <johan@balder>
531
532         * src/almosteverything: changed OP_DEFS and OP_USES from macros to functions to catch symbol abuse (a hot topic in the bug list :)
533
534 2003-01-29  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
535
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 
542
543 2003-01-28  Bernhard Held <bernhard@bernhardheld.de>
544
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
547
548 2003-01-27    <johan@balder>
549
550         * src/SDCC.y: fixed bug #613764
551
552 2003-01-26    <johan@balder>
553
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
558
559 2003-01-26  Bernhard Held <bernhard@bernhardheld.de>
560
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
575
576 2003-01-26    <johan@balder>
577
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
581
582 2003-01-25    <johan@balder>
583
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
587
588 2003-01-24  Bernhard Held <bernhard@bernhardheld.de>
589
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
596
597 2003-01-24    <johan@CP255758-A>
598
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
603
604 2003-01-24  Bernhard Held <bernhard@bernhardheld.de>
605
606         * src/mcs51/peeph.def: better assembler identation by Frieder
607         * src/mcs51/gen.c: better assembler identation by Frieder
608
609 2003-01-22  Bernhard Held <bernhard@bernhardheld.de>
610
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
614
615 2003-01-19  Bernhard Held <bernhard@bernhardheld.de>
616
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
623
624 2003-01-19  Bernhard Held <bernhard@bernhardheld.de>
625
626         * moved tinitalk to device/examples/ds390
627
628 2003-01-14  Bernhard Held <bernhard@bernhardheld.de>
629
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
640
641 2003-01-13  Bernhard Held <bernhard@bernhardheld.de>
642
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
651
652 2003-01-12  Bernhard Held <bernhard@bernhardheld.de>
653
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
657
658 2003-01-11  Bernhard Held <bernhard@bernhardheld.de>
659
660         * src/SDCCmain.c (assemble, linkEdit): preparations for -o
661         * src/port.h: typo
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
665
666 2003-01-11  Bernhard Held <bernhard@bernhardheld.de>
667
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
691
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>
694         
695 2003-01-07    <johan@balder>
696
697         * src/SDCCast.c (decorateType): fixed bug #600035
698
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
705
706 2003-01-06    <karl@turbobit.com>
707         * sim/ucsim/cmd.src/command.cc: fixed so "break xram r 0x7654" works again in
708    regression tests.
709
710 2003-01-06    <johan@balder>
711
712         * src/SDCCicode.c: fixed array add
713
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
717
718 2003-01-04    <johan@balder>
719
720         * src/SDCCval.c (getNelements): fixed the initialized array of structures
721
722 2002-12-29  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
723         * as/mcs51/Makefile.bcc: fixed typo lkomf51.o -> lkaomf51.o
724
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
728
729 2002-12-28  Bernhard Held <bernhard@bernhardheld.de>
730         * src/mcs51/gen.c (aopGetUsesAcc): inserted missing "return FALSE"
731
732 2002-12-27  Bernhard Held <bernhard@bernhardheld.de>
733         * as/mcs51/Makefile.in: fixed typo lkomf51.o -> lkaomf51.o
734
735 2002-12-26  Bernhard Held <bernhard@bernhardheld.de>
736         * src/mcs51/main.c: removed {bindir}{sep} from aslink
737
738 2002-12-10  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
739
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.
745
746     * Changed \sdcc\src\SDCCmain.c so it creates files with extension
747     .adb instead of .cdb
748     
749 2002-11-09  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
750
751         * \sdcc\as\mcs51\lklist.c: Now reports memory usage using the
752         value from option --iram-size.
753
754 2002-09-20  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
755
756         * \sdcc\as\mcs51\lklist.c: added boundary check before using
757         dram[] array.
758
759 2002-09-18    <wiml@hhhh.org>
760
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 
769
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.
773
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
776         like ports.
777
778 2002-09-04  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
779         Changes to aslink (All the changes are marked with 'JCF'):
780
781         * \sdcc\as\mcs51\aslink.h: External definition of sflag and
782         summary().
783
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.
787
788         * \sdcc\as\mcs51\lkdata.c: Definition of memory summary output flag
789         sflag.
790
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
795         warning.
796         
797         * \sdcc\as\mcs51\lkmain.c: Creation of some of the default areas for
798         the 8051.  Option 'y' for memory summary output file.
799
800         Changes to sdcc (All the changes are marked with 'JCF'):
801
802         * \sdcc\src\SDCCglobl.h: External definition of RegBankUsed[4].
803
804         * \sdcc\src\SDCCglue.c:  If a register bank is used, creates an
805         overlaying area for it (uses RegBankUsed[4]).
806
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.
813
814         * \sdcc\src\SDCCmem.c:  If a register bank is used, marks it so
815         glue() in SDCCglue.c creates an area for it.
816         
817 2002-09-03  Borut Razem <borut.razem@siol.net>
818         * sdcc/src/SDCCglue.c, sdcc/src/SDCCglue.h, sdcc/src/SDCCmain.c,
819         sdcc/src/pic/glue.c:
820         introduced atexit() handler for teporay files removal in case of
821         errors, assertions, ...
822
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!
828
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
834
835 2002-08-28  Bernhard Held <bernhard@bernhardheld.de>
836         * src/SDCCglue.c (printIvalArray): iterative calculation of array length
837
838 2002-08-28  Jesus Calvino-Fraga and Borut Razem <borut.razem@siol.net>
839         * sdcc/sdcc.dsw: added sdcpp, sdcppa, yacc, conf projects
840
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 ...)
852
853         * sdcc/src/yacc.dsp: added
854
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 
858
859         * sdcc/support/cpp2/sdcpp.dsp: added - VC project for sdcpp
860
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
863
864         * sdcc/sdcc_vc.h,
865         removed from CVS, generated automatically
866
867 2002-08-25  Bernhard Held <bernhard@bernhardheld.de>
868         * support/scripts/inc2h.pl: use gputils or gpasm (from Nathan Hurst)
869
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)
872
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.
878
879         * src/SDCCglue.c:
880         unification of code in functions tempfilename() and tempfile():
881         function tempnam() is defined in Visual Studio 6.0 and .NET
882
883         * sdcc/sdcc.dsw: removed project sdcpp, added project xa51a
884
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
889
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
893
894         * sdcc/as/mcs51/asm.h: definition of PATH_MAX for MSC
895
896         * sdcc/src/SDCCast.c: solved MSC error in function decorateType()
897
898         * sdcc/src/SDCC.y: added missing ending ';' to rules to get rid of bison warnings
899
900         * dcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c:
901         added return 0 statements after assert() to make compiler happy
902
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
905
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()
910
911         * sdcc_vc.h: define PREFIX as "\\sdcc"
912
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
915
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)
921
922         * src/pic/pcoderegs.[ch]: Added new files for pCode live-range analysis
923
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.
925         
926 2002-05-10  Scott Dattalo <scott@dattalo.com>
927         * src/pic/*: Added support for multiplication. Fixed many,many bugs.
928         
929 2002-04-22  Michael Hope  <michaelh@vroom>
930
931         * device/lib/z80/printf.c: Changed emitter to volatile to work around a pcall bug.
932
933         * configure.in (DD_COPT): Added include support required for gbdk.
934
935         * .version: Bumped version number just to increase it.
936
937         * src/SDCCmain.c: Added -nostdinc to the default options.
938
939 2002-04-15  Michael Hope  <michaelh@vroom>
940
941         * device/lib/z80/printf.c (sprintf): Added.
942
943         * src/z80/ralloc.c (packRegisters): Disabled pack HL use for GB as it's broken.
944
945         * src/z80/peeph.def: Added transpose redundent load rule.
946
947         * src/z80/main.c: Added force callee saves for jaune.
948
949         * src/port.h: Removed the i186 and tlcs-900h ports as they weren't being being developed.
950
951         * src/SDCCmain.c: Pulled the options definition out so that you can add port specific options without changing the main file.
952
953 2002-03-28  Johan Knol  <johan@balder>
954
955         * src/SDCCval.c: fixed bug #532436
956
957 2002-03-14  Scott Dattalo <scott@dattalo.com>
958         * /src/port.h:
959         Added "char *Processor" field to the port structure.
960
961         * /src/SDCCmain.c:
962         Added -p option. Allows port dependent processor to be specified.
963
964         * all ports:
965         Initialized the new field char *Processor field to NULL in all ports
966
967         * /src/pic/*:
968         Compiler generated registers for interrupt context saving
969         were not getting allocated.
970                 
971 2002-03-16  Sandeep Dutta  <sandeep@ddi.com>
972
973         * /src/SDCCast.c:
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
977
978 2002-03-14  Scott Dattalo <scott@dattalo.com>
979         * src/pic/*
980         tons of changes. Register allocation has been 
981         rewritten. Added customization for the various PICs. Flow
982         analysis is restructured. ...
983
984         * src/pic/device.h:
985         Added
986
987         * src/pic/device.c:
988         Added. device.c is a PIC port hack to accomodate variations
989         in PIC devices.
990
991 2002-03-13  Michael Hope  <michaelh@vroom>
992
993         * src/z80/gen.c (genGenPointerGet): Fixed a bug where a pointer in HL is dereferenced into HL but HL is not spilled.  Yeah.
994
995 2002-03-04  johanknol  <johanknol@manik>
996
997         * /src/SDCCval.c: fixed
998
999         const unsigned char arr[][2] = { { 0, 1 } };
1000         t18.c:1: error: Initializer element is not constant
1001
1002 2002-03-04  bela  <bela@manik>
1003
1004         * /device/include/mcs51reg.h:
1005         ds89c420 register definition update
1006
1007 2002-03-03    <johan@FRIJA>
1008
1009         * support/Util/SDCCerr.c: did something, but don't no why anymore
1010
1011         * support/regression/tests/bug-524691.c: made it a little less shy 
1012
1013         * src/SDCCast.c (decorateType): fixed bug #524697
1014
1015         * src/SDCCast.c: made some lineno improvements
1016
1017         * src/SDCCval.c (getNelements): changed warning to error
1018
1019         * src/SDCCglue.c (printIvalArray): changed warning to error
1020
1021         * src/SDCCicode.c: fixed a warning for mingw
1022
1023         * src/SDCCast.c (decorateType): fixed the << promotion for ops
1024
1025         * src/SDCCicode.c (geniCodeDivision): divide is shift only for unsigned (bug #524685)
1026
1027 2002-03-02  Sandeep Dutta  <sandeep@ddi.com>
1028
1029         * src/ds390/peeph.def:
1030         Added some more peephole rules
1031
1032         * src/ds390/gen.c: Various fixes & enhancements
1033
1034         * src/SDCClrange.c, src/SDCClrange.h:
1035         functions "alldefsoutofrange" and "notusedinblock" moved to SDCClrange.c
1036
1037         * src/ds390/ralloc.c:
1038         various fixes & enhancements (ds390) specific
1039
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
1042         from rallocs.
1043
1044         * sdcc/src/SDCCcse.c: Better fix for bug # 514308
1045
1046 2002-03-02    <johan@FRIJA>
1047
1048         * src/SDCCast.c (decorateType): fixed bug #524708
1049
1050         * src/SDCCval.c (floatFromVal): fixed the literal void (whatever that may be)
1051
1052         * src/SDCCicode.c (geniCodePtrPtrSubtract): fixed bug #524691
1053
1054 2002-03-01  Michael Hope  <michaelh@vroom>
1055
1056         * src/SDCCsymt.c (initCSupport): Removed managling of support function names.
1057
1058         * src/z80/ralloc.c (packRegsForIYUse): Fixed fp bug where four byte operands were packed into IY.
1059
1060 2002-03-01    <johan@FRIJA>
1061
1062         * src/SDCCglue.c (printIvalPtr): fixed bug #524211
1063
1064         * src/SDCCast.c (decorateType): fixed bug #524209
1065
1066         * src/SDCCval.c (valNot): fixed bug #524195
1067
1068 2002-02-26    <johan@balder>
1069
1070         * src/xa51/gen.c: fixed a warning
1071
1072         * src/SDCCglue.c (printIvalFuncPtr): fixed bug #522534
1073
1074         * src/SDCCast.c (decorateType): fixed bug #522534
1075
1076 2002-02-23    <johan@balder>
1077
1078         * src/SDCCdflow.c (computeDataFlow): fixed bug #460088
1079
1080 2002-02-22    <johan@balder>
1081
1082         * src/SDCCast.c: fixed bug #514865
1083
1084         * src/SDCCy.c ("SDCC.y"): fixed bug #516625
1085
1086 2002-02-21  Sandeep Dutta  <sandeep@ddi.com>
1087
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
1092         loop region
1093
1094 2002-02-21    <johan@FRIJA>
1095
1096         * src/SDCCcse.c: fixed bug #514308
1097
1098 2002-02-20  Sandeep Dutta  <sandeep@ddi.com>
1099
1100         * src/SDCCloop.c:
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.
1103
1104         * src/SDCCcflow.c: Removed fix (Fixed in SDCCloop.c)
1105
1106 2002-02-10  Karl Bongers <karl@turbobit.com>
1107
1108         * debugger/*:
1109         Fixed up SDCDB debugger somewhat.  Updated debugger/README
1110         with lots of comments and notes.
1111
1112         * device/examples/test2.c:
1113         Fix bug, "red" variable not being initialized(compiler complained).
1114
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.
1118
1119         * sim/ucsim/cmd.src/cmdset.cc:
1120         Took out debug printfs in ucsim "next" command.
1121
1122         * sim/ucsim/xa.src:
1123         Karl and Johan start ucsim XA support.  Most dissassembly working,
1124         about 75% emulation done(plenty of work remaining).
1125
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.
1130
1131 2002-01-30  Sandeep Dutta  <sandeep@ddi.com>
1132
1133         * src/mcs51/gen.c, src/mcs51/main.c, src/mcs51/ralloc.c:
1134         Added support for --parms-in-bank1
1135
1136         * src/ds390/peeph.def:
1137         added a few more peephole optimzations
1138
1139         * src/ds390/main.c:
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
1144
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
1148
1149         * src/SDCCsymt.c, src/SDCCsymt.h:
1150         changes to handle multiple sends & receives
1151
1152         * src/SDCCptropt.h:
1153         added some pointer arithmetic optimization
1154
1155         * src/SDCCptropt.c:
1156         added some pointer arithmetic optimizations but not stable yet so not
1157         called from anywhere (will get this working shortly)
1158
1159         * src/SDCCopt.c: fixed for multiple sends & receives
1160
1161         * src/SDCCmain.c:
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)
1165
1166         * src/SDCCicode.c, src/SDCCicode.h:
1167         changes made to handle multiple sends & receives
1168
1169         * src/SDCCglobl.h:
1170         Added options --protect-sp-update (ds390) and --parms-in-bank1 (ds390/mcs51)
1171
1172         * src/SDCCcse.c, src/SDCCcse.h:
1173         added function findbackward def (to be used in upcoming optimization)
1174
1175         * src/SDCCcflow.c, src/SDCCcflow.h:
1176         added function returnAtEnd - to determine if a basic block terminates with
1177         a RETURN iCode
1178
1179         * src/SDCCast.c, src/SDCCast.h:
1180         added option parms-in-bank1
1181
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
1186
1187         * device/include/string.h:
1188         donot redefine "reentrant" keyword
1189
1190         * device/include/ds80c390.h: Added some more SFRs
1191
1192 2002-01-28  Bernhard Held  <bernhard@bernhardheld.de>
1193
1194         * sim/ucsim: Merged branch ucsim-034-pre3 to main trunk; new version 0.4 
1195
1196 2002-01-26  Bernhard Held  <bernhard@bernhardheld.de>
1197
1198         * src/SDCCast.c (funcOfType): fix usage of double --float-reent
1199
1200 2002-01-22  Bernhard Held  <bernhard@bernhardheld.de>
1201
1202         * support/regression/fwk/lib/testfwk.c (main): Removed workaround for bug #505387
1203
1204 2002-01-18  Paul Stoffregen  <paul@pjrc.com>
1205
1206         * Added --xram-movc option
1207
1208 2002-01-13  Bernhard Held  <bernhard@bernhardheld.de>
1209
1210         * support/regression/Makefile: don't include test-mcs51-stack-auto in target all
1211
1212 2002-01-11  Johan Knol
1213
1214         * Added math lib of Jesus Calvino-Fraga
1215
1216 2002-01-08  Bernhard Held  <bernhard@bernhardheld.de>
1217
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
1221
1222 2002-01-04  Bernhard Held  <bernhard@bernhardheld.de>
1223
1224         * src/SDCCglue.h: printIvalCharPtr(), not printIvalChar()
1225
1226 2002-01-04  Bernhard Held  <bernhard@bernhardheld.de>
1227
1228         * support/regression/ports/mcs51/support.c: correct setup of timer / UART
1229
1230 2002-01-03  Bernhard Held  <bernhard@bernhardheld.de>
1231
1232         * src/SDCCsymt.c (processFuncArgs): fix #498307 by Johan
1233
1234         * src/SDCCglue.h: add definition for printIvalChar()
1235
1236 2002-01-02  Bernhard Held  <bernhard@bernhardheld.de>
1237
1238         * src/SDCCast.c: fix #498138 by Johan
1239
1240         * src/SDCCglue.c: fix #498138 by Johan
1241
1242 2002-01-02  Bernhard Held  <bernhard@bernhardheld.de>
1243
1244         * support/regression/Makefile: fix clean
1245
1246         * support/regression/ports/ds390/support.c: fix transmission of last character
1247
1248 2001-12-29  Sandeep Dutta  <sandeep@ddi.com>
1249
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
1257
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
1261
1262         * /sdcc/src/mcs51/ralloc.c:
1263         packRegsForSupport could mess up the live information (Fixed)
1264
1265         * /sdcc/src/mcs51/gen.c: Fixed a bug in hasInc
1266
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
1270
1271 2001-12-24  Sandeep Dutta  <sandeep@ddi.com>
1272
1273         * /sdcc/ChangeLog: *** empty log message ***
1274
1275         * /sdcc/src/ds390/gen.c, /sdcc/src/ds390/main.c:
1276         More builtin function additions for TININative
1277
1278         * /sdcc/src/ds390/ralloc.c:
1279         Had broken the regression testsuite
1280
1281         * /sdcc/src/SDCCast.c: Fixed a bug in dumptree
1282
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
1287
1288         * /sdcc/doc/builtins.txt, /sdcc/doc/TININative.txt:
1289         *** empty log message ***
1290
1291 2001-12-24  Sandeep Dutta  <sandeep@ddi.com>
1292
1293         * /src/ds390/gen.c, /src/ds390/main.c:
1294         More builtin function additions for TININative
1295
1296         * /src/ds390/ralloc.c:
1297         Had broken the regression testsuite
1298
1299         * /src/SDCCast.c: Fixed a bug in dumptree
1300
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
1305
1306         * /doc/builtins.txt, /doc/TININative.txt:
1307         *** empty log message ***
1308
1309
1310 2001-12-24  Sandeep Dutta  <sandeep@ddi.com>
1311
1312         * /src/ds390/gen.c, /src/ds390/main.c, /src/ds390/peeph.def, /src/ds390/ralloc.c:
1313         ALPHA version for -mTININative
1314
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
1317
1318         * /src/port.h:
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
1321         assembly
1322         added function genAssemblerEnd will be called to generate assembler Epilogue
1323
1324         * /src/SDCCsymt.c:
1325         added _JavaNative to debug info printing
1326
1327         * /src/SDCCmain.c: added option --tini-libid
1328         added port->do_assemble function (-mTININative) has a multi command assemble
1329
1330         * /src/SDCCglue.c: Disabled "constExpr" check
1331         added port->genAssemblerEnd function
1332
1333         * /src/SDCCglobl.h: Added option --tini-libid value
1334
1335         * /src/SDCCast.h:
1336         tookout optimizeCompare from the header (has no external references)
1337
1338         * /src/SDCCast.c: made one more function "static"
1339
1340 2001-12-23  Michael Hope  <michaelh@juju.net.nz>
1341
1342         * src/z80/mappings.i: Added z80asm support.
1343
1344         * src/z80/main.c: Added z80asm support on --asm=z80asm
1345
1346         * src/z80/gen.c: Fixed asm portability issues.
1347
1348         * src/asm.c (tvsprintf): Removed old code, added 'N' for function name.  For extern support.
1349
1350         * src/SDCCglue.c (printExterns): Added global/extern split.
1351
1352 2001-12-17  Bernhard Held  <bernhard@bernhardheld.de>
1353
1354         * support/regression/Makefile: added test for mcs51 model large
1355
1356         * support/regression/ports/mcs51-large/spec.mk: added test for mcs51 model large
1357
1358         * support/regression/ports/gbz80/spec.mk: added -mgbz80
1359
1360 2001-12-05  Michael Hope  <michaelh@juju.net.nz>
1361
1362         * src/diff.1 (Index): Many, many optmisiations.  Dhrystone up to 201.
1363
1364 1904-01-06  Michael Hope  <michaelh@juju.net.nz>
1365
1366         * src/z80/ralloc.c (packRegsForIYUse): Fixed the case where an operand is in direct space.
1367
1368         * src/z80/gen.c (makeFreePairId): Optimised IY load by using a spare pair.
1369
1370 2001-12-02  Bernhard Held  <bernhard@bernhardheld.de>
1371
1372         * src/mcs51/gen.c (genFunction): avoid excess "inc sp"
1373
1374         * support/regression/tests/simplefloat.c: Port to mcs51.
1375
1376 2001-11-25  Michael Hope  <michaelh@juju.net.nz>
1377         * support/regression/tests/bug-485362.c: Added.
1378
1379         * support/regression/tests/simplefloat.c (testDivNearOne): Added.
1380
1381         * src/z80/gen.c (aopOp): Fixed case where left and result are in the same spill loc and they have different sizes.
1382
1383         * src/z80/peeph.def: Added rules for optimising two byte compares on the same thing, and to optimise two ptr assign.
1384
1385         * src/z80/gen.c (aopDump): Added a dump function.
1386
1387 2001-11-25  Bernhard Held  <bernhard@bernhardheld.de>
1388         * sim/ucsim/s51.src/glob.cc: DS390 SFRs and bits added.
1389
1390         * sim/ucsim/s51.src/port.cc: Port 4 and 5 added.
1391
1392         * sim/ucsim/s51.src/regs51.h: DS390 SFRs added.
1393
1394         * sim/ucsim/s51.src/uc390.cc: Some details improved, CKRDY works for tinibios.
1395
1396         * sim/ucsim/s51.src/uc390cl.h: Work in progress.
1397
1398         * sim/ucsim/sim.src/uccl.h: 6 ports for DS390.
1399
1400         * support/regression/fwk/lib/testfwk.c: Run with tinibios.
1401
1402         * support/regression/ports/mcs51/spec.mk: Fine tuninig.
1403
1404         * support/regression/ports/ds390/support.c: Use tinibios.
1405
1406         * support/regression/ports/ds390/spec.mk: Fine tuning, use tinibios.
1407
1408 2001-11-23  Michael Hope  <michaelh@juju.net.nz>support/regression/tests/bug-460010.c
1409
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.
1412
1413         * src/z80/peeph.def: Added rules for optimising pushes of part of a pair.
1414
1415         * src/z80/gen.c (emitCall): Changed the stack fixup to not use HL.
1416
1417 2001-11-18  Michael Hope  <michaelh@juju.net.nz>
1418
1419         * src/z80/gen.c (genCmp): Fixed compare on unsigned.
1420
1421         * src/z80/ralloc.c (packRegsForHLUse3): Created and optimised.
1422         (packRegsForIYUse): Created and optimised.
1423
1424 2001-11-07  Michael Hope  <michaelh@juju.net.nz>
1425
1426         * support/regression/tests/float.c (testFloatAdd): Fixed up warning.
1427 2001-11-18  Bernhard Held  <bernhard@bernhardheld.de>
1428
1429         * sdcc/support/regression/tests/bug-460010.c: fix seg violation on host
1430
1431         * sdcc/support/regression/tests/muldiv.c: fix output on mcs51
1432
1433         * sdcc/support/regression/tests/stacks.c: fix DSEG overflow on mcs51
1434
1435 2001-11-07  Bernhard Held  <bernhard@bernhardheld.de>
1436
1437         * sdcc/sim/device/lib/_gptrget.c: mem region 5 (idata) added
1438
1439         * sdcc/sim/device/lib/_gptrput.c: mem region 5 (idata) added
1440
1441 2001-11-07  Bernhard Held  <bernhard@bernhardheld.de>
1442
1443         * sdcc/sim/ucsim/globals.cc: New: IXRAM.
1444
1445         * sdcc/sim/ucsim/stypes.h: New: IXRAM.
1446
1447         * sdcc/sim/ucsim/s51.src/uc390.cc: New: IXRAM.
1448
1449 2001-11-07  Michael Hope  <michaelh@juju.net.nz>
1450
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.
1454
1455         * src/z80/main.c (_setDefaultOptions): Made float code re-entrant by default.
1456
1457         * src/z80/gen.c (aopGetLitWordLong): Added word support for floats.
1458         (genNotFloat): Added.
1459         (genUminusFloat): Added.
1460
1461         * device/lib/z80/Makefile: Added floating pt stubs.
1462
1463         * device/lib/Makefile.in (Z80SOURCES): Added floating pt support.
1464
1465         * src/z80/gen.c (genIpush): Fixed up a push of one byte when left is in a pair.
1466
1467         * device/lib/_fsadd.c (__fsadd): Fixed up return where the numbers are hugely different.
1468
1469 2001-11-07  Bernhard Held  <bernhard@bernhardheld.de>
1470
1471         * sdcc/sim/ucsim/s51.src/glob.cc: Minor fix.
1472
1473         * sdcc/sim/ucsim/s51.src/regs51.h: Minor fix.
1474
1475         * sdcc/support/regression/Makefile: Add port ds390.
1476
1477         * sdcc/support/regression/ports/mcs51/spec.mk: Minor change.
1478
1479         * sdcc/support/regression/ports/z80/spec.mk: Minor change.
1480
1481         * sdcc/support/regression/ports/ds390/spec.mk: Added.
1482
1483         * sdcc/support/regression/ports/ds390/support.c: Added.
1484
1485         * sdcc/support/regression/ports/ds390/uCsim.cmd: Added.
1486
1487         * sdcc/support/regression/ports/mcs51/timeout.c: Cut.
1488
1489         * sdcc/support/regression/fwk/lib/timeout.c: Paste.
1490
1491 2001-11-04  Michael Hope  <michaelh@juju.net.nz>
1492
1493         * device/include/malloc.h: Added z80 and gbz80 support.
1494
1495         * device/lib/gbz80/heap.s: Added.
1496
1497         * device/lib/z80/heap.s: Added.
1498
1499         * device/lib/malloc.c: Added z80 and gbz80 support.
1500
1501         * support/regression/tests/malloc.c (testMalloc): Added.
1502
1503         * src/SDCCmain.c (parseCmdLine): Added support for -Wp.
1504
1505         * support/regression/tests/bug-478094.c: Added.
1506
1507         * src/z80/gen.c (commitPair): Fixed silly gbz80/z80 commit to static bug.
1508
1509 2001-11-04  Bernhard Held  <bernhard@bernhardheld.de>
1510
1511         * sdcc/sim/ucsim/s51.src/uc390cl.h: Improvement for ds390 to run regression tests
1512
1513         * sdcc/sim/ucsim/s51.src/uc390.h: Improvement for ds390 to run regression tests
1514
1515         * sdcc/sim/ucsim/s51.src/regs51.h: Improvement for ds390 to run regression tests
1516
1517         * sdcc/sim/ucsim/s51.src/glob.cc: Improvement for ds390 to run regression tests
1518
1519         * sdcc/support/regression/tests/bug-460010.c: Small change for ds390
1520
1521 2001-11-04  Michael Hope  <michaelh@juju.net.nz>
1522
1523         * src/z80/peeph-gbz80.def: Removed a bad sub optimisation.
1524
1525 2001-11-03  Michael Hope  <michaelh@juju.net.nz>
1526
1527         * support/regression/tests/bug-477927.c: Added.
1528
1529         * src/z80/peeph.def: Added minor rules.
1530
1531         * src/z80/gen.c (genPlusIncr): Added an extra plusinc rule.
1532
1533         * src/z80/peeph.def: Added jump optimisation modification.
1534
1535 2001-11-01  Michael Hope  <michaelh@juju.net.nz>
1536
1537         * src/SDCCmain.c (linkEdit): Added runtime path detection to the mcs51 port.
1538
1539 2001-10-30  Michael Hope  <michaelh@juju.net.nz>
1540
1541         * support/regression/tests/funptrs.c: Added.
1542
1543 2001-10-29  Michael Hope  <michaelh@juju.net.nz>
1544
1545         * src/z80/ralloc.c (packRegsForHLUse): Fixed up bad spill due to pushing one byte via HL.
1546
1547 2001-10-28  Michael Hope  <michaelh@juju.net.nz>
1548
1549         * src/z80/gen.c (genArrayInit): Made it work for on stack arrays.
1550
1551         * src/z80/main.c (gbz80_port =): Added rle support to the gbz80 port.
1552
1553         * src/z80/gen.c (genMinus): Fixed for where the result is one byte.
1554         (movLeft2ResultLong): Created.
1555
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.
1558
1559 2001-10-27  Michael Hope  <michaelh@juju.net.nz>
1560
1561         * support/cpp2/Makefile.in (install): Added creation of dest dir.
1562
1563         * support/makebin/Makefile (install): Added creation of dest dir.
1564
1565 2001-10-24 Karl Bongers <karl@turbobit.com>
1566
1567         * configure.in, configure, Makefile, support/cpp: Removed cpp folder, since we have new cpp2 preprocessor code.
1568
1569 2001-10-21  Michael Hope  <michaelh@juju.net.nz>
1570
1571         * src/z80/ralloc.c: Turned off faulty pack for one use.
1572
1573         * src/z80/peeph-gbz80.def: Removed redundent restart options.
1574
1575         * src/z80/gen.c (genMult): Added native mul for constants on the z80 and gbz80.
1576
1577 2001-10-21  Bernhard Held  <bernhard@bernhardheld.de>
1578
1579         * support/regression/Makefile: Improved clean
1580
1581         * support/regression/ports/gbz80/spec.mk: Added clean
1582
1583         * support/regression/ports/host/spec.mk: Added clean
1584
1585         * support/regression/ports/z80/spec.mk: Added clean
1586
1587         * support/regression/ports/mcs51/spec.mk: Added clean, little improvements
1588
1589         * support/regression/ports/mcs51/timeout.c: little improvements
1590
1591 2001-10-17  Michael Hope  <michaelh@juju.net.nz>
1592
1593         * device/lib/malloc.c (MEMHEADER): Fixed against new pedantic pointers.
1594
1595         * support/regression/fwk/include/testfwk.h: Fixed up to use function pts correctly.
1596
1597         * support/regression/generate-cases.py: Fixed up to use function pts correctly.
1598
1599 2001-10-16  Bernhard Held  <bernhard@bernhardheld.de>
1600
1601         * support/regression/port/mcs51/spec.mk: add timeout for uCsim
1602
1603         * support/regression/port/mcs51/timeout.c: add timeout for uCsim
1604
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.
1607
1608         * src/z80/ralloc.c: Turned off pack for one use as it's quite broken.
1609
1610         * src/SDCCmain.c (linkEdit): Added support for passing a legacy command line through the processor.
1611
1612         * src/mcs51/main.c (_linkCmd): Added bin path to command.
1613
1614         * src/SDCCmain.c (initValues): Added support for when it it called just to link.
1615
1616         * as/mcs51/lklibr.c (libfil;): Turned off 'library file' message.
1617
1618         * src/SDCCval.c (constVal): Fixed usage of 'L' modifier problems on ppc.
1619
1620         * support/regression/tests/longor.c: Added.
1621
1622 2001-10-11  Bernhard Held  <bernhard@bernhardheld.de>
1623
1624         * as/mcs51/asdata.c: replaced FILENAME_MAX with PATH_MAX
1625
1626         * as/mcs51/aslink.h: define PATH_MAX
1627
1628         * as/mcs51/asm.h: define PATH_MAX
1629
1630         * as/mcs51/asmain.c: replaced FILENAME_MAX with PATH_MAX
1631
1632         * as/mcs51/asnoice.c: replaced FILENAME_MAX with PATH_MAX
1633
1634         * as/mcs51/lklex.c: replaced FILENAME_MAX with PATH_MAX
1635
1636         * as/mcs51/lkmain.c: replaced FILENAME_MAX with PATH_MAX
1637
1638         * src/SDCCglobl.h: define PATH_MAX
1639
1640         * src/SDCCmacro.c: replaced FILENAME_MAX with PATH_MAX
1641
1642         * src/SDCCmain.c: replaced FILENAME_MAX with PATH_MAX
1643
1644 2001-10-11  Michael Hope  <michaelh@juju.net.nz>
1645
1646         * src/z80/gen.c (gencjneshort): Fixed
1647
1648         * src/z80/ralloc.c (packRegsForHLUse): Added pack into HL for cast then ipush.
1649
1650 2001-10-09  Michael Hope  <michaelh@juju.net.nz>
1651
1652         * support/regression/tests/bug-469671.c: Added.
1653
1654         * src/z80/gen.c (shiftIntoPair): Fixed up warning.
1655
1656 2001-10-08  Michael Hope  <michaelh@juju.net.nz>
1657
1658         * src/SDCCmain.c: Added --fommit-frame-pointer option and implemented in the z80 port.
1659
1660         * src/z80/gen.c (genPlus): Fixed to work with extended stack.  Also fixed genMinus, genCmp.  genUMinus is still left.
1661
1662 2001-10-08  Bernhar Held  <bernhard@bernhardheld.de>
1663
1664         * src/SDCCmain.c (preProcess): added define SDCC_NOOVERLAY
1665
1666         * src/device/lib/_mulint.c  : removed hint: nooverlay bug
1667
1668         * src/device/lib/_mullong.c : removed hint: nooverlay bug
1669
1670         * src/device/lib/_divuint.c : removed hint: nooverlay bug
1671
1672         * src/device/lib/_divulong.c: removed hint: nooverlay bug
1673
1674         * src/device/lib/_moduint.c : removed hint: nooverlay bug
1675
1676         * src/device/lib/_modulong.c: removed hint: nooverlay bug
1677
1678 2001-10-07  Michael Hope  <michaelh@juju.net.nz>
1679
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.
1681
1682         * support/Util/NewAlloc.c (freeTrace): Changed free for the gc case to not free at all.  Fixes runtime segfault.
1683
1684         * support/regression/tests/scott-compare3.c (c_abcd): Fixed up casts.
1685
1686 2001-10-07    <johan@FRIJA>
1687
1688         * device/lib/gets.c (gets): fixed the return value.
1689
1690 2001-10-06  Michael Hope  <michaelh@juju.net.nz>
1691         * src/SDCCmain.c (WRITE_SEG_LOC): Fixed up to use Safe_strdup.
1692
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.
1694
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.
1696
1697         * src/z80/gen.c (genZ80Code): Added de-allocation via trace support.
1698
1699         * src/pic/gen.c: Removed Safe_strdup.
1700
1701         * configure.in: Added option to enable libgc support.
1702
1703         * src/SDCCbitv.c (bitVectnBitsOn): Optimised.
1704         (bitVectUnion): Optimised.
1705         (bitVectIntersect): Optimised.
1706         (bitVectBitsInCommon): Optimised.
1707         (bitVectCplAnd): Optimised.
1708
1709         * support/makebin/makebin.c (usage): Removed getopt as mingw32 doesn't have it.  Sigh.
1710
1711 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
1712
1713         * src/SDCCmain.c: distinguish between assembler debug and plain options
1714
1715         * src/avr/main.c:   remove standard assembler options
1716
1717         * src/ds390/main.c: remove standard assembler options
1718
1719         * src/mcs51/main.c: remove standard assembler options
1720
1721         * src/port.h: removed "PENDING" comment
1722
1723 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
1724
1725         * src/device/lib/_mulint.c  : new, with assember functions
1726
1727         * src/device/lib/_mullong.c : new, with assember functions
1728
1729         * src/device/lib/_divuint.c : with assember functions
1730
1731         * src/device/lib/_divsint.c : with assember functions
1732
1733         * src/device/lib/_divulong.c: with assember functions
1734
1735         * src/device/lib/_divslong.c: with assember functions
1736
1737         * src/device/lib/_moduint.c : with assember functions
1738
1739         * src/device/lib/_modsint.c : with assember functions
1740
1741         * src/device/lib/_modulong.c: with assember functions
1742
1743         * src/device/lib/_modslong.c: with assember functions
1744
1745         * src/device/lib/libint.lib:  replaced _muluint.c  and _mulsint.c  by _mulint.c
1746
1747         * src/device/lib/liblong.lib: replaced _mululong.c and _mulslong.c by _mullong.c
1748
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
1751
1752 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
1753
1754         * src/SDCCsymt.c: sequence of specifiers in pintTypeChain() corrected
1755
1756 2001-10-01 Bernhard Held <bernhard@bernhardheld.de>
1757
1758         * src/SDCCglue.c: test, if win32api is available for MINGW
1759
1760 2001-10-01 Bernhard Held <bernhard@bernhardheld.de>
1761
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
1768
1769 2001-10-01  Michael Hope  <michaelh@juju.net.nz>
1770
1771         * support/regression/fwk/lib/testfwk.c (__printf): Removed GENERIC.
1772
1773         * support/regression/tests/bug-467035.c: Created.
1774
1775 2001-10-01    <johan@FRIJA>
1776
1777         * src/SDCC.y: fixed bug #466586 part 1
1778
1779 2001-10-01  Johan Knol <johan.knol@iduna.nl>
1780
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.
1783         
1784 2001-09-30  Michael Hope  <michaelh@juju.net.nz>
1785
1786         * sim/ucsim/cmd.src/Makefile.in ($(PRJDIR)/libcmd.a): Changed all ar references to $(AR) for Solaris.
1787
1788 2001-09-29  Michael Hope  <michaelh@juju.net.nz>
1789
1790         * Makefile (sdcc-libs): Added makebin to the list of standard targets.
1791
1792         * support/regression/ports/z80/spec.mk: Updated to use env for sdcc bin dir for automatic regression.
1793
1794 2001-09-25  Michael Hope  <michaelh@juju.net.nz>
1795
1796         * configure.in: Fixed up so that ucsim is only configured once.
1797
1798         * support/cpp2/configure.in: Fixed to use the program transform to append the .exe for the win32 build.
1799
1800         * src/SDCCutil.c (getPrefixFromBinPath): Fixed up to work with win32 in all of its glory.
1801         (getPathDifference): As above.
1802
1803         * src/SDCCmain.c (preProcess): Changed to use a temporary file in a proper temp directory.  Fixed case where pre-processing only.
1804
1805         * src/SDCCglue.c (tempfilename): Added function for pre-processor.
1806
1807 2001-09-23  Michael Hope  <michaelh@juju.net.nz>
1808         * .version: Updated to 2.3.1
1809
1810         * src/z80/main.c (z80_port =): Added macro based linker and assembler command line support.
1811         Added copyright header.
1812
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.
1819
1820         * device/lib/z80/crt0.s: Added module name for debugging.
1821
1822 2001-09-20  Michael Hope  <michaelh@juju.net.nz>
1823
1824         * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
1825
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.
1827
1828         * src/SDCCglue.c: Moved gc_strdup to SDCCutil.c
1829
1830         * src/Makefile.in: Added SDCCmacro and SDCCutil
1831
1832 2001-09-19  Michael Hope  <michaelh@juju.net.nz>
1833
1834         * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
1835
1836 2001-09-16    <johan@FRIJA>
1837
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.
1839
1840 2001-09-15    <johan@FRIJA>
1841
1842         * src/mcs51/ralloc.c: (findAssignToSym): fixed bug #460662 part 1
1843         * src/ds390/ralloc.c (findAssignToSym): fixed bug #460662 part 1
1844
1845 2001-09-11    <johan@FRIJA>
1846
1847         * src/SDCCval.c (valDiv Mod Minus Plus Shift): keep litteral expressions as small as possible (bug #460010)
1848
1849 2001-09-10  Michael Hope  <michaelh@juju.net.nz>
1850
1851         * support/regression/tests/bug-460444.c: Added test case.
1852
1853         * src/z80/gen.c (genOr): bug 460444: if (a ^ lit) was broken for &, |, and ^.
1854         (genCast): Added justification for all of the asserts.
1855
1856 2001-09-10  Bernhard Held <bernhard@bernhardheld.de>
1857
1858         * support/regression/support.c: _xdata replaced by xdata
1859
1860         * support/regression/spec.mk: removed _generic
1861
1862 2001-09-09  Michael Hope  <michaelh@juju.net.nz>
1863
1864         * src/pic/ralloc.c (debugLogRegType): Removed some old types to get it to compile.
1865
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.
1868
1869         * src/z80/peeph.def: Added a rule to optimise shift then compare.
1870
1871         * support/regression/tests/bug-460000.c (testShiftByParam): Added test case.
1872
1873         * support/regression/tests/bug-460010.c: Added test case.
1874
1875         * support/regression/Makefile (test-host): Removed a silly 'clean' target when testing against gcc.
1876
1877 2001-09-09  Bernhard Held <bernhard@bernhardheld.de>
1878
1879         * support/regression/Makefile: inter-port-clean adjusted for mcs51
1880
1881         * support/regression/testfwk.c: removed workaround for bug #436344
1882
1883         * support/regression/tests/bp.c: use less memory with mcs51
1884
1885         * support/regression/tests/bug-441448.c: use less memory
1886
1887         * support/regression/tests/ports/mcs51/spec.mk: cleanup, use --stack-after-data
1888
1889         * support/regression/collate-results.py: typo
1890
1891 2001-09-08  Michael Hope  <michaelh@juju.net.nz>
1892
1893         * support/regression/tests/fetchoverlap.c: Added new test case.
1894
1895         * support/regression/tests/bp.c: Added new test case.
1896
1897         * support/regression/tests/bug-448984.c: Added new test case.
1898
1899         * support/regression/tests/pow2shifts.c: Added new test case.
1900
1901         * src/z80/gen.c: Turned off the noise it normally generates for the release.
1902         (genlshTwo): Fixed right shift for count > 8.
1903
1904         * src/z80/ralloc.c: Disabled most of the ACC packing rules as they weren't getting hit and weren't at all safe.
1905
1906 2001-09-08    <johan@FRIJA>
1907
1908         * src/SDCCicode.c (geniCodeCall): a CPOINTER can be used as a function
1909
1910 2001-09-07    <johan@FRIJA>
1911
1912         * src/SDCCicode.c (newiCodeCondition): fixed bug #456235 (1.77)
1913
1914         * src/SDCCglue.c (emitRegularMap): only delete a symbol when it is a symbol
1915
1916 2001-09-06    <johan@FRIJA>
1917
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)
1920
1921 2001-09-05    <johan@FRIJA>
1922
1923         * src/SDCCglue.c (emitRegularMap): a fix for bug #458099/2
1924
1925 2001-09-04    <johan@FRIJA>
1926
1927         * src/SDCCsymt.c (checkSClass): a fix for bug #458099/1
1928
1929
1930 2001-09-04  Paul Stoffregen  <paul@pjrc.com>
1931
1932         * pragma noinduction broke memcpy on mcs51 large model.  Moved it inside z80 optimization
1933
1934 2001-09-03  Michael Hope  <michaelh@juju.net.nz>
1935
1936         * link/z80/aslink.h: Fixed path for PATH_MAX
1937
1938 2001-09-02  Michael Hope  <michaelh@juju.net.nz>
1939
1940         * src/z80/gen.c (fetchLitPair): Changed so that it properly caches direct space references.
1941
1942         * support/regression/tests/addsub.c: Added cases to cover all the +, - combinations.
1943
1944         * support/regression/tests/uminus.c: Added a test for the unary minus operator.
1945
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.
1947
1948 2001-09-01  Michael Hope  <michaelh@juju.net.nz>
1949
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.
1952
1953         * device/lib/gbz80/Makefile: Fixed up all the libraries to pass the regression tests.
1954
1955         * support/regression/ports/host/spec.mk: Updated to compile with the new type specifiers.
1956
1957         * device/lib/Makefile.in (Z80SOURCES): Removed old _mululong, _mulslong, and unneeded _mulint.
1958
1959         * device/lib/_mullong.c (_mulslong): Changed to actually return a value :)
1960
1961 2001-08-30  Paul Stoffregen  <paul@pjrc.com>
1962
1963         * added peepholes 223 to 231 to mcs51 port.  These improve code when using large model.
1964
1965 2001-08-30  Michael Hope  <michaelh@juju.net.nz>
1966
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.
1968
1969         * src/z80/gen.c (genPlus): Changed bad long add for gb to a fall through.
1970
1971 2001-08-29  Michael Hope  <michaelh@juju.net.nz>
1972
1973         * link/z80/aslink.h: Fixed long file name support.  Is now based off PATH_MAX instead of a constant.
1974
1975         * src/z80/gen.c: Fixed add and sub for the case where left or right are in static space.
1976
1977 2001-08-30 Bernhard Held   <bernhard@bernhardheld.de>
1978
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