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