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