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