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