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