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