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