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