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