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