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