fixed bug #604575
[fw/sdcc] / ChangeLog
1 2003-04-07  Bernhard Held <bernhard@bernhardheld.de>
2
3         * configure.in: fully support prefix, exec_prefix, datadir, docdir;
4         fix bug #487815
5         * support/cpp2/Makefile.in: fix bug #487815
6         * configure: rebuilt from configure.in
7         * Makefile.common.in: docdir changed, new path suffixes
8         * sdccconf_in.h: new RETSIGTYPE, and other PATHs
9         * sdcc_vc_in.h: reflect changes from sdccconf.h
10         * src/SDCCglobl.h: remove *SEPARATOR_CHARS, they are now in sdccconf.h
11         * src/SDCCutil.h: remove BINDIR hack
12         * doc/sdccman.lyx: update new path hierarchy
13
14 2003-04-06    Paul Stoffregen <paul@pjrc.com>
15
16         * src/SDCCpeeph.c: added okToRemoveSLOC test
17
18 2003-04-06    Paul Stoffregen <paul@pjrc.com>
19
20         * device/lib/printf_fast.c: added leading zero format ("%06d", etc)
21
22 2003-04-06    Paul Stoffregen <paul@pjrc.com>
23
24         * src/SDCCpeeph.c: added labelIsReturnOnly test
25         * src/mcs51/peeph.def: Peephole 244: replace ljmp to ret with ret
26
27 2003-04-05    <johan@balder>
28
29         * src/SDCCcse.c (cseAllBlocks): fixed bug #460088
30         * src/SDCCloop.c (DEFSETFUNC): fixed bug #460088
31         * src/SDCCopt.c (eBBlockFromiCode): fixed bug #460088
32         * src/SDCCast.c: fixed a warning
33         * src/SDCCast.h: fixed a warning
34         * src/SDCCicode.c (operandFromAst): fixed a warning
35
36 2003-04-04    <johan@balder>
37
38         * src/SDCCloop.c (DEFSETFUNC): undid the fix for bug #519584
39         * src/SDCCast.c (decorateType): fixed bug #715076
40         * src/SDCC.y: fixed bug #702907
41
42 2003-04-03    <johan@balder>
43
44         * device/lib/_mulint.c (_muluint): new #pragma LESS_PEDANTIC
45         * src/SDCCopt.c (eBBlockFromiCode): new #pragma LESS_PEDANTIC
46         * src/SDCCglobl.h (PRAGMA_LESSPEDANTIC): new #pragma LESS_PEDANTIC
47         * src/SDCC.lex (doPragma): new #pragma LESS_PEDANTIC
48         * src/SDCCmain.c (parseCmdLine): new #pragma LESS_PEDANTIC
49
50 2003-04-03  Bernhard Held <bernhard@bernhardheld.de>
51
52         * _decdptr.c: fix return values
53         * _gptrget.c: fix return values
54         * _gptrgetc.c: fix return values
55         * _gptrput.c: fix return values
56         * _mulint.c: fix return values
57         * as/z80/Makefile: fix 'make -j' problem
58
59 2003-04-02  Bernhard Held <bernhard@bernhardheld.de>
60
61         * Makefile.common.in: unused PORT, SCC and SAS removed, fixed docdir
62         * configure.in: big cleanup, updated to autoconf 2.5x
63         * configure: rebuilt from configure.in
64         * sdccconf_in.h: new RETSIGTYPE, and other PATHs
65         * sdcc_vc_in.h: reflect changes from sdccconf.h
66         * doc/Makefile: fixed a flaw in "make install"
67
68 2003-04-02    <johan@balder>
69
70         * src/ds390/gen.c (genCmp): no comments
71         * src/mcs51/gen.c (genCmp): no comments
72         * src/SDCCopt.c (eBBlockFromiCode): detect missing return values
73         * src/SDCCast.c (ast_print): fixed the function type in --dumptree
74
75 2003-04-01  Bernhard Held <bernhard@bernhardheld.de>
76
77         * support/regression/generate-cases.py: place generated file in given sub directory
78         * support/regression/ports/host/spec.mk: prevent removal of testfwk.o
79         * support/regression/Makefile: improvements for 'make -j';
80         side effect: it's simpler and faster now
81
82 2003-03-31  Borut Razem <borut.razem@siol.net>
83
84         * src/z80/main.c: link-{port} and as-{port} defined without path
85         * src/src.dsp: support/Util/MySystem.h and src/SDCCutil.h added to project
86
87 2003-03-31  Bernhard Held <bernhard@bernhardheld.de>
88
89         * Makefile, src/Makefile.in: add dependencies, so that 'make -j' works
90
91 2003-03-30  Borut Razem <borut.razem@siol.net>
92
93         * support/Util/BuildCmd.c, support/Util/BuildCmd.h: rewrite buildCmdLine(),
94           changed type of list parameter to set
95         * src/ds390/main.c: changed type of parameter asmOptions to set in _tininative_do_assemble()
96         * src/port.h: changed type of do_assemble() parameter to set
97         * src/SDCCmain.c: type of asmOptions changed to set, introduced setParseWithComma(),
98           sdcpp defined without path, removed variable VersionString, introduced set binPathSet,
99           definition of "cppoutfilename" macro with NULL value in preProcess()
100         * src/SDCCglobl.h: included "SDCCset.h", added declaration of setParseWithComma()
101         * src/SDCCglue.c: removed variable VersionString, inroduced spacesToUnderscores()
102         * support/Util/MySystem.c, support/Util/MySystem.h: rewrite, char *ExePathList[]
103           replaced with set *binPathSet
104         * shash_add() deallocates the item, if allready exsists, before adding the new one
105         * src/SDCCmacro.c: handling macros with empty or NULL values in _evalMacros()
106
107 2003-03-30  Scott Dattalo  <scott@dattalo.com>
108
109         * src/pic/gen.c: Commit patch from Steve Tell <tell@telltronics.org> that fixes
110           a nested for loop bug in the PIC port
111         * src/regression/nestfor.c: new regression test file Steve wrote to test nested
112           for loops
113
114 2003-03-29  Bernhard Held <bernhard@bernhardheld.de>
115
116         * support/Util/dbuf.h: remove C++ stuff to make it portable
117
118 2003-03-28  Borut Razem <borut.razem@siol.net>
119
120         * src/SDCC.lex: Fix for bug #711240: dynamic buffer handling of C
121           literal strings in stringLiteral()
122         * support/Util/dbuf.c, support/Util/dbuf.h: added: dynamic buffer handling
123         * src/Makefile.bcc, src/Makefile.in, src\src.dsp: added support/Util/dbuf.c
124           to the project
125
126 2003-03-27  Paul Stoffregen <paul@pjrc.com>
127
128         * src/SDCCpeeph.c (pcDistance): accurate byte distance for mcs51
129
130 2003-03-26    <johan@balder>
131
132         * src/mcs51/gen.c (saveRegisters): catched symbol abuse
133         * src/ds390/gen.c (saveRegisters): catched symbol abuse
134         * src/SDCCast.c (decorateType): fixed " -v < 3"
135
136 2003-03-23  Bernhard Held <bernhard@bernhardheld.de>
137
138         * doc/cdbfile.html: removed, replaced by cdbfileformat.lyx
139         Added Lenny Story's debug infrastructure changes:
140         * src/Makefile.in:  added new files cdbFile.c and SDCCdebug.c
141         * src/Makefile.bcc: added new files cdbFile.c and SDCCdebug.c
142         * src/cdbFile.c: added
143         * src/SDCCdebug.c: added
144         * src/SDCCdebug.h: added
145         * src/SDCCast.c (createFunction)
146         * src/SDCCglue.c (emitRegularMap, emitStaticSeg, emitOverlay, glue)
147         * src/SDCCmain.c (parseCmdLine, main)
148         * src/SDCCmem.c (redoStackOffsets)
149         * src/SDCCsymt.c (cdbStructBlock, cdbTypeInfo, cdbSymbol, cdbStruct, cdbStructBlock)
150         * src/SDCCsymt.h
151         * src/common.h
152         * src/avr/gen.c (genAVRCode)
153         * src/ds390/gen.c (gen390Code)
154         * src/mcs51/gen.c (gen51Code) 
155         * src/pic/gen.c (genpic14Code)
156         * src/pic/glue.c (pic14emitRegularMap, pic14emitStaticSeg, pic14emitOverlay, picglue)
157         * src/xa51/gen.c (genXA51Code)
158         * src/SDCCast.c: fixed "void foo(void){char c; -c < 0;}"
159
160 2003-03-22  Frieder Ferlemann <Frieder.Ferlemann@web.de>
161
162         * src/mcs51/gen.c (genCodePointerGet): quicker code for bug #700797
163         * src/mcs51/peeph.def: added rules 177, 241.x to 243, touched 181, 182.x, 193.x
164
165 2003-03-22    <johan@balder>
166
167         * src/SDCCicode.c (geniCodeDerefPtr): fixed bug #698231
168
169 2003-03-21  Bernhard Held <bernhard@bernhardheld.de>
170
171         * support/scripts/sdcc_mingw32: adapted to configure from autoconf 2.54
172         * doc/cdbfileformat.lyx: added, written by Lenny Story
173         * doc/Makefile: added cdbfileformat.lyx
174         * doc/clean.mk: added cdbfileformat.lyx
175
176 2003-03-20  Bernhard Held <bernhard@bernhardheld.de>
177
178         * src/mcs51/peeph.def: fix bug #705773
179
180 2003-03-20    <johan@balder>
181
182         An sfr/sbit can have an "at #" AND an initializer
183         * src/SDCCsymt.c (checkSClass): 
184         * src/SDCCmem.c (allocGlobal): 
185         * src/SDCCmem.c (allocLocal): 
186         * src/SDCCast.c (createBlock): 
187
188 2003-03-17  Bernhard Held <bernhard@bernhardheld.de>
189
190         * src/ds390/peeph.def: fix bug #704878: added rule 213.b suggested by Jan Rejlek
191
192 2003-03-16    <johan@balder>
193
194         Undid the hackup of const and volatile, the problem is much bigger
195         * src/SDCC.y:1.65
196         * src/SDCCast.c:1.171
197         * src/SDCCglue.c:1.138
198         * src/SDCCicode.c:1.146
199         * src/SDCCsymt.c:1.150
200         * src/SDCCval.c:1.65
201
202 2003-03-15  Bernhard Held <bernhard@bernhardheld.de>
203
204         * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #703541
205         * src/ds390/gen.c (genAddrOf): fixed bug #704087
206
207 2003-03-13    <johan@balder>
208
209         Hackup const and volatile modifiers in type chains a bit:
210         * src/SDCC.y:1.63
211         * src/SDCCast.c:1.169
212         * src/SDCCglue.c:1.136
213         * src/SDCCicode.c:1.143
214         * src/SDCCsymt.c1.146
215         * src/SDCCsymt.h1.59
216         * src/SDCCval.c:1.63
217
218 2003-03-12    <johan@balder>
219
220         * src/SDCCBBlock.h: more LRH debugging junk
221         * src/SDCCcflow.h: more LRH debugging junk
222         * src/SDCCloop.c: more LRH debugging junk
223         * src/SDCC.y (struct_declaration): fixed bug #697590
224         * src/SDCCsymt.[hc] (cloneSpec): NEVER EVER use this again
225         * src/ds390/gen.c (aopForRemat): fixed bug #700031
226         * src/SDCCglue.c (emitStaticSeg): fixed bug #700797
227
228 2003-03-11 Kevin Vigor <kevin@vigor.nu>
229         * src/SDCCpeeph.c: quit being lazy and made proper fix (peephole
230         test function names must now match exactly).
231         * src/SDCCcse.c: added special case in findCheaperOp to allow
232         extending a short integer. Makes less awful code for bug 700121 test case.
233
234 2003-03-11  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
235
236         * as/mcs51/lkmain.c: Added ASlink-Warning to messages 
237         * as/mcs51/lkaomf51.c: Fixed bug when linking asmblink example
238
239 2003-03-11 Kevin Vigor <kevin@vigor.nu>
240
241         * src/SDCCpeeph.c: fix so that operandsNotEqualX functions are
242         actually called (operandsNotEqual() was called for all 
243         operandsNotEqualX tests).
244
245 2003-03-11 Kevin Vigor <kevin@vigor.nu>
246
247         * src/SDCCcse.c: fix findCheaperOp to prevent replacing int types
248         with shorter literals. Fixes bug 700121.
249
250 2003-03-11    <johan@balder>
251
252         * src/SDCCsymt.c (compareType): a (void *) can be assigned to any pointer
253
254 2003-03-11  Bernhard Held <bernhard@bernhardheld.de>
255
256         * src/SDCCloop.c (mergeRegions): an evil beast is dead
257         * src/SDCCmain.c (preProcess): minor cleanup: eliminate preOutName
258
259 2003-03-10  Borut Razem <borut.razem@siol.net>
260
261         * src/SDCCmain.c: pipe preprocessor's output
262         * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
263         * sdcc_vc_in.h: define pclose as _pclose for WIN32
264         * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
265         which closes all pipes in pipeSet set
266         * src/SDCCset.c: free deleted item in function deleteSetItem()
267         * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
268         moved from z80 to src subproject
269         * .version: increased version number to 2.3.4
270
271 2003-03-10  Bernhard Held <bernhard@bernhardheld.de>
272
273         * support/regression/ports/mcs51/spec.mk: increase timeout for CF's sparc to 30s
274         * support/regression/ports/ds390/spec.mk: increase timeout for CF's sparc to 25s
275         * support/regression/ports/xa51/spec.mk: fix typo
276
277 2003-03-09  Bernhard Held <bernhard@bernhardheld.de>
278
279         * src/SDCCglobl.h: PATH_MAX is already defined in mingw32 headers
280
281 2003-03-09  Borut Razem <borut.razem@siol.net>
282
283         * src/SDCCmain.c: pipe preprocessor's output
284         * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
285         * sdcc_vc_in.h: define pclose as _pclose for WIN32
286         * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
287         which closes all pipes in pipeSet set
288         * src/SDCCset.c: free deleted item in function deleteSetItem()
289         * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
290         moved from z80 to src subproject
291
292 2003-03-09  Borut Razem <borut.razem@siol.net>
293
294         * src/SDCCglue.c: re-implemented tempfilename() and tempfile(): using mkstemp() if available
295         * src/SDCCsymt.h: fixed MSVC and BORLANDC compilation (included SDCCglobl.h instead srccconf.h)
296         * sdcc_vc_in.h: explicitly undefined HAVE_MKSTEMP which is not available on BORLANDC and MSVC
297         * src/SDCCset.h: removed inclusion of sdccconf.h or sdcc_vc.h
298         * src/SDCCglobl.h: unification of WIN32 native definitions
299
300 2003-03-09  Frieder Ferlemann <Frieder.Ferlemann@web.de>
301
302         * src/mcs51/gen.c: applied in-/dec patch mentioned on sdcc-devel 2003-03-01
303
304 2003-03-08  Bernhard Held <bernhard@bernhardheld.de>
305
306         * src/configure.in:   check for endianess (even while cross-compiling)
307         * src/configure:      check for endianess (even while cross-compiling)
308         * src/configure_in.h: check for endianess (even while cross-compiling)
309         * src/avr/gen.c:        remove old endianess stuff
310         * src/mcs51/gen.c:      remove old endianess stuff
311         * src/ds390/gen.c:      remove old endianess stuff
312         * src/pic/gen.c:        remove old endianess stuff
313         * src/pic/genarith.c:   remove old endianess stuff
314         * src/pic/glue.c:       fix endianess check
315         * src/pic16/gen.c:      remove old endianess stuff
316         * src/pic16/genarith.c: remove old endianess stuff
317         * src/pic16/glue.c:     fix endianess check
318         * src/xa51/gen.c:       remove old endianess stuff
319         * src/z80/gen.c:        fix endianess check
320         * src/SDCCglue.c:       fix endianess check
321         * src/ds390/peeph.def: fix bug 700036
322
323 2003-03-08  Bernhard Held <bernhard@bernhardheld.de>
324
325         * src/SDCCsymt.h: use appropriate data-types on host for SDCC's int and long
326         * src/configure: find appropriate data-types on host for SDCC's int and long
327         * src/configure.in: find appropriate data-types on host for SDCC's int and long
328         * src/sdccconf_in.h: find appropriate data-types on host for SDCC's int and long
329         * src/xa51/gen.c: use %d, not %ld for 4 byte variables
330
331 2003-03-07    <johan@balder>
332
333         Just a big NOOP:
334                 some minor cleanups before the big shot
335                 OP_DEFS and OP_USES now use Kevin's protection
336                 new option --nolabelopt
337
338         * src/SDCCBBlock.c:
339         * src/SDCCast.c,:
340         * src/SDCCcflow.c:
341         * src/SDCCcse.c:
342         * src/SDCCicode.c:
343         * src/SDCCicode.h:
344         * src/SDCClabel.c:
345         * src/SDCCloop.c:
346         * src/SDCCmain.c:
347         * src/ds390/ralloc.c:
348         * src/mcs51/ralloc.c:
349         * src/pic/ralloc.c:
350         * src/xa51/ralloc.c:
351         * src/z80/ralloc.c:
352
353 2003-03-06  Bernhard Held <bernhard@bernhardheld.de>
354
355         * src/pic/pcode.c (get_op): fix 64 bit warnings
356         * src/pic/pcode.c (pCode2str): fix 64 bit warnings
357         * src/SDCChasht.c (newHashTable): fix 64 bit warnings
358         * src/SDCCsymt.c (checkTypeSanity): fix 64 bit warnings
359         * support/regression/tests/malloc.c: fix 64 bit warnings
360
361 2003-03-04  Bernhard Held <bernhard@bernhardheld.de>
362
363         * src/mcs51/gen.c (genMinus): fixed bug 696436
364
365 2003-03-02  Borut Razem <borut.razem@siol.net>
366
367         * src/SDCCmain.c: added BORLANDC, corrected MSVC in printVersionInfo()
368
369 2003-02-26  Bernhard Held <bernhard@bernhardheld.de>
370
371         * configure.in: test for mkstemp
372         * sdccconf_in.h: add HAVE_MKSTEMP
373
374 2003-02-24  Bernhard Held <bernhard@bernhardheld.de>
375
376         * device/include/ctype.h: removed warning while using --stack-auto
377         * device/include/malloc.h: removed warning while using --stack-auto
378         * device/include/string.h: removed warning while using --stack-auto
379
380 2003-02-23  Borut Razem <borut.razem@siol.net>
381
382         * src/asm.h: corrected assertion in function printILine(): _pipe() was not executed on MSVC,
383         because NDEBUG is defined (see man assert)
384         * sdcc_vc_in.h: vsnprintf is defined as _vsnprintf on MSVC
385
386 2003-02-23  Frieder Ferlemann <Frieder.Ferlemann@web.de>
387
388         * src/mcs51/gen.c (genUminusFloat): avoided dptr in-/decrement for xdata variables
389         * src/mcs51/peeph.def: added rule suggested by Gernot Fink, white space/comment changes
390
391 2003-02-18  Frieder Ferlemann <Frieder.Ferlemann@web.de>
392
393         * src/SDCCpeeph.c: added peephole conditions testing for same arguments
394         * src/mcs51/peeph.def: added rules 238a-d which remove redundant moves
395
396 2003-02-18    <johan@balder>
397
398         * as/mcs51/asmain.c (asmbl): module can start with a digit
399         * as/z80/asmain.c (asmbl): module can start with a digit
400
401 2003-02-16  Bernhard Held <bernhard@bernhardheld.de>
402
403         * sim/ucsim/mkecho: inserted #!/bin/sh for Cygwin, so that it's executable
404         * src/asm.c: fix pipe() for Mingw32
405
406 2003-02-15  Bernhard Held <bernhard@bernhardheld.de>
407
408         * src/SDCCglue.h: make tmpfileNameSet available for preOutName
409         * src/SDCCmain.c (preProcess): make sure, that preOutName will be deleted;
410         make -V work again; --c1mode reads now from stdin
411         * doc/sdccman.lyx: added --c1mode
412         * support/Util/SDCCerr.c: new messages for c1 mode
413         * support/Util/SDCCerr.h: new messages for c1 mode
414         * src/SDCC.lex (checkCurrFile): test if fullSrcFileName is NULL for c1mode
415
416 2003-02-15    <johan@balder>
417
418         * src/asm.c: new options: --no-c-code-in-asm and --i-code-in-asm
419
420 2003-02-14  Bernhard Held <bernhard@bernhardheld.de>
421
422         * doc/sdccman.lyx: Environment variables, -o and other minor things
423
424 2003-02-14    <johan@balder>
425
426         * src/xa51/main.c: before anyone really tries to use it :)
427
428         * Install doc's in share/sdcc/doc
429         * removed some obsolete files
430         * Do a proper make distclean and uninstall
431         M Makefile.common.in
432         R sdccbuild.sh
433         M as/Makefile
434         M device/include/Makefile.in
435         M device/lib/Makefile.in
436         M doc/sdccman.lyx
437         M link/Makefile
438         M sim/ucsim/doc/Makefile.in
439         M src/clean.mk
440         R src/avr/peeph.rul
441         R src/xa51/peeph.rul
442         M support/cpp2/Makefile.in
443         M support/makebin/Makefile
444
445
446 2003-02-13  Bernhard Held <bernhard@bernhardheld.de>
447
448         * support/regression/ports/host/spec.mk: use cc as host compiler for max osx
449
450 2003-02-10  Borut Razem <borut.razem@siol.net>
451
452         * doc/bccinst.txt, packihx/packihx.c, sdcc_vc_in.h, src/SDCCset.h,
453         support/cpp2/config.in: Borland C++ build doesn't depend on Cygwin configure
454         * Bcc.ini, Makefile.bcc, as/mcs51/Makefile.bcc,
455         device/examples/ds390/tinitalk/Makefile.bcc, packihx/Makefile.bcc,
456         support/cpp2/Makefile.bcc, src/Makefile.bcc, src/avr/Makefile.bcc,
457         src/ds390/Makefile.bcc, src/izt/Makefile.bcc, src/mcs51/Makefile.bcc,
458         src/pic/Makefile.bcc, src/pic16/Makefile.bcc, src/xa15/Makefile.bcc,
459         src/z80/Makefile.bcc: Borland Makefile cleanup
460         * as/z80/Makefile.bcc: Added Borland Makefile
461         * support/cpp2/borland.h: Removed
462
463 2003-02-10  Bernhard Held <bernhard@bernhardheld.de>
464
465         * doc/sdccman.lyx: new pragma NOIV by "Johannes Stezenbach" <js@convergence.de>
466         * src/SDCC.lex: new pragma NOIV
467         * src/SDCCglobl.h: new pragma NOIV
468         * src/SDCCmem.c: new pragma NOIV
469
470 2003-02-09  Bernhard Held <bernhard@bernhardheld.de>
471
472         * src/SDCCmain.c: signal handling is switched off by SDCC_LEAVE_SIGNALS
473
474 2003-02-09  Bernhard Held <bernhard@bernhardheld.de>
475
476         * src/SDCCmain.c: signal handling is switched off by --debug
477         * doc/Makefile: small fix for install; use clean.mk again
478         * doc/clean.mk: clean *.pdf and *.html too
479
480 2003-02-08  Bernhard Held <bernhard@bernhardheld.de>
481
482         * device/lib/_mulint.c: small fix for large/ds390 --int-long-reent resp. --stack-auto
483         * device/lib/printfl.c: fix a ds390 bug by making it portable
484         * src/SDCCsymt.c (initCSupport): fix compile warning on Cygwin
485         * src/SDCCopt.c (cnvToFloatCast): fix compile warning on Cygwin
486         * src/SDCCopt.c (cnvFromFloatCast): fix compile warning on Cygwin
487         * debugger/mcs51/cmd.c: converted multi-line string literals
488         * sim/ucsim/globals.cc: converted multi-line string literals
489         * src/SDCCmain.c: introduced signal handler to remove temp files
490         * doc/Makefile: small tweaks, implement clean
491         * doc: removed generated files
492
493 2003-02-05  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
494
495         * as/mcs51/aslink.h, as/mcs51/lkihx.c, as/mcs51/lkrloc.c:  Applied
496         patch from Jan Rejlek <jr@apex-lib.cz> to fix Bug 677692: "Extended
497         Address Record is not correctly generated for DS390."
498
499 2003-02-02  Borut Razem <borut.razem@siol.net>
500
501         * Makefile.bcc: removed non existing cpp project and non compilable izt project from makefile
502         * as/mcs51/asm.h: fixed compilation with Borland C
503         * support/cpp2/Makefile.bcc: added rule to generate auto-host.h
504         * support/cpp2/auto-host_vc_in.h: fixed compilation with Borland C
505         * src/mcs51/mcs51a.dsp: corrected misspelled project name from msc51a to mcs51a
506         * src/avr/Makefile.bcc, src/ds390/Makefile.bcc, src/izt/Makefile.bcc,
507         src/mcs51/Makefile.bcc, src/pic16/Makefile.bcc, src/xa51/Makefile.bcc,
508         src/z80/Makefile.bcc: delete $(LIB) only if exist
509         * src/Makefile.bcc, src/pic/Makefile.bcc:  fixed compilation with Borland C
510
511 2003-02-02  Bernhard Held <bernhard@bernhardheld.de>
512
513         * device/include/malloc.h: introduced NULL
514         * device/include/string.h: introduced NULL
515         * device/include/stdlib.h: introduced NULL
516         * device/lib/_memcpy.c: removed NULL
517         * device/lib/_strcat.c: removed NULL
518         * device/lib/_strchr.c: removed NULL
519         * device/lib/_strcmp.c: removed NULL
520         * device/lib/_strcpy.c: removed NULL
521         * device/lib/_strcspn.c: removed NULL
522         * device/lib/_strlen.c: removed NULL
523         * device/lib/_strncat.c: removed NULL
524         * device/lib/_strncmp.c: removed NULL
525         * device/lib/_strncpy.c: removed NULL
526         * device/lib/_strpbrk.c: removed NULL
527         * device/lib/_strrchr.c: removed NULL
528         * device/lib/_strspn.c: removed NULL
529         * device/lib/_strstr.c: removed NULL
530         * device/lib/_strtok.c: removed NULL
531         * device/lib/malloc.c: removed NULL, include own header
532
533 2003-02-02    <johan@balder>
534
535         * 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
536         * support/regression/fwk/lib/testfwk.c: div and mod isn't broken anymore
537         * regressions ds390/spec.mk and mcs51/spec.mk (timeout): my good old balder isn't fast enough for some tests
538         * src/z80/gen.c (genZ80Code): added c-lines in asm comments
539         * as/z80/asm.h (NINPUT): increased for long c-comments in regression tests
540         * src/z80/gen.c (genRightShiftLiteral): fixed the (char)(-3)>>8 (I think)
541
542 2003-02-01  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
543
544         * src/SDCCmain.c: Fixed bug 678574: "ds390: ASlink-Error-Stack overlaps
545         area 'DATA'"
546
547 2003-02-01    <johan@balder>
548
549         * src/SDCCval.c (valBitwise): fixed Karl's "2 | (1<<8)"
550
551 2003-01-31    <johan@CP255758-A>
552
553         * src/ds390/main.c (_ds390_genAssemblerPreamble): applied Jan Rejlek's >64K startup patch
554
555 2003-01-30    <johan@balder>
556
557         * src/SDCCBBlock.c: automatic bug detection
558         * src/SDCCicode.c: automatic bug detection
559
560 2003-01-29  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
561
562         * src/SDCCglobl.h:   now --xram-size 0 works
563         * src/SDCCmain.c:    now --xram-size 0 works
564
565 2003-01-29    <johan@balder>
566
567         * src/almosteverything: changed OP_DEFS and OP_USES from macros to functions to catch symbol abuse (a hot topic in the bug list :)
568
569 2003-01-29  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
570
571         * as/mcs51/aslink.h: Added options --xram-size and --code-size 
572         * as/mcs51/lkdata.c: Added options --xram-size and --code-size 
573         * as/mcs51/lkmain.c: Added options --xram-size and --code-size 
574         * as/mcs51/lkmem.c:  Added options --xram-size and --code-size 
575         * src/SDCCglobl.h:   Added options --xram-size and --code-size 
576         * src/SDCCmain.c:    Added options --xram-size and --code-size 
577
578 2003-01-28  Bernhard Held <bernhard@bernhardheld.de>
579
580         * src/ds390/gen.c: fix deps by replacing <common.h> with "common.h"
581         * src/SDCC.lex: rename P_OVERLAY to P_OVERLAY_ for cross-gcc 3.2 MINGW32
582
583 2003-01-27    <johan@balder>
584
585         * src/SDCC.y: fixed bug #613764
586
587 2003-01-26    <johan@balder>
588
589         * src/SDCClrange.c:  fixed Bernhard's "char * code ptr = &c"
590         * src/SDCCsymt.h: fixed bug #673374
591         * src/SDCCglue.c: fixed bug #661910
592         * src/SDCCast.c: fixed bug #458099 and 673374
593
594 2003-01-26  Bernhard Held <bernhard@bernhardheld.de>
595
596         * as/mcs51/strcmpi.c: added, provides Aurelien Jarno's as_strcmpi(); strcmpi() is not ANSI
597         * as/mcs51/strcmpi.h: added
598         * as/mcs51/asm.h: remove ugly "#define strcmpi strcmp"
599         * as/mcs51/aslink.h: remove ugly "#define strcmpi strcmp"
600         * as/mcs51/asmain.c: strcmpi -> as_strcmpi
601         * as/mcs51/assym.c: strcmpi -> as_strcmpi
602         * as/mcs51/lkmem.c: strcmpi -> as_strcmpi
603         * as/mcs51/lknoice.c: strcmpi -> as_strcmpi
604         * as/mcs51/lksym.c: strcmpi -> as_strcmpi
605         * as/mcs51/Makefile.aslink: new module strcmpi
606         * as/mcs51/Makefile.asx8051: new module strcmpi
607         * as/mcs51/Makefil.bcc: new module strcmpi
608         * as/mcs51/Makefile.in: new module strcmpi
609         * sim/ucsim/s51.src/uc390.cc (get_mem_size): make RAM big enough for tinibios
610
611 2003-01-26    <johan@balder>
612
613         * src/SDCCglue.c: reverted back to 1.124
614         * src/SDCCast.c: reverted back to 1.156
615         * src/mcs51/gen.c (aopGet): applied Frieder's efficiency patch
616
617 2003-01-25    <johan@balder>
618
619         * src/SDCCglue.c: A better fix for bug #661910
620         * src/SDCCast.c: A better fix for bug #661910
621         * src/SDCCglue.c (emitRegularMap): That was a little too efficient
622
623 2003-01-24  Bernhard Held <bernhard@bernhardheld.de>
624
625         * src/Makefile.in: remove spawn.o
626         * src/SDCCmain.c: remove spawn.h
627         * src/SDCCmain.c (printVersionInfo): report MINGW32 instead of UNIX
628         * src/spawn.c: removed
629         * src/spawn.h: removed
630         * support/regression/ports/ds390/spec.mk: link with -r
631
632 2003-01-24    <johan@CP255758-A>
633
634         * src/ds390/gen.c (aopOp): fixed bug #667458
635         * src/SDCCglue.c (emitRegularMap): fixed bug #458099 again
636         * src/SDCCast.c (createIvalCharPtr): fixed bug #661910
637         (createIvalCharPtr): an ival doesn't always have a storage class anymore
638
639 2003-01-24  Bernhard Held <bernhard@bernhardheld.de>
640
641         * src/mcs51/peeph.def: better assembler identation by Frieder
642         * src/mcs51/gen.c: better assembler identation by Frieder
643
644 2003-01-22  Bernhard Held <bernhard@bernhardheld.de>
645
646         * as/z80/string.h: removed for gcc 3.2
647         * support/makebin/makebin.c: #include <string.h> for gcc 3.2
648         * src/pic/pcode.c (get_op_from_instruction): fix concatenation of string literals with __FUNCTION__ for gcc 3.2
649
650 2003-01-19  Bernhard Held <bernhard@bernhardheld.de>
651
652         * src/SDCCmain.c (linkEdit): rename mem and map files even in case of failure
653         * src/SDCCpeeph.c (replaceRule): fix bug #663503
654         * support/regression/Makefile: separate temp files for ports
655         * support/regression/generate-cases.py: separate temp files for ports
656         * src/mcs51/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
657         * src/ds390/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
658
659 2003-01-19  Bernhard Held <bernhard@bernhardheld.de>
660
661         * moved tinitalk to device/examples/ds390
662
663 2003-01-14  Bernhard Held <bernhard@bernhardheld.de>
664
665         * as/mcs51/lkmem.c: rflag is for DS390
666         * src/SDCCglobl.h: removed out_name and options stackOnData, genericPtr
667         * src/SDCCmain.c (optionsTable, setDefaultOptions): removed --stack-after-data and --generic
668                          (linkEdit): move mem- and map-files the same way as ihx-files
669         * src/z80/main.c (_setDefaultOptions): removed --generic
670         * src/SDCCmain.c (_processC1Arg, parseCmdLine, main): --c1mode works again
671         * src/SDCCglue.c (createInterruptVect, glue): --c1mode works again
672         * src/pic/glue.c (picglue): --c1mode works again
673         * src/pic16/glue.c (pic16glue): --c1mode works again
674         * src/asm.c (printCLine): fix #660034
675
676 2003-01-13  Bernhard Held <bernhard@bernhardheld.de>
677
678         * src/ds390/peeph.def: fix #123; add 14 rules by Fiorenzo D. Ramaglia <fd.ramaglia@tin.it>, 1 by Frieder
679         * src/mcs51/peeph.def: fix #123; add 14 rules by Fiorenzo, 1 by Frieder
680         * src/mcs51/gen.c (genFunction): emit r0 instead of ar0 by Fiorenzo
681         * as/mcs51/lkmem (summary): better fix for sp problem
682         * src/SDCCglue.c (glue): __start_stack - 1, saves 1 byte!
683         * src/ds390/main.c (_ds390_finaliseOptions, _tininative_finaliseOptions): stack_loc = 0x400008
684         * support/regression/ports/*/spec.mk: moving testfwk-object to port dir allow parallel execution of regression tests
685                                               remove --stack-after-data
686
687 2003-01-12  Bernhard Held <bernhard@bernhardheld.de>
688
689         * src/SDCCmain.c (main): port->finaliseOptions() moved for z80 linking
690         * src/SDCCutil.c (join): ugly bug: missing '\0'
691         * as/mcs51/lkmem.c (summary): sp on address 7 is safe
692
693 2003-01-11  Bernhard Held <bernhard@bernhardheld.de>
694
695         * src/SDCCmain.c (assemble, linkEdit): preparations for -o
696         * src/port.h: typo
697         * src/pic/main.c (_asmCmd): gpasm supports -o
698         * src/z80/main.c: more general macros
699         * device/lib/Makefile.in: remove intermediate files
700
701 2003-01-11  Bernhard Held <bernhard@bernhardheld.de>
702
703         * .version: Bumped version number to 2.3.3
704         * src/SDCCBBlock.c: new option -o
705         * src/SDCCglobl.h: new option -o
706         * src/SDCCglue.c: new option -o
707         * src/SDCCmain.c: new option -o
708         * src/asm.c: new option -o
709         * src/ds390/main.c: new option -o
710         * src/pic/glue.c: new option -o
711         * src/pic/pcode.c: new option -o
712         * src/pic/ralloc.c: new option -o
713         * src/pic16/glue.c: new option -o
714         * src/pic16/pcode.c: new option -o
715         * src/pic16/ralloc.c: new option -o
716         * src/z80/main.c: new option -o
717         * device/lib/Makefile.in: use -o
718         * support/regression/ports/ds390/spec.mk: use -o
719         * support/regression/ports/gbz80/spec.mk: use -o
720         * support/regression/ports/mcs51/spec.mk: use -o
721         * support/regression/ports/mcs51-stack-auto/spec.mk: use -o
722         * support/regression/ports/z80/spec.mk: use -o
723         * support/regression/ports/ucz80/spec.mk: use -o
724         * support/regression/ports/xa51/spec.mk: use -o
725         * support/regression/fwk/lib/timeout.c: fix usage string
726
727 2003-01-09  Bernhard Held <bernhard@bernhardheld.de>
728         * src/mcs51/gen.c (genPlus): replaced "mov b,acc" by "mov b,a" Fiorenzo D. Ramaglia <fd.ramaglia@tin.it>
729         
730 2003-01-07    <johan@balder>
731
732         * src/SDCCast.c (decorateType): fixed bug #600035
733
734 2003-01-07  Bernhard Held <bernhard@bernhardheld.de>
735         * as/mcs51/lkmem.c: added several l-modifiers to printf to remove warnings
736         * as/mcs51/lkaomf51.c: #include <ctype.h> to remove warnings
737         * src/pic/main.c (_hasNativeMulFor): outcommented unused variables to remove warnings
738         * src/pic/pcode.c: outcommented unused variable to remove warnings
739         * src/pic/ralloc.c: outcommented unused variable to remove warnings
740
741 2003-01-06    <karl@turbobit.com>
742         * sim/ucsim/cmd.src/command.cc: fixed so "break xram r 0x7654" works again in
743    regression tests.
744
745 2003-01-06    <johan@balder>
746
747         * src/SDCCicode.c: fixed array add
748
749 2002-01-05  Bernhard Held <bernhard@bernhardheld.de>
750         * src/SDCCmacro.c: MAX_STRING_LENGTH increased to 2048; was too small for regression tests
751         * support/regression/ports/host/support.c: #include <stdarg.h> for gcc 3.2
752
753 2003-01-04    <johan@balder>
754
755         * src/SDCCval.c (getNelements): fixed the initialized array of structures
756
757 2002-12-29  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
758         * as/mcs51/Makefile.bcc: fixed typo lkomf51.o -> lkaomf51.o
759
760 2002-12-28  Bernhard Held <bernhard@bernhardheld.de>
761         * src/mcs51/peeph.def: added rules 234 and 235 from Frieder Ferlemann <frieder.ferlemann@web.de>
762         * support/regression/tests/bug-524697.c: fit mem usage into 8032
763
764 2002-12-28  Bernhard Held <bernhard@bernhardheld.de>
765         * src/mcs51/gen.c (aopGetUsesAcc): inserted missing "return FALSE"
766
767 2002-12-27  Bernhard Held <bernhard@bernhardheld.de>
768         * as/mcs51/Makefile.in: fixed typo lkomf51.o -> lkaomf51.o
769
770 2002-12-26  Bernhard Held <bernhard@bernhardheld.de>
771         * src/mcs51/main.c: removed {bindir}{sep} from aslink
772
773 2002-12-10  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
774
775     * in \sdcc\as\mcs51\ changed these files in order to create an
776     aomf51 file: aslink.h, lkdta.c, lklex.c, lklibr.c, lklist.c,
777     lkmain.c.  Also added: lkmem.c and lkaomf51.c.  Changed the 
778     following files to include the previous two files: aslink.dsp,
779     Makefile.aslink, Makefile.bcc, and Makefile.in.
780
781     * Changed \sdcc\src\SDCCmain.c so it creates files with extension
782     .adb instead of .cdb
783     
784 2002-11-09  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
785
786         * \sdcc\as\mcs51\lklist.c: Now reports memory usage using the
787         value from option --iram-size.
788
789 2002-09-20  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
790
791         * \sdcc\as\mcs51\lklist.c: added boundary check before using
792         dram[] array.
793
794 2002-09-18    <wiml@hhhh.org>
795
796         * SDCClrange.h: exposed setFromRange() and setToRange()
797         * mcs51/ralloc.c: fixed over-eager packRegsForSupport() and
798           packRegsForAccUse() (bug 542397)
799         * mcs51/gen.c: MOVA() is now a function to avoid calling aopGet()
800           multiple times and emitting the fetch operations more than once
801           added aopGetUsesAcc() function to allow binary operators to
802           fetch their operands in the correct order; made genMinus() emit
803           compact code for X = LITERAL - Y 
804
805 2002-09-00  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
806         * \sdcc\as\mcs51\lklist.c: Fixed incorrect number of parameters to
807         sprintf() in line 1267.
808
809 2002-09-08  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
810         * \sdcc\src\SDCCglue.c: Generate areas REG_BANK_[0-3] only for 8051
811         like ports.
812
813 2002-09-04  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
814         Changes to aslink (All the changes are marked with 'JCF'):
815
816         * \sdcc\as\mcs51\aslink.h: External definition of sflag and
817         summary().
818
819         * \sdcc\as\mcs51\lkarea.c: Computes the size of area BSEG_BYTES from
820         area BSEG.  Also moves, if possible, the DATA area down into the internal
821         ram so more space is available.
822
823         * \sdcc\as\mcs51\lkdata.c: Definition of memory summary output flag
824         sflag.
825
826         * \sdcc\as\mcs51\lklist.c: For the BSEG area report the size in bits,
827         not bytes.  Function summary() which creates a memory usage summary
828         file with extension .mem.  Reports of overlaping stack and small stack
829         size.  If the space for the stack is less than 16 bytes aslink trows a
830         warning.
831         
832         * \sdcc\as\mcs51\lkmain.c: Creation of some of the default areas for
833         the 8051.  Option 'y' for memory summary output file.
834
835         Changes to sdcc (All the changes are marked with 'JCF'):
836
837         * \sdcc\src\SDCCglobl.h: External definition of RegBankUsed[4].
838
839         * \sdcc\src\SDCCglue.c:  If a register bank is used, creates an
840         overlaying area for it (uses RegBankUsed[4]).
841
842         * \sdcc\src\SDCCmain.c: Definition RegBankUsed[4]; marks register
843         bank zero as used by default.  By default aslink locates the stack
844         (equivalent to --stack-after-data).  Pass option 'y' to aslink for
845         the creation of the .mem file.  Delegates the allocation of data area
846         to aslink (it is not longer 0x30 by default).  If --stack-loc passes
847         the begining of the stack area to aslink.
848
849         * \sdcc\src\SDCCmem.c:  If a register bank is used, marks it so
850         glue() in SDCCglue.c creates an area for it.
851         
852 2002-09-03  Borut Razem <borut.razem@siol.net>
853         * sdcc/src/SDCCglue.c, sdcc/src/SDCCglue.h, sdcc/src/SDCCmain.c,
854         sdcc/src/pic/glue.c:
855         introduced atexit() handler for teporay files removal in case of
856         errors, assertions, ...
857
858 2002-08-29  Borut Razem <borut.razem@siol.net>
859         * sdcc/support/cpp2/auto-host_vc_in.h:
860         re-definition of O_BINARY and other O_XXX as _O_BINARY and _O_XXX, so the problem
861         with the returned value from read() in sdcc/support/cpp2/cppfiles.c is solved for MSC.
862         Maybe there is a similar problem with BORLANDC? It should be checked!
863
864         * sdcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c, sdcc/src/z80/ralloc.c:
865         corrected improper use of assert: the assignment to clr variable was done inside the assert.
866         In case that NDEBUG was defined, the assert macro was substituted with no-op, so the assignment
867         was not executed, and the compiler (cl) launched a warning:
868         ralloc.c(1442) : warning C4700: local variable 'clr' used without having been initialized
869
870 2002-08-28  Bernhard Held <bernhard@bernhardheld.de>
871         * src/SDCCglue.c (printIvalArray): iterative calculation of array length
872
873 2002-08-28  Jesus Calvino-Fraga and Borut Razem <borut.razem@siol.net>
874         * sdcc/sdcc.dsw: added sdcpp, sdcppa, yacc, conf projects
875
876         * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
877           sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp,
878           sdcc/src/xa51/xa51.dsp, sdcc/src/avr/avra.dsp,
879           sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
880           sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp,
881           sdcc/src/xa51/xa51a.dsp, sdcc/as/as_z80.dsp,
882           sdcc/as/aslink.dsp, sdcc/as/asx8051.dsp, sdcc/packihx/packihx.dsp:
883         - added Release configuration in VS projects
884         - review of compiler an linker options
885         - VC .exe files are generated in bin_vc directory, not to interfere
886           with binaries generated from other projects (cygwin, mingw, bcc ...)
887
888         * sdcc/src/yacc.dsp: added
889
890         * sdcc/config.dsp, sdcc/configure_vc.awk, sdcc/sdcc_vc_in.h:
891         added - genarate sdcc_vc.h using sdcc_vc_in.h as template
892         and insert the version number definitions from .version 
893
894         * sdcc/support/cpp2/sdcpp.dsp: added - VC project for sdcpp
895
896         * sdcc/support/cpp2/sdcppa.dsp, sdcc/support/cpp2/auto-host_vc_in.h:
897         added - genarate auto-host.h using auto-host_vc_in.h as template
898
899         * sdcc/sdcc_vc.h,
900         removed from CVS, generated automatically
901
902 2002-08-25  Bernhard Held <bernhard@bernhardheld.de>
903         * support/scripts/inc2h.pl: use gputils or gpasm (from Nathan Hurst)
904
905 2002-08-11  Borut Razem <borut.razem@siol.net>
906         * support/Util/NewAlloc.c: removed unneeded #include "sdccconf.h" (suggested by Jesus Calvino-Fraga)
907
908 2002-08-10  Borut Razem <borut.razem@siol.net>
909         * src/SDCCmain.c (main):
910         file preOutName was unlinked before closed. This seems to be OK on UNIX and cygwin
911         platforms, but it doesn't work with Visual Studio: the opened file can not be removed.
912         The consequence was that some temporary files were not removed.
913
914         * src/SDCCglue.c:
915         unification of code in functions tempfilename() and tempfile():
916         function tempnam() is defined in Visual Studio 6.0 and .NET
917
918         * sdcc/sdcc.dsw: removed project sdcpp, added project xa51a
919
920         * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
921           sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp:
922         - removed compiler command line option /WX: Treats all warnings as errors
923         - update a list of source files, included into the project
924
925         * sdcc/src/avr/avra.dsp, sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
926           sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp:
927         changed project type to Generic Project so that can be correcly converted to VS.NET project
928
929         * sdcc/as/mcs51/asm.h: definition of PATH_MAX for MSC
930
931         * sdcc/src/SDCCast.c: solved MSC error in function decorateType()
932
933         * sdcc/src/SDCC.y: added missing ending ';' to rules to get rid of bison warnings
934
935         * dcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c:
936         added return 0 statements after assert() to make compiler happy
937
938         * sdcc/src/xa51/peeph.rul, sdcc/src/xa51/peeph.def, sdcc/src/z80/ralloc.c:
939         added newline in the def file to keep MSC compiler satisfied
940
941         * sdcc/src/z80/gen.c:
942         - function strcasecmp() is not defined in MSC (and probably also in BORLANDC),
943           so it is replaced with STRCASECMP, which is defined as stricmp in case of MSC and BORLANDC
944         - solved MSC error in function aopDump()
945
946         * sdcc_vc.h: define PREFIX as "\\sdcc"
947
948 2002-07-18  Bernhard Held <bernhard@bernhardheld.de>
949         * src/SDCCast.c (decorateType): fixed access to array of structures http://sourceforge.net/mailarchive/forum.php?thread_id=902690&forum_id=4107
950
951 2002-06-22  Scott Dattalo <scott@dattalo.com>
952         * src/pic/*: Numerous bug fixes. Flow analysis has been enhanced. 
953         - Rewrote the register banking algorithm. 
954         - Added pCode live-range analysis to registers (for now, only non-used and 
955         singly-used registers optimized away)
956
957         * src/pic/pcoderegs.[ch]: Added new files for pCode live-range analysis
958
959         * support/scripts/inc2h.pl Kevin L. Pauba <klpauba@cox.net> submitted this perl script for converting MicroChip include files into SDCC Pic include files.
960         
961 2002-05-10  Scott Dattalo <scott@dattalo.com>
962         * src/pic/*: Added support for multiplication. Fixed many,many bugs.
963         
964 2002-04-22  Michael Hope  <michaelh@vroom>
965
966         * device/lib/z80/printf.c: Changed emitter to volatile to work around a pcall bug.
967
968         * configure.in (DD_COPT): Added include support required for gbdk.
969
970         * .version: Bumped version number just to increase it.
971
972         * src/SDCCmain.c: Added -nostdinc to the default options.
973
974 2002-04-15  Michael Hope  <michaelh@vroom>
975
976         * device/lib/z80/printf.c (sprintf): Added.
977
978         * src/z80/ralloc.c (packRegisters): Disabled pack HL use for GB as it's broken.
979
980         * src/z80/peeph.def: Added transpose redundent load rule.
981
982         * src/z80/main.c: Added force callee saves for jaune.
983
984         * src/port.h: Removed the i186 and tlcs-900h ports as they weren't being being developed.
985
986         * src/SDCCmain.c: Pulled the options definition out so that you can add port specific options without changing the main file.
987
988 2002-03-28  Johan Knol  <johan@balder>
989
990         * src/SDCCval.c: fixed bug #532436
991
992 2002-03-14  Scott Dattalo <scott@dattalo.com>
993         * /src/port.h:
994         Added "char *Processor" field to the port structure.
995
996         * /src/SDCCmain.c:
997         Added -p option. Allows port dependent processor to be specified.
998
999         * all ports:
1000         Initialized the new field char *Processor field to NULL in all ports
1001
1002         * /src/pic/*:
1003         Compiler generated registers for interrupt context saving
1004         were not getting allocated.
1005                 
1006 2002-03-16  Sandeep Dutta  <sandeep@ddi.com>
1007
1008         * /src/SDCCast.c:
1009         Fixed left shift. Will promote the left side of a left shift
1010         if a) left shifting more than size of operand or b) when assigned
1011         to something size > size of left side
1012
1013 2002-03-14  Scott Dattalo <scott@dattalo.com>
1014         * src/pic/*
1015         tons of changes. Register allocation has been 
1016         rewritten. Added customization for the various PICs. Flow
1017         analysis is restructured. ...
1018
1019         * src/pic/device.h:
1020         Added
1021
1022         * src/pic/device.c:
1023         Added. device.c is a PIC port hack to accomodate variations
1024         in PIC devices.
1025
1026 2002-03-13  Michael Hope  <michaelh@vroom>
1027
1028         * src/z80/gen.c (genGenPointerGet): Fixed a bug where a pointer in HL is dereferenced into HL but HL is not spilled.  Yeah.
1029
1030 2002-03-04  johanknol  <johanknol@manik>
1031
1032         * /src/SDCCval.c: fixed
1033
1034         const unsigned char arr[][2] = { { 0, 1 } };
1035         t18.c:1: error: Initializer element is not constant
1036
1037 2002-03-04  bela  <bela@manik>
1038
1039         * /device/include/mcs51reg.h:
1040         ds89c420 register definition update
1041
1042 2002-03-03    <johan@FRIJA>
1043
1044         * support/Util/SDCCerr.c: did something, but don't no why anymore
1045
1046         * support/regression/tests/bug-524691.c: made it a little less shy 
1047
1048         * src/SDCCast.c (decorateType): fixed bug #524697
1049
1050         * src/SDCCast.c: made some lineno improvements
1051
1052         * src/SDCCval.c (getNelements): changed warning to error
1053
1054         * src/SDCCglue.c (printIvalArray): changed warning to error
1055
1056         * src/SDCCicode.c: fixed a warning for mingw
1057
1058         * src/SDCCast.c (decorateType): fixed the << promotion for ops
1059
1060         * src/SDCCicode.c (geniCodeDivision): divide is shift only for unsigned (bug #524685)
1061
1062 2002-03-02  Sandeep Dutta  <sandeep@ddi.com>
1063
1064         * src/ds390/peeph.def:
1065         Added some more peephole rules
1066
1067         * src/ds390/gen.c: Various fixes & enhancements
1068
1069         * src/SDCClrange.c, src/SDCClrange.h:
1070         functions "alldefsoutofrange" and "notusedinblock" moved to SDCClrange.c
1071
1072         * src/ds390/ralloc.c:
1073         various fixes & enhancements (ds390) specific
1074
1075         * src/avr/ralloc.c, src/mcs51/ralloc.c, src/pic/ralloc.c, src/xa51/ralloc.c, src/z80/ralloc.c:
1076         Functions "allDefsOutOfRange" & "notUsedinBlock" moved to SDCClrange.c
1077         from rallocs.
1078
1079         * sdcc/src/SDCCcse.c: Better fix for bug # 514308
1080
1081 2002-03-02    <johan@FRIJA>
1082
1083         * src/SDCCast.c (decorateType): fixed bug #524708
1084
1085         * src/SDCCval.c (floatFromVal): fixed the literal void (whatever that may be)
1086
1087         * src/SDCCicode.c (geniCodePtrPtrSubtract): fixed bug #524691
1088
1089 2002-03-01  Michael Hope  <michaelh@vroom>
1090
1091         * src/SDCCsymt.c (initCSupport): Removed managling of support function names.
1092
1093         * src/z80/ralloc.c (packRegsForIYUse): Fixed fp bug where four byte operands were packed into IY.
1094
1095 2002-03-01    <johan@FRIJA>
1096
1097         * src/SDCCglue.c (printIvalPtr): fixed bug #524211
1098
1099         * src/SDCCast.c (decorateType): fixed bug #524209
1100
1101         * src/SDCCval.c (valNot): fixed bug #524195
1102
1103 2002-02-26    <johan@balder>
1104
1105         * src/xa51/gen.c: fixed a warning
1106
1107         * src/SDCCglue.c (printIvalFuncPtr): fixed bug #522534
1108
1109         * src/SDCCast.c (decorateType): fixed bug #522534
1110
1111 2002-02-23    <johan@balder>
1112
1113         * src/SDCCdflow.c (computeDataFlow): fixed bug #460088
1114
1115 2002-02-22    <johan@balder>
1116
1117         * src/SDCCast.c: fixed bug #514865
1118
1119         * src/SDCCy.c ("SDCC.y"): fixed bug #516625
1120
1121 2002-02-21  Sandeep Dutta  <sandeep@ddi.com>
1122
1123         * sdcc/src/SDCCloop.c:
1124         Previous fix was not good. basic blocks that have "break" or "return" are
1125         not really partof a loop , but live ranges used in these blocks should
1126         be live thru the entire loop, so set partOfLoop but don't add them to
1127         loop region
1128
1129 2002-02-21    <johan@FRIJA>
1130
1131         * src/SDCCcse.c: fixed bug #514308
1132
1133 2002-02-20  Sandeep Dutta  <sandeep@ddi.com>
1134
1135         * src/SDCCloop.c:
1136         Fixed BUG #519583. If a conditional block ended in a return/break
1137         statement inside a loop, it was not being considered part of the loop.
1138
1139         * src/SDCCcflow.c: Removed fix (Fixed in SDCCloop.c)
1140
1141 2002-02-10  Karl Bongers <karl@turbobit.com>
1142
1143         * debugger/*:
1144         Fixed up SDCDB debugger somewhat.  Updated debugger/README
1145         with lots of comments and notes.
1146
1147         * device/examples/test2.c:
1148         Fix bug, "red" variable not being initialized(compiler complained).
1149
1150         * device/examples/Makefile, examples/test3.c:
1151         Add Makefile in device/examples folder, compiles test3.c
1152         for use as a multiple module SDCDB test case.
1153
1154         * sim/ucsim/cmd.src/cmdset.cc:
1155         Took out debug printfs in ucsim "next" command.
1156
1157         * sim/ucsim/xa.src:
1158         Karl and Johan start ucsim XA support.  Most dissassembly working,
1159         about 75% emulation done(plenty of work remaining).
1160
1161         * sim/ucsim/z80.src:
1162         Add Z80 support to ucsim, add test-ucz80 regression test,
1163         notice ucsim/z80 emulation fails on examples/test3.c/itoa code.
1164         Notice z80 compiler fails on examples/test3.c/crc code.
1165
1166 2002-01-30  Sandeep Dutta  <sandeep@ddi.com>
1167
1168         * src/mcs51/gen.c, src/mcs51/main.c, src/mcs51/ralloc.c:
1169         Added support for --parms-in-bank1
1170
1171         * src/ds390/peeph.def:
1172         added a few more peephole optimzations
1173
1174         * src/ds390/main.c:
1175         1) added __builtin_inp & __builtin_outp used to read in data of given length
1176            from a memory mapped port
1177         2) added __builtin_memcmp
1178         3) added __builtin_swapw swap bytes of a short
1179
1180         * src/ds390/gen.c, src/ds390/gen.h, src/ds390/ralloc.c:
1181         1) handle multiple send & receives from register bank1
1182         2) ralloc can now allocate DPTR1 to some liveRanges
1183
1184         * src/SDCCsymt.c, src/SDCCsymt.h:
1185         changes to handle multiple sends & receives
1186
1187         * src/SDCCptropt.h:
1188         added some pointer arithmetic optimization
1189
1190         * src/SDCCptropt.c:
1191         added some pointer arithmetic optimizations but not stable yet so not
1192         called from anywhere (will get this working shortly)
1193
1194         * src/SDCCopt.c: fixed for multiple sends & receives
1195
1196         * src/SDCCmain.c:
1197         1) added options --parms-in-bank1 (ds390/mcs51) & --protect-sp-update
1198         2) preprocessing done AFTER port->finalizeoptions . This allows ports to
1199            set preprocessor defines (depending on options)
1200
1201         * src/SDCCicode.c, src/SDCCicode.h:
1202         changes made to handle multiple sends & receives
1203
1204         * src/SDCCglobl.h:
1205         Added options --protect-sp-update (ds390) and --parms-in-bank1 (ds390/mcs51)
1206
1207         * src/SDCCcse.c, src/SDCCcse.h:
1208         added function findbackward def (to be used in upcoming optimization)
1209
1210         * src/SDCCcflow.c, src/SDCCcflow.h:
1211         added function returnAtEnd - to determine if a basic block terminates with
1212         a RETURN iCode
1213
1214         * src/SDCCast.c, src/SDCCast.h:
1215         added option parms-in-bank1
1216
1217         * device/lib/_divsint.c, device/lib/_divslong.c, device/lib/_divuint.c 
1218         * device/lib/_divulong.c, device/lib/_modsint.c, device/lib/_modslong.c 
1219         * device/lib/_modulong.c, device/lib/_mulint.c, device/lib/_mullong.c:
1220         adjusted for --parms-in-bank1 option
1221
1222         * device/include/string.h:
1223         donot redefine "reentrant" keyword
1224
1225         * device/include/ds80c390.h: Added some more SFRs
1226
1227 2002-01-28  Bernhard Held  <bernhard@bernhardheld.de>
1228
1229         * sim/ucsim: Merged branch ucsim-034-pre3 to main trunk; new version 0.4 
1230
1231 2002-01-26  Bernhard Held  <bernhard@bernhardheld.de>
1232
1233         * src/SDCCast.c (funcOfType): fix usage of double --float-reent
1234
1235 2002-01-22  Bernhard Held  <bernhard@bernhardheld.de>
1236
1237         * support/regression/fwk/lib/testfwk.c (main): Removed workaround for bug #505387
1238
1239 2002-01-18  Paul Stoffregen  <paul@pjrc.com>
1240
1241         * Added --xram-movc option
1242
1243 2002-01-13  Bernhard Held  <bernhard@bernhardheld.de>
1244
1245         * support/regression/Makefile: don't include test-mcs51-stack-auto in target all
1246
1247 2002-01-11  Johan Knol
1248
1249         * Added math lib of Jesus Calvino-Fraga
1250
1251 2002-01-08  Bernhard Held  <bernhard@bernhardheld.de>
1252
1253         * src/SDCCmain.c (processFile): fix processing of ../../src.c
1254         * support/regression/Makefile: new target test-mcs51-stack-auto
1255         * support/regression/ports/mcs51-stack-auto/spec.mk: added
1256
1257 2002-01-04  Bernhard Held  <bernhard@bernhardheld.de>
1258
1259         * src/SDCCglue.h: printIvalCharPtr(), not printIvalChar()
1260
1261 2002-01-04  Bernhard Held  <bernhard@bernhardheld.de>
1262
1263         * support/regression/ports/mcs51/support.c: correct setup of timer / UART
1264
1265 2002-01-03  Bernhard Held  <bernhard@bernhardheld.de>
1266
1267         * src/SDCCsymt.c (processFuncArgs): fix #498307 by Johan
1268
1269         * src/SDCCglue.h: add definition for printIvalChar()
1270
1271 2002-01-02  Bernhard Held  <bernhard@bernhardheld.de>
1272
1273         * src/SDCCast.c: fix #498138 by Johan
1274
1275         * src/SDCCglue.c: fix #498138 by Johan
1276
1277 2002-01-02  Bernhard Held  <bernhard@bernhardheld.de>
1278
1279         * support/regression/Makefile: fix clean
1280
1281         * support/regression/ports/ds390/support.c: fix transmission of last character
1282
1283 2001-12-29  Sandeep Dutta  <sandeep@ddi.com>
1284
1285         * /sdcc/src/ds390/gen.c:
1286         a) improved computing address of stack variable
1287         b) took out some #if 0 code
1288         c) improved parmBytes adjustment
1289         d) improved genPlusIncr & genMinusIncr
1290         e) genCmp could generate bad code (when left assigned to DPTR)
1291         f) Fixed bug in hasInc
1292
1293         * /sdcc/src/ds390/ralloc.c:
1294         a) packRegsForSupport could mess up live information (Fixed)
1295         b) packRegsDPTRuse could be incorrect for left & right shift
1296
1297         * /sdcc/src/mcs51/ralloc.c:
1298         packRegsForSupport could mess up the live information (Fixed)
1299
1300         * /sdcc/src/mcs51/gen.c: Fixed a bug in hasInc
1301
1302         * /sdcc/src/SDCCast.c:
1303         can reverse a loop even if function call is present as long
1304         as the loop control variable is local & is not passed as parameter
1305
1306 2001-12-24  Sandeep Dutta  <sandeep@ddi.com>
1307
1308         * /sdcc/ChangeLog: *** empty log message ***
1309
1310         * /sdcc/src/ds390/gen.c, /sdcc/src/ds390/main.c:
1311         More builtin function additions for TININative
1312
1313         * /sdcc/src/ds390/ralloc.c:
1314         Had broken the regression testsuite
1315
1316         * /sdcc/src/SDCCast.c: Fixed a bug in dumptree
1317
1318         * /sdcc/src/SDCCsymt.c, /sdcc/src/SDCCsymt.h:
1319         Added funcattr hasStackParms will be set for reentrant functions when there
1320         are paramteres on the stack, this helps in minimizing frame pointer generation
1321         typeFromStr can handle function pointers now
1322
1323         * /sdcc/doc/builtins.txt, /sdcc/doc/TININative.txt:
1324         *** empty log message ***
1325
1326 2001-12-24  Sandeep Dutta  <sandeep@ddi.com>
1327
1328         * /src/ds390/gen.c, /src/ds390/main.c:
1329         More builtin function additions for TININative
1330
1331         * /src/ds390/ralloc.c:
1332         Had broken the regression testsuite
1333
1334         * /src/SDCCast.c: Fixed a bug in dumptree
1335
1336         * /src/SDCCsymt.c, /src/SDCCsymt.h:
1337         Added funcattr hasStackParms will be set for reentrant functions when there
1338         are paramteres on the stack, this helps in minimizing frame pointer generation
1339         typeFromStr can handle function pointers now
1340
1341         * /doc/builtins.txt, /doc/TININative.txt:
1342         *** empty log message ***
1343
1344
1345 2001-12-24  Sandeep Dutta  <sandeep@ddi.com>
1346
1347         * /src/ds390/gen.c, /src/ds390/main.c, /src/ds390/peeph.def, /src/ds390/ralloc.c:
1348         ALPHA version for -mTININative
1349
1350         * /src/izt/i186.c, /src/izt/tlcs900h.c, /src/mcs51/main.c, /src/pic/main.c, /src/z80/main.c, /src/avr/main.c:
1351         updated to reflect changes in the port structure
1352
1353         * /src/port.h:
1354         added function do_assemble (similar to do_link) if non-null this function
1355         will be called to do assembly (-mTININative) requires a multi command
1356         assembly
1357         added function genAssemblerEnd will be called to generate assembler Epilogue
1358
1359         * /src/SDCCsymt.c:
1360         added _JavaNative to debug info printing
1361
1362         * /src/SDCCmain.c: added option --tini-libid
1363         added port->do_assemble function (-mTININative) has a multi command assemble
1364
1365         * /src/SDCCglue.c: Disabled "constExpr" check
1366         added port->genAssemblerEnd function
1367
1368         * /src/SDCCglobl.h: Added option --tini-libid value
1369
1370         * /src/SDCCast.h:
1371         tookout optimizeCompare from the header (has no external references)
1372
1373         * /src/SDCCast.c: made one more function "static"
1374
1375 2001-12-23  Michael Hope  <michaelh@juju.net.nz>
1376
1377         * src/z80/mappings.i: Added z80asm support.
1378
1379         * src/z80/main.c: Added z80asm support on --asm=z80asm
1380
1381         * src/z80/gen.c: Fixed asm portability issues.
1382
1383         * src/asm.c (tvsprintf): Removed old code, added 'N' for function name.  For extern support.
1384
1385         * src/SDCCglue.c (printExterns): Added global/extern split.
1386
1387 2001-12-17  Bernhard Held  <bernhard@bernhardheld.de>
1388
1389         * support/regression/Makefile: added test for mcs51 model large
1390
1391         * support/regression/ports/mcs51-large/spec.mk: added test for mcs51 model large
1392
1393         * support/regression/ports/gbz80/spec.mk: added -mgbz80
1394
1395 2001-12-05  Michael Hope  <michaelh@juju.net.nz>
1396
1397         * src/diff.1 (Index): Many, many optmisiations.  Dhrystone up to 201.
1398
1399 1904-01-06  Michael Hope  <michaelh@juju.net.nz>
1400
1401         * src/z80/ralloc.c (packRegsForIYUse): Fixed the case where an operand is in direct space.
1402
1403         * src/z80/gen.c (makeFreePairId): Optimised IY load by using a spare pair.
1404
1405 2001-12-02  Bernhard Held  <bernhard@bernhardheld.de>
1406
1407         * src/mcs51/gen.c (genFunction): avoid excess "inc sp"
1408
1409         * support/regression/tests/simplefloat.c: Port to mcs51.
1410
1411 2001-11-25  Michael Hope  <michaelh@juju.net.nz>
1412         * support/regression/tests/bug-485362.c: Added.
1413
1414         * support/regression/tests/simplefloat.c (testDivNearOne): Added.
1415
1416         * src/z80/gen.c (aopOp): Fixed case where left and result are in the same spill loc and they have different sizes.
1417
1418         * src/z80/peeph.def: Added rules for optimising two byte compares on the same thing, and to optimise two ptr assign.
1419
1420         * src/z80/gen.c (aopDump): Added a dump function.
1421
1422 2001-11-25  Bernhard Held  <bernhard@bernhardheld.de>
1423         * sim/ucsim/s51.src/glob.cc: DS390 SFRs and bits added.
1424
1425         * sim/ucsim/s51.src/port.cc: Port 4 and 5 added.
1426
1427         * sim/ucsim/s51.src/regs51.h: DS390 SFRs added.
1428
1429         * sim/ucsim/s51.src/uc390.cc: Some details improved, CKRDY works for tinibios.
1430
1431         * sim/ucsim/s51.src/uc390cl.h: Work in progress.
1432
1433         * sim/ucsim/sim.src/uccl.h: 6 ports for DS390.
1434
1435         * support/regression/fwk/lib/testfwk.c: Run with tinibios.
1436
1437         * support/regression/ports/mcs51/spec.mk: Fine tuninig.
1438
1439         * support/regression/ports/ds390/support.c: Use tinibios.
1440
1441         * support/regression/ports/ds390/spec.mk: Fine tuning, use tinibios.
1442
1443 2001-11-23  Michael Hope  <michaelh@juju.net.nz>support/regression/tests/bug-460010.c
1444
1445         * src/z80/ralloc.c (packRegsForHLUse3): Changed to not pack into HL if anything is in direct space.
1446         (packRegsForHLUse3): Added packing support for send, cast, and return value from a call.
1447
1448         * src/z80/peeph.def: Added rules for optimising pushes of part of a pair.
1449
1450         * src/z80/gen.c (emitCall): Changed the stack fixup to not use HL.
1451
1452 2001-11-18  Michael Hope  <michaelh@juju.net.nz>
1453
1454         * src/z80/gen.c (genCmp): Fixed compare on unsigned.
1455
1456         * src/z80/ralloc.c (packRegsForHLUse3): Created and optimised.
1457         (packRegsForIYUse): Created and optimised.
1458
1459 2001-11-07  Michael Hope  <michaelh@juju.net.nz>
1460
1461         * support/regression/tests/float.c (testFloatAdd): Fixed up warning.
1462 2001-11-18  Bernhard Held  <bernhard@bernhardheld.de>
1463
1464         * sdcc/support/regression/tests/bug-460010.c: fix seg violation on host
1465
1466         * sdcc/support/regression/tests/muldiv.c: fix output on mcs51
1467
1468         * sdcc/support/regression/tests/stacks.c: fix DSEG overflow on mcs51
1469
1470 2001-11-07  Bernhard Held  <bernhard@bernhardheld.de>
1471
1472         * sdcc/sim/device/lib/_gptrget.c: mem region 5 (idata) added
1473
1474         * sdcc/sim/device/lib/_gptrput.c: mem region 5 (idata) added
1475
1476 2001-11-07  Bernhard Held  <bernhard@bernhardheld.de>
1477
1478         * sdcc/sim/ucsim/globals.cc: New: IXRAM.
1479
1480         * sdcc/sim/ucsim/stypes.h: New: IXRAM.
1481
1482         * sdcc/sim/ucsim/s51.src/uc390.cc: New: IXRAM.
1483
1484 2001-11-07  Michael Hope  <michaelh@juju.net.nz>
1485
1486         * src/z80/ralloc.c (packRegsForHLUse): Banned IFXs from being packed into HL.
1487         (packRegsForHLUse): Added rule to pack address of/pointer get for itemps into HL for the Z80.
1488         (packRegsForAccUse2): Added rule to pack hbit IFXs into A.
1489
1490         * src/z80/main.c (_setDefaultOptions): Made float code re-entrant by default.
1491
1492         * src/z80/gen.c (aopGetLitWordLong): Added word support for floats.
1493         (genNotFloat): Added.
1494         (genUminusFloat): Added.
1495
1496         * device/lib/z80/Makefile: Added floating pt stubs.
1497
1498         * device/lib/Makefile.in (Z80SOURCES): Added floating pt support.
1499
1500         * src/z80/gen.c (genIpush): Fixed up a push of one byte when left is in a pair.
1501
1502         * device/lib/_fsadd.c (__fsadd): Fixed up return where the numbers are hugely different.
1503
1504 2001-11-07  Bernhard Held  <bernhard@bernhardheld.de>
1505
1506         * sdcc/sim/ucsim/s51.src/glob.cc: Minor fix.
1507
1508         * sdcc/sim/ucsim/s51.src/regs51.h: Minor fix.
1509
1510         * sdcc/support/regression/Makefile: Add port ds390.
1511
1512         * sdcc/support/regression/ports/mcs51/spec.mk: Minor change.
1513
1514         * sdcc/support/regression/ports/z80/spec.mk: Minor change.
1515
1516         * sdcc/support/regression/ports/ds390/spec.mk: Added.
1517
1518         * sdcc/support/regression/ports/ds390/support.c: Added.
1519
1520         * sdcc/support/regression/ports/ds390/uCsim.cmd: Added.
1521
1522         * sdcc/support/regression/ports/mcs51/timeout.c: Cut.
1523
1524         * sdcc/support/regression/fwk/lib/timeout.c: Paste.
1525
1526 2001-11-04  Michael Hope  <michaelh@juju.net.nz>
1527
1528         * device/include/malloc.h: Added z80 and gbz80 support.
1529
1530         * device/lib/gbz80/heap.s: Added.
1531
1532         * device/lib/z80/heap.s: Added.
1533
1534         * device/lib/malloc.c: Added z80 and gbz80 support.
1535
1536         * support/regression/tests/malloc.c (testMalloc): Added.
1537
1538         * src/SDCCmain.c (parseCmdLine): Added support for -Wp.
1539
1540         * support/regression/tests/bug-478094.c: Added.
1541
1542         * src/z80/gen.c (commitPair): Fixed silly gbz80/z80 commit to static bug.
1543
1544 2001-11-04  Bernhard Held  <bernhard@bernhardheld.de>
1545
1546         * sdcc/sim/ucsim/s51.src/uc390cl.h: Improvement for ds390 to run regression tests
1547
1548         * sdcc/sim/ucsim/s51.src/uc390.h: Improvement for ds390 to run regression tests
1549
1550         * sdcc/sim/ucsim/s51.src/regs51.h: Improvement for ds390 to run regression tests
1551
1552         * sdcc/sim/ucsim/s51.src/glob.cc: Improvement for ds390 to run regression tests
1553
1554         * sdcc/support/regression/tests/bug-460010.c: Small change for ds390
1555
1556 2001-11-04  Michael Hope  <michaelh@juju.net.nz>
1557
1558         * src/z80/peeph-gbz80.def: Removed a bad sub optimisation.
1559
1560 2001-11-03  Michael Hope  <michaelh@juju.net.nz>
1561
1562         * support/regression/tests/bug-477927.c: Added.
1563
1564         * src/z80/peeph.def: Added minor rules.
1565
1566         * src/z80/gen.c (genPlusIncr): Added an extra plusinc rule.
1567
1568         * src/z80/peeph.def: Added jump optimisation modification.
1569
1570 2001-11-01  Michael Hope  <michaelh@juju.net.nz>
1571
1572         * src/SDCCmain.c (linkEdit): Added runtime path detection to the mcs51 port.
1573
1574 2001-10-30  Michael Hope  <michaelh@juju.net.nz>
1575
1576         * support/regression/tests/funptrs.c: Added.
1577
1578 2001-10-29  Michael Hope  <michaelh@juju.net.nz>
1579
1580         * src/z80/ralloc.c (packRegsForHLUse): Fixed up bad spill due to pushing one byte via HL.
1581
1582 2001-10-28  Michael Hope  <michaelh@juju.net.nz>
1583
1584         * src/z80/gen.c (genArrayInit): Made it work for on stack arrays.
1585
1586         * src/z80/main.c (gbz80_port =): Added rle support to the gbz80 port.
1587
1588         * src/z80/gen.c (genMinus): Fixed for where the result is one byte.
1589         (movLeft2ResultLong): Created.
1590
1591         * src/z80/ralloc.c (packRegsForHLUse): Added a couple of simple cases for the GB.
1592         (joinPushes): Added.  Joins two char pushes into a word push.
1593
1594 2001-10-27  Michael Hope  <michaelh@juju.net.nz>
1595
1596         * support/cpp2/Makefile.in (install): Added creation of dest dir.
1597
1598         * support/makebin/Makefile (install): Added creation of dest dir.
1599
1600 2001-10-24 Karl Bongers <karl@turbobit.com>
1601
1602         * configure.in, configure, Makefile, support/cpp: Removed cpp folder, since we have new cpp2 preprocessor code.
1603
1604 2001-10-21  Michael Hope  <michaelh@juju.net.nz>
1605
1606         * src/z80/ralloc.c: Turned off faulty pack for one use.
1607
1608         * src/z80/peeph-gbz80.def: Removed redundent restart options.
1609
1610         * src/z80/gen.c (genMult): Added native mul for constants on the z80 and gbz80.
1611
1612 2001-10-21  Bernhard Held  <bernhard@bernhardheld.de>
1613
1614         * support/regression/Makefile: Improved clean
1615
1616         * support/regression/ports/gbz80/spec.mk: Added clean
1617
1618         * support/regression/ports/host/spec.mk: Added clean
1619
1620         * support/regression/ports/z80/spec.mk: Added clean
1621
1622         * support/regression/ports/mcs51/spec.mk: Added clean, little improvements
1623
1624         * support/regression/ports/mcs51/timeout.c: little improvements
1625
1626 2001-10-17  Michael Hope  <michaelh@juju.net.nz>
1627
1628         * device/lib/malloc.c (MEMHEADER): Fixed against new pedantic pointers.
1629
1630         * support/regression/fwk/include/testfwk.h: Fixed up to use function pts correctly.
1631
1632         * support/regression/generate-cases.py: Fixed up to use function pts correctly.
1633
1634 2001-10-16  Bernhard Held  <bernhard@bernhardheld.de>
1635
1636         * support/regression/port/mcs51/spec.mk: add timeout for uCsim
1637
1638         * support/regression/port/mcs51/timeout.c: add timeout for uCsim
1639
1640 2001-10-13  Michael Hope  <michaelh@juju.net.nz>
1641         * src/z80/gen.c (emitCall): Fixed up missing spill of HL when used to assign the result value.
1642
1643         * src/z80/ralloc.c: Turned off pack for one use as it's quite broken.
1644
1645         * src/SDCCmain.c (linkEdit): Added support for passing a legacy command line through the processor.
1646
1647         * src/mcs51/main.c (_linkCmd): Added bin path to command.
1648
1649         * src/SDCCmain.c (initValues): Added support for when it it called just to link.
1650
1651         * as/mcs51/lklibr.c (libfil;): Turned off 'library file' message.
1652
1653         * src/SDCCval.c (constVal): Fixed usage of 'L' modifier problems on ppc.
1654
1655         * support/regression/tests/longor.c: Added.
1656
1657 2001-10-11  Bernhard Held  <bernhard@bernhardheld.de>
1658
1659         * as/mcs51/asdata.c: replaced FILENAME_MAX with PATH_MAX
1660
1661         * as/mcs51/aslink.h: define PATH_MAX
1662
1663         * as/mcs51/asm.h: define PATH_MAX
1664
1665         * as/mcs51/asmain.c: replaced FILENAME_MAX with PATH_MAX
1666
1667         * as/mcs51/asnoice.c: replaced FILENAME_MAX with PATH_MAX
1668
1669         * as/mcs51/lklex.c: replaced FILENAME_MAX with PATH_MAX
1670
1671         * as/mcs51/lkmain.c: replaced FILENAME_MAX with PATH_MAX
1672
1673         * src/SDCCglobl.h: define PATH_MAX
1674
1675         * src/SDCCmacro.c: replaced FILENAME_MAX with PATH_MAX
1676
1677         * src/SDCCmain.c: replaced FILENAME_MAX with PATH_MAX
1678
1679 2001-10-11  Michael Hope  <michaelh@juju.net.nz>
1680
1681         * src/z80/gen.c (gencjneshort): Fixed
1682
1683         * src/z80/ralloc.c (packRegsForHLUse): Added pack into HL for cast then ipush.
1684
1685 2001-10-09  Michael Hope  <michaelh@juju.net.nz>
1686
1687         * support/regression/tests/bug-469671.c: Added.
1688
1689         * src/z80/gen.c (shiftIntoPair): Fixed up warning.
1690
1691 2001-10-08  Michael Hope  <michaelh@juju.net.nz>
1692
1693         * src/SDCCmain.c: Added --fommit-frame-pointer option and implemented in the z80 port.
1694
1695         * src/z80/gen.c (genPlus): Fixed to work with extended stack.  Also fixed genMinus, genCmp.  genUMinus is still left.
1696
1697 2001-10-08  Bernhar Held  <bernhard@bernhardheld.de>
1698
1699         * src/SDCCmain.c (preProcess): added define SDCC_NOOVERLAY
1700
1701         * src/device/lib/_mulint.c  : removed hint: nooverlay bug
1702
1703         * src/device/lib/_mullong.c : removed hint: nooverlay bug
1704
1705         * src/device/lib/_divuint.c : removed hint: nooverlay bug
1706
1707         * src/device/lib/_divulong.c: removed hint: nooverlay bug
1708
1709         * src/device/lib/_moduint.c : removed hint: nooverlay bug
1710
1711         * src/device/lib/_modulong.c: removed hint: nooverlay bug
1712
1713 2001-10-07  Michael Hope  <michaelh@juju.net.nz>
1714
1715         * 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.
1716
1717         * support/Util/NewAlloc.c (freeTrace): Changed free for the gc case to not free at all.  Fixes runtime segfault.
1718
1719         * support/regression/tests/scott-compare3.c (c_abcd): Fixed up casts.
1720
1721 2001-10-07    <johan@FRIJA>
1722
1723         * device/lib/gets.c (gets): fixed the return value.
1724
1725 2001-10-06  Michael Hope  <michaelh@juju.net.nz>
1726         * src/SDCCmain.c (WRITE_SEG_LOC): Fixed up to use Safe_strdup.
1727
1728         * 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.
1729
1730         * 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.
1731
1732         * src/z80/gen.c (genZ80Code): Added de-allocation via trace support.
1733
1734         * src/pic/gen.c: Removed Safe_strdup.
1735
1736         * configure.in: Added option to enable libgc support.
1737
1738         * src/SDCCbitv.c (bitVectnBitsOn): Optimised.
1739         (bitVectUnion): Optimised.
1740         (bitVectIntersect): Optimised.
1741         (bitVectBitsInCommon): Optimised.
1742         (bitVectCplAnd): Optimised.
1743
1744         * support/makebin/makebin.c (usage): Removed getopt as mingw32 doesn't have it.  Sigh.
1745
1746 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
1747
1748         * src/SDCCmain.c: distinguish between assembler debug and plain options
1749
1750         * src/avr/main.c:   remove standard assembler options
1751
1752         * src/ds390/main.c: remove standard assembler options
1753
1754         * src/mcs51/main.c: remove standard assembler options
1755
1756         * src/port.h: removed "PENDING" comment
1757
1758 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
1759
1760         * src/device/lib/_mulint.c  : new, with assember functions
1761
1762         * src/device/lib/_mullong.c : new, with assember functions
1763
1764         * src/device/lib/_divuint.c : with assember functions
1765
1766         * src/device/lib/_divsint.c : with assember functions
1767
1768         * src/device/lib/_divulong.c: with assember functions
1769
1770         * src/device/lib/_divslong.c: with assember functions
1771
1772         * src/device/lib/_moduint.c : with assember functions
1773
1774         * src/device/lib/_modsint.c : with assember functions
1775
1776         * src/device/lib/_modulong.c: with assember functions
1777
1778         * src/device/lib/_modslong.c: with assember functions
1779
1780         * src/device/lib/libint.lib:  replaced _muluint.c  and _mulsint.c  by _mulint.c
1781
1782         * src/device/lib/liblong.lib: replaced _mululong.c and _mulslong.c by _mullong.c
1783
1784         * src/device/lib/Makefile.in: replaced _muluint.c  and _mulsint.c  by _mulint.c
1785                                       replaced _mululong.c and _mulslong.c by _mullong.c
1786
1787 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
1788
1789         * src/SDCCsymt.c: sequence of specifiers in pintTypeChain() corrected
1790
1791 2001-10-01 Bernhard Held <bernhard@bernhardheld.de>
1792
1793         * src/SDCCglue.c: test, if win32api is available for MINGW
1794
1795 2001-10-01 Bernhard Held <bernhard@bernhardheld.de>
1796
1797         * src/SDCCsymt.c: no more _modifier in printTypeChain()
1798         * support/regression/tests/driverstruct.c: REENTRANT for mcs51
1799         * support/regression/ports/gbz80/spec.mk: removed GENERIC
1800         * support/regression/ports/host/spec.mk: removed GENERIC
1801         * support/regression/ports/mcs51/spec.mk: removed GENERIC
1802         * support/regression/ports/z80/spec.mk: removed GENERIC
1803
1804 2001-10-01  Michael Hope  <michaelh@juju.net.nz>
1805
1806         * support/regression/fwk/lib/testfwk.c (__printf): Removed GENERIC.
1807
1808         * support/regression/tests/bug-467035.c: Created.
1809
1810 2001-10-01    <johan@FRIJA>
1811
1812         * src/SDCC.y: fixed bug #466586 part 1
1813
1814 2001-10-01  Johan Knol <johan.knol@iduna.nl>
1815
1816         * SDCCicode.c: z80 has no generic pointers
1817         * removed -s from strip in all Makefile(.in)'s. It is not needed, but Solaris chocks on it.
1818         
1819 2001-09-30  Michael Hope  <michaelh@juju.net.nz>
1820
1821         * sim/ucsim/cmd.src/Makefile.in ($(PRJDIR)/libcmd.a): Changed all ar references to $(AR) for Solaris.
1822
1823 2001-09-29  Michael Hope  <michaelh@juju.net.nz>
1824
1825         * Makefile (sdcc-libs): Added makebin to the list of standard targets.
1826
1827         * support/regression/ports/z80/spec.mk: Updated to use env for sdcc bin dir for automatic regression.
1828
1829 2001-09-25  Michael Hope  <michaelh@juju.net.nz>
1830
1831         * configure.in: Fixed up so that ucsim is only configured once.
1832
1833         * support/cpp2/configure.in: Fixed to use the program transform to append the .exe for the win32 build.
1834
1835         * src/SDCCutil.c (getPrefixFromBinPath): Fixed up to work with win32 in all of its glory.
1836         (getPathDifference): As above.
1837
1838         * src/SDCCmain.c (preProcess): Changed to use a temporary file in a proper temp directory.  Fixed case where pre-processing only.
1839
1840         * src/SDCCglue.c (tempfilename): Added function for pre-processor.
1841
1842 2001-09-23  Michael Hope  <michaelh@juju.net.nz>
1843         * .version: Updated to 2.3.1
1844
1845         * src/z80/main.c (z80_port =): Added macro based linker and assembler command line support.
1846         Added copyright header.
1847
1848         * src/SDCCmain.c: Shifted various functions into SDCCutil.c
1849         (assemble): Added support for macro based assembler commands.
1850         (linkEdit): Added support for macro based linker commands.
1851         (preProcess): Changed the pre-processor to use macros.
1852         (_setPaths): Added functionality to autodetect the include, lib and bin dir paths.
1853         (_discoverPaths): Added support for overriding the install directory using the SDCCDIR env variable.
1854
1855         * device/lib/z80/crt0.s: Added module name for debugging.
1856
1857 2001-09-20  Michael Hope  <michaelh@juju.net.nz>
1858
1859         * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
1860
1861         * src/SDCChasht.c (hTabDeleteByKey): Fixed delete as it would delete the last item from a bucket even if it wasn't the real one.
1862
1863         * src/SDCCglue.c: Moved gc_strdup to SDCCutil.c
1864
1865         * src/Makefile.in: Added SDCCmacro and SDCCutil
1866
1867 2001-09-19  Michael Hope  <michaelh@juju.net.nz>
1868
1869         * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
1870
1871 2001-09-16    <johan@FRIJA>
1872
1873         * 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.
1874
1875 2001-09-15    <johan@FRIJA>
1876
1877         * src/mcs51/ralloc.c: (findAssignToSym): fixed bug #460662 part 1
1878         * src/ds390/ralloc.c (findAssignToSym): fixed bug #460662 part 1
1879
1880 2001-09-11    <johan@FRIJA>
1881
1882         * src/SDCCval.c (valDiv Mod Minus Plus Shift): keep litteral expressions as small as possible (bug #460010)
1883
1884 2001-09-10  Michael Hope  <michaelh@juju.net.nz>
1885
1886         * support/regression/tests/bug-460444.c: Added test case.
1887
1888         * src/z80/gen.c (genOr): bug 460444: if (a ^ lit) was broken for &, |, and ^.
1889         (genCast): Added justification for all of the asserts.
1890
1891 2001-09-10  Bernhard Held <bernhard@bernhardheld.de>
1892
1893         * support/regression/support.c: _xdata replaced by xdata
1894
1895         * support/regression/spec.mk: removed _generic
1896
1897 2001-09-09  Michael Hope  <michaelh@juju.net.nz>
1898
1899         * src/pic/ralloc.c (debugLogRegType): Removed some old types to get it to compile.
1900
1901         * src/z80/gen.c (shiftR2Left2Result): Improved the case when v = v >> n for small values of n to use less code space and time.
1902         (genrshTwo): Fixed v = v >> n where v is a negative int and n is > 8: bug 460010.
1903
1904         * src/z80/peeph.def: Added a rule to optimise shift then compare.
1905
1906         * support/regression/tests/bug-460000.c (testShiftByParam): Added test case.
1907
1908         * support/regression/tests/bug-460010.c: Added test case.
1909
1910         * support/regression/Makefile (test-host): Removed a silly 'clean' target when testing against gcc.
1911
1912 2001-09-09  Bernhard Held <bernhard@bernhardheld.de>
1913
1914         * support/regression/Makefile: inter-port-clean adjusted for mcs51
1915
1916         * support/regression/testfwk.c: removed workaround for bug #436344
1917
1918         * support/regression/tests/bp.c: use less memory with mcs51
1919
1920         * support/regression/tests/bug-441448.c: use less memory
1921
1922         * support/regression/tests/ports/mcs51/spec.mk: cleanup, use --stack-after-data
1923
1924         * support/regression/collate-results.py: typo
1925
1926 2001-09-08  Michael Hope  <michaelh@juju.net.nz>
1927
1928         * support/regression/tests/fetchoverlap.c: Added new test case.
1929
1930         * support/regression/tests/bp.c: Added new test case.
1931
1932         * support/regression/tests/bug-448984.c: Added new test case.
1933
1934         * support/regression/tests/pow2shifts.c: Added new test case.
1935
1936         * src/z80/gen.c: Turned off the noise it normally generates for the release.
1937         (genlshTwo): Fixed right shift for count > 8.
1938
1939         * src/z80/ralloc.c: Disabled most of the ACC packing rules as they weren't getting hit and weren't at all safe.
1940
1941 2001-09-08    <johan@FRIJA>
1942
1943         * src/SDCCicode.c (geniCodeCall): a CPOINTER can be used as a function
1944
1945 2001-09-07    <johan@FRIJA>
1946
1947         * src/SDCCicode.c (newiCodeCondition): fixed bug #456235 (1.77)
1948
1949         * src/SDCCglue.c (emitRegularMap): only delete a symbol when it is a symbol
1950
1951 2001-09-06    <johan@FRIJA>
1952
1953         * src/SDCC.y: this could be a fix for bug #458744 (1.37)
1954         * bernhard noted me at this: "() equals to (void)" (1.38)
1955
1956 2001-09-05    <johan@FRIJA>
1957
1958         * src/SDCCglue.c (emitRegularMap): a fix for bug #458099/2
1959
1960 2001-09-04    <johan@FRIJA>
1961
1962         * src/SDCCsymt.c (checkSClass): a fix for bug #458099/1
1963
1964
1965 2001-09-04  Paul Stoffregen  <paul@pjrc.com>
1966
1967         * pragma noinduction broke memcpy on mcs51 large model.  Moved it inside z80 optimization
1968
1969 2001-09-03  Michael Hope  <michaelh@juju.net.nz>
1970
1971         * link/z80/aslink.h: Fixed path for PATH_MAX
1972
1973 2001-09-02  Michael Hope  <michaelh@juju.net.nz>
1974
1975         * src/z80/gen.c (fetchLitPair): Changed so that it properly caches direct space references.
1976
1977         * support/regression/tests/addsub.c: Added cases to cover all the +, - combinations.
1978
1979         * support/regression/tests/uminus.c: Added a test for the unary minus operator.
1980
1981         * 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.
1982
1983 2001-09-01  Michael Hope  <michaelh@juju.net.nz>
1984
1985         * src/z80/gen.c: Fixed up generator to pass the regresion tests, specifically fixing loads for longs, genCmp, and turned on the map file.
1986         (genCmp): Fixed up genCmp for the GB with longs.
1987
1988         * device/lib/gbz80/Makefile: Fixed up all the libraries to pass the regression tests.
1989
1990         * support/regression/ports/host/spec.mk: Updated to compile with the new type specifiers.
1991
1992         * device/lib/Makefile.in (Z80SOURCES): Removed old _mululong, _mulslong, and unneeded _mulint.
1993
1994         * device/lib/_mullong.c (_mulslong): Changed to actually return a value :)
1995
1996 2001-08-30  Paul Stoffregen  <paul@pjrc.com>
1997
1998         * added peepholes 223 to 231 to mcs51 port.  These improve code when using large model.
1999
2000 2001-08-30  Michael Hope  <michaelh@juju.net.nz>
2001
2002         * 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.
2003
2004         * src/z80/gen.c (genPlus): Changed bad long add for gb to a fall through.
2005
2006 2001-08-29  Michael Hope  <michaelh@juju.net.nz>
2007
2008         * link/z80/aslink.h: Fixed long file name support.  Is now based off PATH_MAX instead of a constant.
2009
2010         * src/z80/gen.c: Fixed add and sub for the case where left or right are in static space.
2011
2012 2001-08-30 Bernhard Held   <bernhard@bernhardheld.de>
2013
2014   * sim/ucsim/configure:    little improvement of Cygwin-detection      
2015   * sim/ucsim/configure.in: little improvement of Cygwin-detection      
2016   * sim/ucsim/cmd.src/newcmdcl.h: include <sys/types.h> to define fd_set automated build
2017   * support/regression/tests/bug-221100.c: small changes for mcs51
2018   * support/regression/tests/bug-221168.c: small changes for mcs51
2019   * support/regression/tests/bug-227710.c: small changes for mcs51
2020   * support/regression/tests/staticinit.c: small changes for mcs51
2021   * as/mcs51/aslink.h: accept everything as symbol name in rel-files, bug fix ID 452601
2022   * as/mcs51/lklex.c:  accept everything as symbol name in rel-files, bug fix ID 452601
2023   * as/mcs51/lksym.c:  accept everything as symbol name in rel-files, bug fix ID 452601