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