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