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