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