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