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