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