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