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