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