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