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