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