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