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