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