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