src/mcs51/main.c: started fixing bug #737001 (SDCC not clearing uninitialized variabl...
[fw/sdcc] / ChangeLog
1 2003-11-13 Frieder Ferlemann <Frieder.Ferlemann@web.de>
2
3         * src/mcs51/main.c: started fixing bug #737001 (SDCC not clearing
4         uninitialized variables) for the mcs51. Set environment variable 
5         SDCC_GENRAMCLEAR to test. 
6         xdata initialization slightly shorter
7
8 2003-11-12 Erik Petrich <epetrich@ivorytower.norman.ok.us>
9
10         * src/SDCCsymt.h,
11         * src/SDCCsymt.c (addSymTypeChain, compareTypesExact): fixed bugs
12         #838241 & 780691 (basicly the same bug)
13         * src/SDCCBBlock.c (iCode2eBBlock): fixed bug #840148
14         * src/SDCCBBlock.c (iCodeFromeBBlock): fixed bug #840162
15
16 2003-11-11 Bernhard Held <bernhard@bernhardheld.de>
17
18         * src/SDCCmain.c (linkEdit): "fix" #834252
19
20 2003-11-11 Erik Petrich <epetrich@ivorytower.norman.ok.us>
21
22         * src/SDCCast.c (removePostIncDecOps, removePreIncDecOps),
23         * src/SDCCast.h,
24         * src/SDCC.y: fixed bug #819403
25
26 2003-11-08 Erik Petrich <epetrich@ivorytower.norman.ok.us>
27
28         * support/regression/fwk/lib/testfwk.c: printn is recursive and thus needs
29         the reentrant attribute.
30         * src/hc08/gen.c (genPackBits): added missing stack readjustment
31         * sim/ucsim/hc08.src/inst.cc (inst_mov): fixed bugs with mov instruction
32         simulation
33         * src/SDCCast.c (decorateType): fixed bug with storage class not being
34         updated during pointer dereference; f.e. ~(((char *)1)*) was being
35         erroneously reduced to a literal.
36         * src/hc08/ralloc.c (packRegisters, rematStr),
37         * src/hc08/gen.c (aopForRemat): allow literals to be rematerialized in
38         some cases
39
40 2003-11-08 Frieder Ferlemann <Frieder.Ferlemann@web.de>
41
42         * src/mcs51/main.c: fixed bug #838385. Thanks to Josef Pavlik for finding and fixing
43         * doc/sdccman.lyx: changed from 'article' to 'book'
44         * doc/Makefile: readded test_suite_spec and cdbfileformat
45
46 2003-11-08 Bernhard Held <bernhard@bernhardheld.de>
47
48         * device/include/stdlib.h: include malloc.h to comply with ANSI
49         * support/regression/tests/malloc.c: include stdlib.h instead of malloc.h
50
51 2003-11-07 Frieder Ferlemann <Frieder.Ferlemann@web.de>
52
53         * doc/Makefile: sdccman.pdf should build with correct references (more info in commit msg)
54         * doc/clean.mk: also remove *.out files
55         * doc/sdccman.lyx: some additions, larger top/bottom margins
56
57 2003-11-07 Erik Petrich <epetrich@ivorytower.norman.ok.us>
58
59         * src/SDCC.y: fixed bug #837365
60         * support/regression/tests/bitopcse.c
61         * src/hc08/gen.c (genPointerGet): Don't assume pointer operand is
62         a symbol (might be valop instead)
63         * device/lib/Makefile.in: added errno.c to HC08SOURCES
64         * device/lib/clean.mk: added hc08 to the cleaning list
65
66 2003-11-04  Borut Razem <borut.razem@siol.net>
67
68         * configure, configure.in, sdcc_vc_in.h, sdcconf_in.h: reverted changes,
69           made 2003-11-04
70         * support/Util/NewAlloc.c, as/hc08/lklibr.c, as/mcs51/lklibr.c,
71           as/z80/aslist.c, as/z80/assym.c: removed inclusion of nonstandard malloc.h;
72           malloc is declared in standard stdlib.h
73
74 2003-11-06 Erik Petrich <epetrich@ivorytower.norman.ok.us>
75
76         * device/lib/hc08/Makefile: need to clean .rel not .o files
77         * src/hc08/gen.c (genDjnz): can't use djnz with extended addressing mode
78
79 2003-11-06 Erik Petrich <epetrich@ivorytower.norman.ok.us>
80
81         * src/port.h,
82         * src/hc08/main.c,
83         * src/mcs51/main.c,
84         * src/ds390/main.c,
85         * src/z80/main.c,
86         * src/avr/main.c,
87         * src/pic/main.c,
88         * src/pic16/main.c,
89         * src/xa51/main.c: added hasExtBitOp & oclsExpense functions to ports
90         * src/SDCCicode.c: changed several IS_FARSPACE tests to isOclsExpensive
91         tests (which uses the port's oclsExpense function)
92         * src/SDCC.y,
93         * src/SDCCast.c,
94         * src/SDCCicode.c,
95         * src/hc08/gen.c,
96         * src/ds390/gen.c,
97         * src/mcs51/gen.c: added support for the SWAP iCode (RFE #834167)
98
99 2003-11-04 Erik Petrich <epetrich@ivorytower.norman.ok.us>
100
101         * src/SDCCcse.c (ifxOptimize),
102         * src/SDCClabel.c (labelIfx, deleteIfx): When the condition to
103         an IFX iCode is volatile, convert to DUMMY_READ_VOLATILE instead
104         deleting the IFX iCode.
105         * src/hc08/ralloc.c: reduced unneeded slocs
106         * src/hc08/gen.c: fixed bug in asmopToBoolean
107
108 2003-11-04  Borut Razem <borut.razem@siol.net>
109
110         * configure, configure.in, sdcc_vc_in.h, sdcconf_in.h,
111           support/Util/NewAlloc.c, as/hc08/lklibr.c, as/mcs51/lklibr.c,
112           as/z80/aslist.c, as/z80/assym.c: decision to include malloc.h
113           transferred to configure
114
115 2003-11-03 Bernhard Held <bernhard@bernhardheld.de>
116
117         Use headers defined in the C[++] standards:
118         * sim/ucsim/gui.src/serio.src/fileio.cc
119         * sim/ucsim/gui.src/serio.src/frontend.cc
120         * sim/ucsim/gui.src/serio.src/main.cc
121         * sim/ucsim/gui.src/serio.src/posix_signal.cc
122         * support/Util/NewAlloc.c
123         * as/hc08/lklibr.c
124         * as/mcs51/lklibr.c
125         * as/z80/aslist.c
126         * as/z80/assym.c
127
128 2003-11-03  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
129
130         * Added MSVC projects for hc08 assembler and linker:
131         all.dsp, config.dsp, sdcc.dsw, /as/hc08/as_hc08.dsp,
132         /as/hc08/link_hc08.dsp
133
134 2003-11-03 Martin Helmling <Martin.Helmling@octo-soft.de>
135
136         * debugger/mcs51/cmd.c: allows filename starting with digit(+ some debug)
137
138 2003-11-02 Bernhard Held <bernhard@bernhardheld.de>
139
140         * src/SDCCmain.c (linkEdit): "fixed" again bug #833605
141
142 2003-11-01 Frieder Ferlemann <Frieder.Ferlemann@web.de>
143
144         * src/mcs51/main.c: xdata initialization is 13 bytes shorter now
145
146 2003-10-31  Borut Razem <borut.razem@siol.net>
147
148         * support/cpp2/cpplib.h,
149           support/cpp2/cpplib.c,
150           support/cpp2/cpplex.c,
151           support/cpp2/cppinit.c: introduced #pragma preproc_asm [ + | - ]
152           to switch _asm block preprocessing on / off. Default is
153           #pragma preproc_asm +
154
155 2003-10-31  Borut Razem <borut.razem@siol.net>
156
157         * support/cpp2/cpplex.c: Fixed _WIN32 problem with CR-CR-LF sequences
158           when outputting comment blocks (when executed with -C option) and
159           _asm (SDCPP specific) blocks
160
161 2003-10-31 Erik Petrich <epetrich@ivorytower.norman.ok.us>
162         
163         * as/hc08/lkrloc.c (relr): Fixed ihx output, fixed lastAreaIndex warning
164
165 2003-10-31 Klaus Flittner <klaus_flittner@gmx.de>
166
167         * src/SDCCcse.c (updateSpillLocation): fixed bug #808027
168
169 2003-10-31 Bernhard Held <bernhard@bernhardheld.de>
170
171         * src/SDCCmain.c (linkEdit): "fixed" bug #833605
172         * src/SDCCast.c (decorateType): fixed bug #832664
173
174 2003-10-31  Borut Razem <borut.razem@siol.net>
175
176         * support\cpp2\cpplex.c: fixed for SDCPP:
177           comments(when executed with -C option) and _asm blocks
178           were included even if they where in skipped #if block.
179           Applied solution from GCC cpp 3.3.2
180
181 2003-10-31  Borut Razem <borut.razem@siol.net>
182
183         * src/SDCC.lex: sdcc now understands both formats:
184           '# <line_number> <file_name>' and
185           '#line <line_number> <file_name>'
186         * support/cpp2/cppmain.c: sdcpp now generates the standard
187           '# <line_number> <file_name>' instead of former
188           '#line <line_number> <file_name>'
189
190 2003-10-30  Borut Razem <borut.razem@siol.net>
191
192         * support/cpp2/cpphash.h,
193         * support/cpp2/cpplib.h
194         * support/cpp2/cpplex.c,
195         * support/cpp2/cppmain.c,
196         * support/cpp2/cppinit.c: fixed bug #828015 - Syntax variation for _asm character constants
197
198 2003-10-30 Erik Petrich <epetrich@ivorytower.norman.ok.us>
199
200         Fixed a number of problems revealed by bug #827883.
201         * src/SDCCloop.c (loopInvariants): Spill location of the
202         result operand should be recomputed if extracted from
203         a loop. Also, don't extract assignments of an iTemp
204         from a literal.
205         * src/SDCCast.c (isConformingBody): loop reversal should
206         not occur if the control variable is involved with a
207         relational operator.
208
209 2003-10-28 Bernhard Held <bernhard@bernhardheld.de>
210
211         * .version: bumped to 2.3.6 to reflect the big improvements
212         made by Erik and Klaus. Thanks!
213
214 2003-10-28 Klaus Flittner <klaus_flittner@gmx.de>
215
216         Replaced the livrange code.
217         * src/SDCClrange.c: added new LR code
218         * src/SDCCloop.c,
219         * src/SDCCBBlock.h: removed remainig parts from old LR code
220         * src/ds390/ralloc.c,
221         * src/ds390/gen.c: minor fixes to make it work with new code
222
223 2003-10-28 Erik Petrich <epetrich@ivorytower.norman.ok.us>
224
225         * as/hc08/asm.h,
226         * as/hc08/lkrloc.c,
227         * src/hc08/gen.c,
228         * src/hc08/ralloc.c: Fix various warnings related to the hc08
229         * src/SDCCicode.c (geniCodePreInc, geniCodePreDec): Fixed bug #829717
230         (tweaked fix for bug #818696)
231
232 2003-10-23 Erik Petrich <epetrich@ivorytower.norman.ok.us>
233
234         * src/z80/ralloc.c (joinPushes): Fixed bug #828742
235
236 2003-10-23 Erik Petrich <epetrich@ivorytower.norman.ok.us>
237
238         * src/SDCCmain.c,
239         * sdccconf_in.h: Fixed bug #828387 (--disable-hc08-port didn't work)
240         * src/mcs51/gen.c (gencjneshort),
241         * src/ds390/gen.c (gencjneshort): Made comparison with AOP_IMMD operand
242         more efficient (per Scott Bronson's suggestion)
243
244 2003-10-22 Erik Petrich <epetrich@ivorytower.norman.ok.us>
245
246         Extended the semantics of the critical keyword to include
247         individual statements. See RFE #827755 and #799831
248         * src/SDCC.y
249         * src/SDCCicode.c
250         * src/SDCCopt.c
251         * src/SDCCast.c
252         * support/Util/SDCCerr.c
253         * support/Util/SDCCerr.h
254         * src/mcs51/gen.c
255         * src/ds390/gen.c
256         * src/hc08/gen.c
257
258 2003-10-19  Borut Razem <borut.razem@siol.net>
259
260         * src/SDCC.lex: fixed bug #825944 - defined yytext_ptr to make it compile with flex 2.5.31
261
262 2003-10-19 Erik Petrich <epetrich@ivorytower.norman.ok.us>
263
264         * src/SDCCicode.c (geniCodePreInc, geniCodePreDec, ast2iCode):
265         Fixed bug #818696
266         * src/SDCCast.c (ast_print): Fixed --dumptree so that preincrement
267         and predecrement operand is displayed
268
269 2003-10-13 Bernhard Held <bernhard@bernhardheld.de>
270
271         * src/SDCCval.c (valMinus): fixed bug #826041
272
273 2003-10-15 Erik Petrich <epetrich@ivorytower.norman.ok.us>
274
275         Some hc08 related updates that I missed earlier
276         * sim/ucsim/stypes.h
277         * support/regression/ports/hc08/spec.mk
278
279 2003-10-15 Erik Petrich <epetrich@ivorytower.norman.ok.us>
280
281         New target "hc08" for the Motorola 68hc08 family of micros
282
283         * configure
284         * configure.in
285         * Makefile
286         * src/hc08/*
287         * src/SDCCmain.c
288         * src/port.h
289         * sim/ucsim/hc08.src/*
290         * sim/ucsim/configure.in
291         * src/ucsim/configure
292         * sim/ucsim/packages_in.mk
293         * as/hc08/*
294         * as/Makefile
295         * device/include/mc68hc908qy.h
296         * device/lib/hc08/*
297         * device/lib/Makefile.in
298         * support/regression/ports/hc08/*
299         * support/regression/Makefile
300
301 2003-10-14 Erik Petrich <epetrich@ivorytower.norman.ok.us>
302
303         * src/z80/gen.c: fixed bug revealed by ast_constant_folding.c
304         regression test
305         * src/ds390/gen.c (genCast): fixed bug #821957
306
307 2003-10-13 Bernhard Held <bernhard@bernhardheld.de>
308
309         * device/lib/logf.c: "fixed" overlay bug
310         * support/regression/ports/host/spec.mk: added m library
311         * support/regression/ports/mcs51-stack-auto/spec.mk: added float funcs
312         * support/regression/tests/float_trans: added (for Eric)
313
314 2003-10-12 Bernhard Held <bernhard@bernhardheld.de>
315
316         * src/mcs51/gen.c (genCpl): fixed bug
317         http://sf.net/mailarchive/message.php?msg_id=6263915
318
319 2003-10-10 Bernhard Held <bernhard@bernhardheld.de>
320
321         * src/SDCCast.c (decorateType): added extended constant folding
322         * src/SDCCsymt.c (computeType): cleanup
323         * src/SDCCval.c (valShift): minor optimization
324         * support/regression/tests/ast_constant_folding.c: added
325
326 2003-10-09  Erik Petrich <epetrich@ivorytower.norman.ok.us>
327
328         * src/SDCCmain.c: removed some unintended changes
329
330 2003-10-09  Erik Petrich <epetrich@ivorytower.norman.ok.us>
331
332         * src/SDCCmain.c (setParseWithComma): fixed bug #816685
333         * src/z80/gen.c: fixed part of bug #817589
334         * src/SDCCsymt.c (checkFunction): fixed bug #817895
335
336 2003-10-08 Bernhard Held <bernhard@bernhardheld.de>
337
338         Replaced cast (void **) with (void *) to avoid gcc 3 warning:
339         * src/SDCCcflow.c
340         * src/SDCCcse.c
341         * src/SDCCdflow.c
342         * src/SDCClabel.c
343         * src/SDCClrange.c
344         * src/SDCCmem.c
345         * src/SDCCopt.c
346         * src/SDCCpeeph.c
347         * src/SDCCset.c
348         * src/avr/ralloc.c
349         * src/ds390/ralloc.c
350         * src/izt/ralloc.c
351         * src/mcs51/ralloc.c
352         * src/pic/ralloc.c
353         * src/pic16/ralloc.c
354         * src/xa51/ralloc.c
355         * src/z80/ralloc.c
356         * src/z80/gen.c: removed unused label "release:"
357
358 2003-10-06  Borut Razem <borut.razem@siol.net>
359
360         * src/SDCC.lex: removed definition of unused variables
361           save_optimize and save_options
362
363 2003-10-06 Bernhard Held <bernhard@bernhardheld.de>
364
365         * clean.mk: removed '=' in "-maxdepth=1"
366         * src/SDCCloop.c: replace LRKLAUS with SDCC_LRKLAUS
367         * src/SDCClrange.c: replace LRKLAUS with SDCC_LRKLAUS
368
369 2003-10-06  Borut Razem <borut.razem@siol.net>
370
371         * src/SDCC.lex, src/SDCC.lex: use dbuf for "_asm" definitions;
372           my_unput() replaced by unput()
373
374 2003-10-05 Bernhard Held <bernhard@bernhardheld.de>
375
376         * src/SDCCloop.c (assignmentsToSym, loopInduction): cast argument of
377         setToNull() to (void *) to avoid gcc3.x's warning: "dereferencing
378         type-punned pointer will break strict-aliasing rules"
379         Old LR behaviour is again default; Klaus' LR can be choosen by
380         defining the environment variable LRKLAUS
381         * src/SDCCBBlock.h
382         * src/SDCCloop.c
383         * src/SDCClrange.c
384         * src/ds390/ralloc.c (spillThis): applied Klaus' patch
385         * clean.mk: fixed removal of files in bin/CVS/
386         * device/lib/clean.mk: fixed removal of directories small and large
387         * support/Util/SDCCerr.c: changed W_INT_OVL to ERROR_LEVEL_PEDANTIC
388         * src/SDCCicode.c,
389         * src/SDCCval.c: removed superflous test for pedantic
390
391 2003-10-05  Borut Razem <borut.razem@siol.net>
392
393         * src/SDCC.lex, support/Util/SDCCerr.c, sdcc/support/Util/SDCCerr.h:
394           Fixed bug #816692: introduced new ERROR_LEVEL_PEDANTIC warning
395           message "unmatched #pragma SAVE and #pragma RESTORE"
396
397 2003-10-04  Frieder Ferlemann <Frieder.Ferlemann@web.de>
398
399         * doc/sdccman.lyx: various additions and updates (interrupts, inline
400           assembly, critical functions, atomic, nojtbound)
401
402 2003-10-04 Bernhard Held <bernhard@bernhardheld.de>
403
404         Applied liferange patch from Klaus Flittner <klaus_flittner@gmx.de>
405         * src/SDCCBBlock.h
406         * src/SDCCloop.c
407         * src/SDCCloop.h
408         * src/SDCClrange.c
409
410 2003-10-03  Erik Petrich <epetrich@ivorytower.norman.ok.us>
411
412         * src/z80/gen.h,
413         * src/z80/gen.c (aopOp, aopGet, aopPut, genDummyRead),
414         * src/mcs51/gen.h
415         * src/mcs51/gen.c (aopOp, aopGet, aopPut, genDummyRead),
416         * src/ds390/gen.h
417         * src/ds390/gen.c (aopOp, aopGet, aopPut, genDummyRead),
418         * src/SDCCicode.c (ast2iCode, geniCodeDummyRead): Fixed bug #663539
419         * src/SDCCopt.c (killDeadCode): Fixed bugs #663539 & #816705
420
421 2003-10-02  Erik Petrich <epetrich@ivorytower.norman.ok.us>
422
423         * src/z80/gen.c (genRet): fixed bug #524753
424         * src/z80/gen.c (genCast): fixed internal error on cast from
425         pointer to long
426         * src/z80/gen.c (_saveRegsForCall, emitCall): adapted Johan's
427         fix for bug #477835 to the z80
428         * src/z80/gen.c (genZ80code, _vemit2, _emit2): added support
429         for tracking iCodes in the peephole optimizer for z80
430
431 2003-10-01  Erik Petrich <epetrich@ivorytower.norman.ok.us>
432
433         * src/SDCCicode.c (geniCodeJumpTable, geniCodeSwitch): fixed
434         the other part of bug #814548
435         * src/SDCCpeeph.c (labelInRange): fixed bug #814558
436
437 2003-09-30  Bernhard Held <bernhard@bernhardheld.de>
438
439         * src/SDCCcse.c: fixed part of bug #814548
440
441 2003-09-28  Borut Razem <borut.razem@siol.net>
442
443         * src/asm.c: rewrite of printILine() to use temporary file instead
444           a pipe
445         * src/xa51/main.c: commented out declaration of int rewinds
446
447 2003-09-27  Erik Petrich <epetrich@ivorytower.norman.ok.us>
448
449         * src/SDCCicode.c (geniCodeJumpTable): Fixed bug #813206
450
451 2003-09-26  Erik Petrich <epetrich@ivorytower.norman.ok.us>
452
453         * src/SDCCdflow.c (computeDataFlow): Fixed bug #810746
454         * src/asm.c (printILine): Fixed bug #811015
455
456 2003-09-22  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
457
458         *link/z80/lklibr.c, as/mcs51/lklibr.c: Improved memory allocation and
459         freeing.
460
461 2003-09-21  Erik Petrich <epetrich@ivorytower.norman.ok.us>
462
463         * src/z80/gen.c (setupToPreserveCarry): Fixed bug #796955
464         * src/z80/gen.c (setupPair, genMovePairPair): Fixed setupPair
465         to correctly handle general case of AOP_PAIRPTR
466         * src/z80/gen.c (aopGet, aopPut): Generalized AOP_PAIRPTR handling
467
468 2003-09-21  Erik Petrich <epetrich@ivorytower.norman.ok.us>
469
470         * src/mcs51/ralloc.c (fillGaps),
471         * src/ds390/ralloc.c (fillGaps): fixed bug #810093 (yet another
472         register positioning bug)
473
474 2003-09-21  Bernhard Held <bernhard@bernhardheld.de>
475
476         * device/lib/_fsdiv.c: replaced (1<<31) by (1ul<<31)
477
478 2003-09-19  Erik Petrich <epetrich@ivorytower.norman.ok.us>
479
480         * src/mcs51/gen.c (loadDptrFromOperand, genFarPointerGet,
481         genCodePointerGet, genGenPointerGet, genFarPointerSet,
482         genGenPointerSet): handle AOP_DPTR correctly when loading dptr
483         (ralloc doesn't intentionally do this now, but perhaps later)
484         * src/mcs51/ralloc.c (serialRegAssign, fillGaps),
485         * src/ds390/ralloc.c (serialRegAssign, fillGaps): fixed some
486         register positioning bugs (Fixed bug #762602 and #795325)
487         * src/SDCCicode.c (geniCodeDerefPtr): Track output class correctly
488         (Fixed bug #808779)
489         * src/z80/gen.c: increased _vemit2's buffer[] to handle long
490         lines that --i-code-in-asm generates
491
492 2003-09-18  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
493
494         *link/z80/lklibr.c, as/mcs51/lklibr.c: Fixed Linux segfaults when
495         trying to fclose a FILE* that was already closed.
496
497 2003-09-18  Erik Petrich <epetrich@ivorytower.norman.ok.us>
498
499         * src/SDCCsymt.c (structElemType): fixed bug #808291 (members
500         of const struct should be treated as if const themselves)
501
502 2003-09-18  Bernhard Held <bernhard@bernhardheld.de>
503
504         * src/SDCCval.c (valPlus, valMinus): fixed bug #808337
505
506 2003-07-06  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
507
508         * support/librarian/sdcclib.c: Generate correct offsets for libraries with
509         Unix (/n) and DOS (/r/n) line terminations.
510
511 2003-09-17  Erik Petrich <epetrich@ivorytower.norman.ok.us>
512
513         * src/SDCCopt.c (cnvFromFloatCast, cnvToFloatCast): fixed
514         bug #613775
515
516 2003-09-16  Erik Petrich <epetrich@ivorytower.norman.ok.us>
517
518         * src/mcs51/gen.c (genFunction, genEndFunction),
519         * src/ds390/gen.c (genFunction, genEndFunction): Moved save
520         and restore of EA so that stack offsets to parameters are
521         correct when using both critical and reentrant/stack-auto.
522         * src/z80/gen.c (aopOp): removed erroneous assertion about sloc
523         size (can be triggered in error if sloc is shared between
524         different sized objects)
525         * device/include/float.h: fixed macros to explicitly use
526         unsigned long where needed
527
528 2003-09-15  Bernhard Held <bernhard@bernhardheld.de>
529
530         Feature req. 799831: added code to allow nesting of critical functions
531         * src/mcs51/gen.c (genFunction, genEndFunction)
532         * src/ds390/gen.c (genFunction, genEndFunction)
533
534 2003-09-14  Erik Petrich <epetrich@ivorytower.norman.ok.us>
535
536         * src/SDCCsymt.c (sclsFromPtr),
537         * src/SDCCsymt.h,
538         * src/SDCCast.c (decorateType): fixed bug #462971. Also, better
539         support for standard C idiom of memory mapped variables; for
540         example, *((xdata int*)0x1234) = 1 is now internally equivalent
541         to xdata int at 0x1234 tempvar = 1.
542         * sim/ucsim/z80.src/inst_xd.cc: fixed bug #805483 with patch
543         provided by Akiya ISHIDA
544
545 2003-09-13  Bernhard Held <bernhard@bernhardheld.de>
546
547         * src/SDCCval.c (cheapestVal): reenabled to reduce int to char
548         * src/SDCCval.c (constVal): added reduction from int to char
549         * src/SDCCval.c (valMult, valDiv): fixed sign handling
550         * src/SDCCval.c (valShift): fixed after change of cheapestVal()
551         * src/SDCCval.c (valCompare): fixed EQ_OP and NE_OP; they have
552         to ignore the sign
553         * support/regression/tests/shifts.c: fixed
554
555 2003-09-13  Erik Petrich <epetrich@ivorytower.norman.ok.us>
556
557         * src/z80/gen.c (genXor): Fixed bug #805445
558
559 2003-09-12  Erik Petrich <epetrich@ivorytower.norman.ok.us>
560
561         Fixed bug #621531 (const & volatile confusion in the type chain).
562         DCL_PTR_CONST, DCL_PTR_VOLATILE, & IS_PTR_CONST now exclusively
563         refer to the const or volatile state of the pointer itself.
564
565         * src/SDCCast.c
566         * src/SDCCglue.c
567         * src/SDCCicode.c
568         * src/SDCCsymt.c
569         * src/SDCCval.c
570         * src/SDCC.y
571         * src/SDCCsymt.h
572         * src/pic/gen.c
573         * src/pic/ralloc.c
574         * src/pic16/gen.c
575         * src/pic16/ralloc.c
576         * support/regression/tests/const.c
577
578 2003-09-10  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
579
580         When checking for duplicated modules, use absolute paths
581         instead of relative paths.  Files changed:
582
583         * as/mcs51/lklib.c
584         * link/z80/lklib.c
585
586 2003-09-09  Erik Petrich <epetrich@ivorytower.norman.ok.us>
587
588         * src/SDCCicode.c (geniCodeLogic): fixed bug #797572
589
590 2003-09-07  Erik Petrich <epetrich@ivorytower.norman.ok.us>
591
592         * device/include/string.h: added size_t typedef, changed
593         prototypes to use size_t, eliminated separate reentrant and
594         non-reentrant declarations, added _memmove declaration
595         * device/lib/_memcpy.c: changed to use size_t instead of int,
596         changed /4 to >>2 to avoid division library call
597         * device/lib/_memcmp.c,
598         * device/lib/_memset.c,
599         * device/lib/_strncat.c,
600         * device/lib/_strncpy.c,
601         * device/lib/_strncmp.c: changed to use size_t instead of int
602         * device/lib/_memmove.c: new file (fixed bug #772294)
603         * device/lib/Makefile.in: added _memmove.c
604         * device/lib/z80/asm_strings.s: fixed bug #772290
605         * support/regression/tests/bitfields.c: attempt to fix host assertion
606         failure on amd64-unknown-linux2.2
607
608 2003-09-06  Erik Petrich <epetrich@ivorytower.norman.ok.us>
609
610         * src/z80/gen.c (aopPut, spillPairReg): fixed bug #800998
611         * src/z80/gen.c (genFunction, genEndFunction): fixed "bug" #774700
612         * as/z80/asmain.c (main): fixed bug #801766
613
614 2003-09-06  Bernhard Held <bernhard@bernhardheld.de>
615
616         * src/SDCCicode.c (ast2iCode): fixed differences in iCode with different
617         compilers
618
619 2003-09-05  Erik Petrich <epetrich@ivorytower.norman.ok.us>
620
621         * src/SDCCast.c (isConformingBody): fixed loop reversal bug
622         reported in bug #800609
623
624 2003-09-04  Vangelis Rokas <vrokas@otenet.gr>
625
626         * Top header beautifications in src/pic16 directory:
627           device.c, device.h, gen.c, gen.h, genarith.c, glue.c, pcode.c,
628           pcodeflow.c, pcodeflow.h, pcode.h, pcodepeep.c, pcoderegs.c,
629           pcoderegs.h, ralloc.c, ralloc.h
630         * main.c: added top header and GPL license notice
631         * pcode.c: fixed the if-conditional warning
632  
633 2003-09-04  Bernhard Held <bernhard@bernhardheld.de>
634
635         * device/lib/_mullong.c: replaced int by short for gcc
636
637 2003-08-31  Erik Petrich <epetrich@ivorytower.norman.ok.us>
638
639         * src/SDCCpeeph.c (notVolatile, notVolatileVariable): handle IFX
640         and JUMPTABLE iCodes properly now (worked by accident before)
641         * src/mcs51/gen.c (leftRightUseAcc),
642         * src/ds390/gen.c (leftRightUseAcc): handle IFX and JUMPTABLE
643         iCode properly now. Use getSize instead of nRegs since a & b
644         aren't part of the nRegs tally.
645
646 2003-08-31  Vangelis Rokas <vrokas@otenet.gr>
647
648         * src/pic16/main.c: corrected offsets of interrupt vectors in _pic16_genIVT()
649         * src/pic16/pcode.c: fix to disable inserting BANKSEL directive
650           before instructions that use the _STATUS register
651
652 2003-08-31  Bernhard Held <bernhard@bernhardheld.de>
653
654         * src/mcs51/gen.c (freeAsmop): fixed off by one in stack offset (AOP_STK)
655         * src/mcs51/gen.c (genNearPointerSet): added missing opcode for
656         fetching of the pointer
657         * src/mcs51/gen.c (genNearPointerGet): added reuse of PREG,
658         copied from genNearPointerSet()
659         * src/mcs51/gen.c (genNearPointerGet): don't pop r0/r1, if RESULTONSTACK
660         * src/mcs51/gen.c: changed order of freeAsmop(left/right/result)-calls.
661         If they pop r0/r1 they must be called in the opposite order than aopOp().
662         * device/lib/_mullong.c: fixed for "--model-large --int-long-reent"
663         (resp. --stack-auto), prepared for --xstack
664
665 2003-08-28  Frieder Ferlemann <Frieder.Ferlemann@web.de>
666
667         * doc/sdccman.lyx: reverted tables to those in cvs 1.64
668
669 2003-08-28  Bernhard Held <bernhard@bernhardheld.de>
670
671         * device/lib/_startup.c: quick & dirty fix for ds390/ds400;
672         these ports have their own __sdcc_external_start()
673
674 2003-08-26  Bernhard Held <bernhard@bernhardheld.de>
675
676         pic patch provided by Slade Rich <slade_rich@yahoo.com>
677         * src/pic/glue.c (pic14printPublics): fixed bug introduced when symbol
678         type for bits was changed. It resulted in bit variables becoming
679         global, which is not permitted in PIC 14 assembly output.
680
681 2003-08-23  Frieder Ferlemann <Frieder.Ferlemann@web.de>
682
683         * doc/sdccman.lyx: various additions and updates. Rearranged sections
684
685 2003-08-22  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
686
687         Z80 and MCS51 linkers complaint if a public symbol is defined
688         in more than one library module:
689
690         * as/mcs51/lklib.c
691         * link/z80/lklib.c
692         * as/mcs51/Makefile.in
693
694 2003-08-22  Erik Petrich <epetrich@ivorytower.norman.ok.us>
695
696         A few small changes that speed up the peephole optimizer.
697
698         * src/SDCCpeeph.c
699
700 2003-08-22  Erik Petrich <epetrich@ivorytower.norman.ok.us>
701
702         Try to make the peephole optimizer smarter by maintaining
703         an association between the assembly source code and the
704         iCodes that originated them. Put this information to use
705         with a new peephole rule condition "notVolatile" so that
706         the rules can be aggressive yet still safe.
707
708         * src/SDCCpeeph.c
709         * src/SDCCpeeph.h
710         * src/mcs51/gen.c
711         * src/mcs51/peeph.def
712
713 2003-08-20  Erik Petrich <epetrich@ivorytower.norman.ok.us>
714
715         Fixed bug #741761
716
717         * src/mcs51/gen.c (aopForSym, leftRightUseAcc),
718         * src/ds390/gen.c (aopForSym, leftRightUseAcc): preserve A and B
719         if the left or right operand symbols have the accuse flag set.
720
721 2003-08-20  Erik Petrich <epetrich@ivorytower.norman.ok.us>
722
723         Changed the type of the result of the ! (NOT) operator to char;
724         previously it returned the same type as the source. This allows
725         us to eliminate all the genFloatNot functions (all of its target
726         implementations were very buggy) since !float can use the same
727         code as !long now.
728
729         * src/SDCCicode.c (ast2iCode): ! returns char
730         * src/mcs51/gen.c (genNot, genNotFloat),
731         * src/ds390/gen.c (genNot, genNotFloat),
732         * src/z80/gen.c (genNot, genNotFloat),
733         * src/pic/gen.c (genNot, genNotFloat),
734         * src/pic16/gen.c (genNot, genNotFloat): eliminated genNotFloat
735
736 2003-08-19  Bernhard Held <bernhard@bernhardheld.de>
737
738         pic patch provided by Slade Rich <slade_rich@yahoo.com>
739         1. Interrupt would not compile properly. Ensure PCLATH register is saved
740            during interrupts. Ensure WSAVE is located at a shared bank address.
741         2. Fixed page selection in some places
742         3. Fixed BTFSS/C to where necessary use registers directly and not simply
743            the registers name strings.
744         4. Fixed "signed / unsigned compare" compiler warnings.
745         5. The PIC port manages its own allocation of the general purpose
746            registers, but makes no attempt to reuse them. As a result when
747            compiling it soon runs out of general purpose registers. Some
748            additional code was added to the files pcode.c and device.c to walk
749            through the function call tree and rename the registers so that they
750            get reused.
751
752         * src/pic/device.c
753         * src/pic/gen.c
754         * src/pic/glue.c
755         * src/pic/pcode.c
756         * src/pic/pcode.h
757         * src/pic/ralloc.c
758         * src/pic/ralloc.h
759         * src/pic/genarith.c: Fixed problems with PIC 14 port in functions
760         genPlus() & genMinus() when the result is the same as left or right
761
762 2003-08-18  Erik Petrich <epetrich@ivorytower.norman.ok.us>
763
764         * src/z80/gen.c (isUnsplitable, fetchPairLong): fixed bug #770454
765
766 2003-08-18  Erik Petrich <epetrich@ivorytower.norman.ok.us>
767
768         Made bitfield a distinct type from bit so that bitfields
769         convert as per ANSI C and bits retain their traditional
770         boolean style behaviour. Implemented bitfield support in
771         the z80 port.
772
773         * src/SDCCsymt.h,
774         * src/SDCCsymt.c,
775         * src/SDCCast.c,
776         * src/cdbFile.c,
777         * src/mcs51/gen.c,
778         * src/ds390/gen.c: bit v bitfield split
779         * src/z80/gen.c: New support for bitfields
780         * support/regression/tests/bitfields.c: reenabled z80,
781         added more tests
782
783 2003-08-17  Frieder Ferlemann <Frieder.Ferlemann@web.de>
784
785         Rules 246.x, 247.x relate to bitfields, the others speed up
786         access to xdata mapped I/O devices.
787
788         * src/mcs51/peeph.def: added 26 peepholes 246.x - 248.x, 180.x
789
790 2003-08-16  Erik Petrich <epetrich@ivorytower.norman.ok.us>
791
792         Cleaned up genPackBits and genUnpackBits and added two helper
793         functions, emitPtrByteGet & emitPtrByteSet. Added optimizations
794         for literal assignments in genPackBits (thanks to Frieder for
795         reminding me).
796
797         * src/mcs51/gen.c
798         * src/ds390/gen.c
799
800 2003-08-16  Erik Petrich <epetrich@ivorytower.norman.ok.us>
801
802         Fixed bug #748310 (pointer to function type mishandled when the
803         function name is omitted). Also fixed a SIGSEGV when a function
804         attribute (reentrant, etc) is used on a non-function or on a
805         function but misplaced before the parameter list.
806
807         * src/SDCC.y (abstract_declarator, abstract_declaractor2): fixed
808         bug #748310
809         * src/SDCC.y (declarator2_function_attributes): avoided SIGSEGV
810         * support/Util/SDCCerr.h,
811         * support/Util/SDCCerr.c: Added func attr misuse error msg
812
813 2003-08-13  Bernhard Held <bernhard@bernhardheld.de>
814
815         Fixed bug #787649 by anonymous
816         * src/SDCCglue.c (emitRegularMap): added emission of sloc for func ptr
817         * src/ds390/gen.c (aopForSym): fixed func ptr in sloc
818
819 2003-08-14  Erik Petrich <epetrich@ivorytower.norman.ok.us>
820
821         Fixed numerous bitfield problems.
822
823         * src/SDCC.y: More bitfield related error checking
824         * src/SDCCsymt.h,
825         * src/SDCCsymt.c (compStructSize): fixed bitfield offset calc
826         * support/Util/SDCCerr.h,
827         * support/Util/SDCCerr.c: Added & edited some bitfield err msgs
828         * src/mcs51/gen.c (genPackBits, genUnpackBits): fixed mask bugs
829         * src/ds390/gen.c (genPackBits, genUnpackBits): fixed mask bugs
830         * support/regression/tests/bitfields.c: tests added
831
832 2003-08-13  Erik Petrich <epetrich@ivorytower.norman.ok.us>
833
834         Made the constant following the "interrupt" keyword optional. If
835         omitted, the function will not automatically be given an entry
836         in the interrupt vector table (similar to #pragma NOIV, but
837         less syntacticly kludgy). The interrupt number is also now
838         range checked. Also fixed a bug in the high order bit example
839         in the manual.
840
841         * src/SDCC.y
842         * src/SDCCmem.c
843         * src/SDCCglue.c
844         * src/SDCCsymt.h
845         * support/Util/SDCCerr.c
846         * support/Util/SDCCerr.h
847         * doc/sdccman.lyx
848
849 2003-08-13  Bernhard Held <bernhard@bernhardheld.de>
850
851         * src/SDCCcse.c (algebraicOpts): fix bug converting op from value to type
852         * src/SDCCicode.c (operandOperation): rewritten some ops
853         (*, ==, unary_minus) to fix possible overflows and to accord with ANSI
854         * src/SDCCsymt.c (computeType): literals are handled the same way as any
855         other type
856         * src/SDCCval.c (cheapestVal): removed, it doesn't accord with ANSI (can
857         be re-activated by defining REDUCE_LITERALS)
858         * src/SDCCval.c (constVal): fixed; hex and octal constants can be
859         unsigned, but are signed by default
860         * src/SDCCval.c (constVal): rearranged
861         * src/SDCCval.c (valMod): preliminary fix
862         * src/SDCCval.c (valCastLiteral): use TYPE_* types
863         * support/regression/literalop.c: added, work in progress
864
865 2003-08-12  Erik Petrich <epetrich@ivorytower.norman.ok.us>
866
867         Generate warnings for useless declarations like "char data;"
868         that don't do what new users expect.
869
870         * src/SDCC.y
871         * support/Util/SDCCerr.h
872         * support/Util/SDCCerr.c
873
874 2003-08-09  Bernhard Held <bernhard@bernhardheld.de>
875
876         * src/SDCCval.c (valMult): fix overflow detection of negative int
877
878 2003-08-07  Erik Petrich <epetrich@ivorytower.norman.ok.us>
879
880         * src/z80/ralloc.c (joinPushes): made compatible with new signedness
881
882         Changes to support big endian targets:
883
884         * src/ports.h
885         * src/SDCCglue.c
886         * src/avr/main.c
887         * src/ds390/main.c
888         * src/izt/i186.c
889         * src/mcs51/main.c
890         * src/pic/main.c
891         * src/pic16/main.c
892         * src/xa51/main.c
893         * src/z80/main.c
894
895 2003-08-06  Bernhard Held <bernhard@bernhardheld.de>
896
897         * src/SDCCval.c (cheapestVal): changed behaviour to the same as constVal()
898         * device/lib/time.c: fixed warning "integer overflow in expression"
899
900 2003-08-05  Bernhard Held <bernhard@bernhardheld.de>
901
902         * src/SDCCval.c (cheapestVal, valueFromLit): use TYPE_* types
903         * src/SDCCval.c (constVal): changed default to signed; hex and octal
904         constants are unsigned; added recognition of "u" flag for unsigned
905         * src/SDCCval.c (valMult): fixed signdness, added warning for overflow
906         * src/SDCCval.c (valDiv, valMod): fixed signdness
907         * src/SDCCicode.c (operandOperation): fixed critical typo; fixed
908         signedness of modulo, left and right shift
909         * support/Util/SDCCerr.c: added warning "integer overflow in expression"
910         * support/Util/SDCCerr.h: added warning W_INT_OVL
911         * src/SDCCast.c (decorateType): fixed gcc3.3 warning
912         * src/SDCCast.c (ast_print): improved output of constants
913
914 2003-08-04  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
915
916         Fixed some warnings when building with MSVC:
917
918         * as\mcs51\asdata.c
919         * as\z80\asdata.c
920         * as\mcs51\asm.h
921         * as\z80\asm.h
922         * link\z80\aslink.h
923         * link\z80\lkdata.c
924         * link\z80\lkeval.c
925         * link\z80\lkgb.c
926         * link\z80\lkihx.c
927         * link\z80\lks19.c
928         * link\z80\lksym.c
929         * support\cpp2\cpplib.c
930         * src\ds390\gen.c
931         * src\mcs51\gen.c
932     
933 2003-08-03  Bernhard Held <bernhard@bernhardheld.de>
934
935         * src/SDCCast.c (constExprTree): fix bug #781827 by Carl Worth <cworth@isi.edu>
936
937 2003-08-01  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
938
939         * support\librarian\clean.mk: Do not remove Makefile.
940         * support\librarian\Makefile: added.
941
942 2003-08-01  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
943
944         Added librarian to MSVC build:
945         * all.dsp
946         * sdcc.dsw
947         * support\librarian\librarian.dsp
948
949         'configure' not needed for librarian, removed:
950         * support\librarian\configure
951         * support\librarian\configure.in
952         * support\librarian\config_in.h
953         * support\librarian\Makefile.in
954
955         Hopefully these ones built the librarian and the rest of sdcc properly:
956         * Makefile
957         * Makefile.common.in
958
959         Messed up 'configure', so revert to previous version:
960         * configure
961         * configure.in
962
963 2003-07-31  Bernhard Held <bernhard@bernhardheld.de>
964
965         * src/SDCCicode.c (operandOperation): 3. fix, this time for Alpha; ULONG has 64 bits
966         there, while the mantissa of a double is "only" 53 bits wide.
967
968 2003-07-31  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
969
970         Adding sdcclib to the build.  MSVC project coming soon.
971         Files added/changed:
972
973         * support\librarian\clean.mk
974         * support\librarian\configure
975         * support\librarian\configure.in
976         * support\librarian\config_in.h
977         * support\librarian\Makefile.bcc
978         * support\librarian\Makefile.in
979         * support\librarian\sdcclib.c
980         * Makefile.bcc
981         * Makefile
982         * Makefile.common.in
983         * configure
984         * configure.in
985
986 2003-07-29  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
987
988         Linker now complaints if linked modules have conflicting options, for
989         example, one compiled using --model-large and another one compiled with
990         --model-small.  The following files were modified:
991
992         * as\mcs51\asdata.c
993         * as\mcs51\aslink.h
994         * as\mcs51\asm.h
995         * as\mcs51\asmain.c
996         * as\mcs51\asout.c
997         * as\mcs51\i51pst.c
998         * as\mcs51\lkdata.c
999         * as\mcs51\lklibr.c
1000         * as\mcs51\lkmain.c
1001         * as\z80\asdata.c
1002         * as\z80\asm.h
1003         * as\z80\asmain.c
1004         * as\z80\asout.c
1005         * as\z80\z80pst.c
1006         * link\z80\aslink.h
1007         * link\z80\lkdata.c
1008         * link\z80\lklibr.c
1009         * link\z80\lkmain.c
1010         * src\SDCCglue.c
1011
1012 2003-07-28  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1013
1014         *link/z80/aslink.h, link/z80/lklibr.c, as/mcs51/aslink.h,
1015         as/mcs51/lklibr.c: Generate a warning when a library is not found.
1016
1017 2003-07-28  Bernhard Held <bernhard@bernhardheld.de>
1018
1019         * src/z80/mappings.i: fix _mul[us][int,long] entries
1020
1021 2003-07-26  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1022
1023         *src/SDCCmain.c: do not search for crt0.o when using --nostdlib
1024
1025 2003-07-24  Bernhard Held <bernhard@bernhardheld.de>
1026
1027         * src/SDCCicode.c (operandOperation): really fixed problem with bitops
1028         * support/regression/tests/bitopcse.c: added
1029         fixed warning:
1030         * src/avr/gen.c:
1031         * src/pic/gen.c:
1032         * src/pic16/gen.c:
1033         * src/z80/gen.c:
1034         * src/xa51/gen.c:
1035
1036 2003-07-24  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1037
1038         added support for new library format to z80, gbz80 linkers:
1039         *link/z80/aslink.h
1040         *link/z80/lklex.c
1041         *link/z80/lklib.c
1042         *link/z80/lklist.c
1043
1044 2003-07-24  Bernhard Held <bernhard@bernhardheld.de>
1045
1046         * src/SDCCicode.c (operandOperation): fixed problem with bitops and 0xffffffff;
1047         after {double d = 0xffffffff; long l = d;} l will be 0x80000000 (LONG_MIN)
1048
1049 2003-07-23  Bernhard Held <bernhard@bernhardheld.de>
1050
1051         added DUMMY_READ_VOLATILE:
1052         * src/SDCC.y:
1053         * src/avr/gen.c:
1054         * src/xa51/gen.c:
1055         * src/z80/gen.c:
1056         * src/pic/gen.c:
1057         * src/pic16/gen.c:
1058         * src/mcs51/gen.c:
1059         * src/ds390/gen.c:
1060         * src/SDCCcse.c (algebraicOpts): many improvements
1061         * src/SDCCcse.h: removed algebraicOpts()
1062         * src/SDCCicode.c (picDummyRead): added
1063
1064 2003-07-23  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1065
1066         * as/mcs51/lkmem.c: Changed message "Insufficient DRAM memory" to
1067         "Insufficient space in data memory".
1068
1069 2003-07-20  Erik Petrich <epetrich@ivorytower.norman.ok.us>
1070
1071         * src/mcs51/gen.c: fixed bug #771358
1072         * src/z80/gen.c: fixed bug #759087
1073
1074 2003-07-20  Bernhard Held <bernhard@bernhardheld.de>
1075
1076         * src/pic16/glue.c: minor cleanup by Vangelis
1077
1078 2003-07-19  Frieder Ferlemann <Frieder.Ferlemann@web.de>
1079
1080         * device/include/regc515c.h: fixed #758477
1081         * device/lib/_gptrget.c: saving some cycles in generic pointer get
1082         * device/lib/_gptrput.c: saved a few bytes
1083         * my tab spacing is 8, yours too?)
1084         * device/lib/_ser.c: process RX bytes earlier than TX bytes
1085         * device/lib/serial.c: process RX bytes earlier than TX bytes
1086         * src/mcs51/gen.c(genGenPointerGet/Set): removed writing of type after postincrement
1087
1088 2003-07-18  Erik Petrich <epetrich@ivorytower.norman.ok.us>
1089
1090         * src/z80/gen.c: fixed some right shift bugs (#772726 among them)
1091
1092 2003-07-17  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1093
1094     * link/z80/lklibr.c: fixed bug when there is a '.' in a library path.
1095
1096 2003-07-17  Bernhard Held <bernhard@bernhardheld.de>
1097
1098         * device/lib/Makefile.in: bad fix, reverted to 1.43
1099
1100 2003-07-16  Bernhard Held <bernhard@bernhardheld.de>
1101
1102         * device/lib/Makefile.in: added missing z80 object files
1103
1104 2003-07-14  Bernhard Held <bernhard@bernhardheld.de>
1105
1106         * src/SDCCcse.c (algebraicOpts): CSE fun with &|^ and 0x00/0xff literals
1107         pic16 progress by Vangelis:
1108         * src/SDCCglobl.h:
1109         * src/SDCCmain.c:
1110         * src/pic/Makefile:
1111         * src/pic:
1112         * pic/Makefile:
1113         * pic16/device.c:
1114         * pic16/device.h:
1115         * pic16/gen.c:
1116         * pic16/gen.h:
1117         * pic16/genarith.c:
1118         * pic16/glue.c:
1119         * pic16/main.c:
1120         * pic16/pcode.c:
1121         * pic16/pcode.h:
1122         * pic16/pcodepeep.c:
1123         * pic16/peeph.def:
1124
1125 2003-07-13  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1126
1127     * src/SDCCmain.c, src/SDCCglobl.h: added option --no-std-crt0
1128
1129 2003-07-12  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1130
1131     * sdcc.dsw, all.dsp, link/z80/linkgbz80.dsp, as/z80/as-gbz80.dsp:
1132     added gbz80 build to MSVC project.
1133     * src/SDCCmain.c, src/SDCCglue.c, src/z80/main.c, src/z80/z80.dsp,
1134     link/z80/aslink.h, linkz80.dsp: cleaned up z80 and gbz80 asm files
1135     from 8051 stuff and setup so it links using a .lnk file.
1136
1137 2003-07-06  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1138
1139     * support/librarian/sdcclib.c: sdcc librarian.
1140     * as/mcs51/aslink.h, as/mcs51/lklib.c: Support for libraries created
1141     with sdcclib.
1142
1143 2003-07-03  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1144
1145     * as/mcs51/lkmain.c: properly handle extensions in function afile.
1146
1147 2003-07-02  Borut Razem <borut.razem@siol.net>
1148
1149         * src/port.h, src/SDCCmain.c, src/pic/glue.h, src/pic/main.c,
1150         src/pic16/glue.h, sdcc/src/pic16/main.c, src/izt/i186.c,
1151         src/izt/tlcs900h.c, src/avr/main.c, src/ds390/main.c, src/mcs51/main.c,
1152         src/xa51/main.c, src/z80/main.c:
1153         virtualization of glue() function: each port has it's own glue function,
1154         which is accessed by do_glue function pointer in PORT.general structure
1155
1156 2003-07-01 Kevin Vigor <kevin@vigor.nu>
1157
1158         * DS800C400 fun, improved ROM interface and tinibios.
1159
1160 2003-06-27 Kevin Vigor <kevin@vigor.nu>
1161
1162         * More support for DS80C400. Now includes beginning of interface to ROM.
1163
1164 2003-06-25  Bernhard Held <bernhard@bernhardheld.de>
1165
1166         * src/mcs51/gen.c (gencjneshort): fixed bug #760345
1167
1168 2003-06-20  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1169
1170         * as/mcs51/lkaomf51.c: Make sure the size of the last procedure is correct.
1171
1172 2003-06-19  Borut Razem <borut.razem@siol.net>
1173
1174         * src/z80/main.c: fixed Z80 port again: missing -k library paths in linker command line
1175
1176 2003-06-19  Borut Razem <borut.razem@siol.net>
1177
1178         * src/SDCCutil.h, src/SDCCutil.c, src/SDCCglobl.h, src/SDCCmain.c, src/z80/main.c:
1179         fixed Z80 port - crt0.o: cannot open.
1180
1181 2003-06-19  Bernhard Held <bernhard@bernhardheld.de>
1182
1183         * support/Util/MySystem.c (merge_command): revert bad fix
1184
1185 2003-06-18  Borut Razem <borut.razem@siol.net>
1186
1187         * src/SDCC.lex, src/SDCCmain.c: fixed some warnings, introduced with changes made 15.06.1003
1188
1189 2003-06-18  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1190
1191         * src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx:
1192         option --use-stdout sends errors to stdout instead of stderr.
1193
1194 2003-06-18  Bernhard Held <bernhard@bernhardheld.de>
1195
1196         * support/Util/MySystem.c (merge_command): quick fix for Linux segfault with \"cmd\" arg
1197
1198 2003-06-15  Borut Razem <borut.razem@siol.net>
1199
1200         * support/cpp2/sdcc.h: HAVE_DOS_BASED_FILE_SYSTEM defined for _WIN32
1201         * src/SDCC.lex: cloneXxx and copyAndFreeXxx functions for options and optimize stack handling
1202         * src/SDCCglobl.h, src/SDCCmain.c, src/ds390/main.c, src/mcs51/main.c, src/z80/main.c:
1203         fixed width array of pointers replaced with sets;
1204         multiple include and lib paths ared transferred to preprocessor and linker
1205         * src/SDCCset.c, src/SDCCset.h: added function setFromSetNonRev() and mergeSets()
1206         * src/SDCCsymt.c: reimplemented function inCalleeSaveList() by using sets instead
1207         fixed width array of pointers
1208         * src/SDCCutil.c, src/SDCCutil.h: added functions fputStrSet(), appendStrSet(), joinStrSet();
1209         removed functions addToList(), join(), joinn(), pathCharsEquivalent(), pathCharTransform(),
1210         fixupPath(), getPathDifference()
1211         * src/ds390/gen.c, src/mcs51/gen.c: reimplemented function  inExcludeList() by using sets instead
1212         fixed width array of pointers
1213
1214 2003-06-11  Bernhard Held <bernhard@bernhardheld.de>
1215
1216         * src/pic16/ralloc.c: fix warnings
1217         * src/pic16/pcode.c: fix warning
1218
1219 2003-06-10  Scott Dattalo  <scott@dattalo.com>
1220
1221          Scott D. for Vangelis Rokas (vrokas@otenet.gr). I (scott) don't
1222         know all the details, but essentially this set of changes enable
1223         the pic16 port to generate movff instructions and generate assembler
1224         directives,
1225         * src/SDCCmain.c:
1226         * src/pic16/gen.c:
1227         * src/pic16/glue.c:
1228         * src/pic16/pcode.c:
1229         * src/pic16/device.c:
1230         * src/pic16/main.c:
1231         * src/pic16/pcode.h:
1232         * src/pic16/pcoderegs.c:
1233         * src/pic16/ralloc.c:
1234         * src/pic16/ralloc.h:
1235
1236 2003-06-08  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1237
1238         * support/Util/SDCCerr.c, src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx:
1239         added option --vc, so sdcc errors and warnings are compatible with
1240         Microsoft Visual Studio.
1241
1242 2003-06-07  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1243
1244         * device/lib/_atof.c, device/lib/Makefile.in, device/include/stdlib.h,
1245           device/lib/libfloat.lib: added atof function.
1246
1247 2003-06-04  Bernhard Held <bernhard@bernhardheld.de>
1248
1249         * doc/sdccman.lyx: updated to Lyx 1.3
1250         * doc/cdbfileformat.lyx: updated to Lyx 1.3
1251         * doc/test_suite_spec.lyx: updated to Lyx 1.3
1252         * doc/Makefile: added fix for the \tabularnewline problem, thanks to Jesus
1253
1254 2003-06-03  Bernhard Held <bernhard@bernhardheld.de>
1255
1256         * src/SDCCpeeph.c: separate peepRules2pCode() for pic16 by "Vangelis Rokas" <vrokas@otenet.gr>
1257
1258 2003-06-02  Frieder Ferlemann <Frieder.Ferlemann@web.de>
1259
1260         * doc/sdccman.lyx: cvs revision keywords, passing pdf information in latex preamble,
1261           additions to the "related tools/documentation" section
1262
1263 2003-06-02  Bernhard Held <bernhard@bernhardheld.de>
1264
1265         * src/SDCCglue.c (tempfileandname): added check for missing TMP/TEMP/TMPDIR variable
1266
1267 2003-05-29  Bernhard Held <bernhard@bernhardheld.de>
1268
1269         * src/pic/device.c: added 16F819, patch by "David I. Lehn" <dlehn@vt.edu>
1270         * src/SDCCcse.c (algebraicOpts): fixed "c * 1"
1271
1272 2003-05-28  Bernhard Held <bernhard@bernhardheld.de>
1273
1274         * doc/sdccman.lyx: fix double dash and other minor things
1275         * doc/Makefile: fix double dash
1276
1277 2003-05-28  Karl Bongers(patches from Martin Helmling)
1278         * debugger/mcs51/sdcdb.c,cmd.c,break.c and .h files. Martin adds
1279           condition and ignore commands.
1280
1281 2003-05-28  Frieder Ferlemann <Frieder.Ferlemann@web.de>
1282
1283         * doc/sdccman.lyx: Changes all over, index improved, smaller margins. The manual
1284           is in parts still quite out of date, I did changes as far as I felt makes sense
1285           for a non-native english speaker.
1286           Please feel free to add to the manual or to correct my changes.
1287         * doc/Makefile: undid touching the date of intermediate tex files.
1288
1289 2003-05-26  Frieder Ferlemann <Frieder.Ferlemann@web.de>
1290
1291         * doc/sdccman.lyx: Manual has an index now
1292
1293 2003-05-25  Bernhard Held <bernhard@bernhardheld.de>
1294
1295         Finalize muluint/mulsint and mululong/mulslong merging:
1296         * device/lib/_mulint.c
1297         * device/lib/_mullong.c
1298         * device/lib/gbz80/mul.s
1299         * device/lib/gbz80/stubs.s
1300         * device/lib/z80/mul.s
1301         * device/lib/z80/stubs.s
1302         * src/SDCCsymt.c (initCSupport)
1303
1304 2003-05-25  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1305
1306         * as/mcs51/lkaomf51.c: Address space 'z' was missing.
1307         * src/avr/avr.dsp, src/ds390/ds390.dsp, src/mcs51/mcs51.dsp,
1308           src/pic/pic.dsp, src/pic16/pic16.dsp, src/xa51/xa51.dsp,
1309           src/x80/z80.dsp: peep.rul is bigger now, so /Zm1000 is used
1310           instead of /Zm500.
1311
1312 2003-05-25  Frieder Ferlemann <Frieder.Ferlemann@web.de>
1313
1314         * src/mcs51/peeph.def: added rules 244.x, 245.x. Although they pass
1315           the regression tests I'm not brave enough to enable 245.b, 245.c
1316         * doc/sdccman.lyx: added latex preamble for hyperref package.
1317           Using pdflatex this will give you a hyperlinked pdf file with
1318           bookmarks. (prepend '%' before /usepackage if this breaks something)
1319
1320 2003-05-24  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1321
1322          * doc/sdccman.lyx: updated information about .adb files (fixed bug 742649)
1323          
1324 2003-05-22  Bernhard Held <bernhard@bernhardheld.de>
1325
1326         * src/pic16/pcode.c (pic16_get_op_from_instruction): fixed a gcc 3.x warning
1327
1328 2003-05-21    <johan@balder>
1329
1330         * src/SDCCglue.c (printIval): fixed bug #739934
1331
1332 2003-05-19  Bernhard Held <bernhard@bernhardheld.de>
1333
1334         Applied patch from bug 737905 (renamed yylineo to mylineno):
1335         * src/altlex.c
1336         * src/SDCCast.c
1337         * src/SDCglobl.h
1338         * src/SDCC.lex
1339         * src/SDCCsymt.c
1340         * src/SDCCval.c 
1341         * src/pic16/pcode.c: Cleaned warnings
1342         * src/pic16/pcodeflow.c: Cleaned warnings
1343         * src/pic16/pcoderegs.c: Cleaned warnings
1344
1345 2003-05-19  Scott Dattalo  <scott@dattalo.com>
1346
1347         * src/pic16/pcode.c: Cleaned warnings
1348         * src/pic16/pcodepeep.c: Cleaned warnings
1349         * src/pic16/ralloc.c: Cleaned warnings
1350
1351 2003-05-19  Bernhard Held <bernhard@bernhardheld.de>
1352
1353         * doc/sdccman.lyx: fixed bug 739745
1354         * src/pic16/pcode.c (pic16_get_op): fixed warning on alpha
1355
1356 2003-05-18  Bernhard Held <bernhard@bernhardheld.de>
1357
1358         * src/port.h: removed DEFAULT_PORT, it's not yet pic16 ;-)
1359         it can be defined with CFLAGS when running configure
1360         * src/SDCCmain.c: fixed compiling + linking with object files
1361
1362 2003-05-18  Vangelis Rokas (vrokas@otenet.gr)
1363
1364         * configure.in: configure for pic16 port,
1365             added --disable-pic16-port
1366         * sdccconf_in.h: added macro OPT_DISABLE_PIC16
1367         * src/SDCCmain.c: linkOptions is changed to set *,
1368             added if/endif conditional macros to remove options help
1369             messages from optionsTable when a port is not configured, added
1370             support for the PIc16 port in the ports table, when executing
1371             the compiler with no port specified on command line, a default
1372             port is selected with the new macro DEFAULT_PORT which is
1373             defined in port.h, in setDefaultOptions() linkOptions is removed
1374             from initialization assignment, since now it is a set,
1375             parseCmdLine uses setParseWithComma for linkOptions, in
1376             linkEdit() linkOptions are accessed with new function indexSet()
1377             which returns the i'th item of a set variable. See SDCCset.c, in
1378             linkEdit() when calling buildCmdLine(), added linkOptions as
1379             last argument. Now users can pass arguments to gplink via the
1380             -Wl option, main() uses pic16glue() to glue up pic16 programs
1381         * src/SDCCpeeph.c: various changes to support pic16
1382         * src/SDCCset.c: added function  void *indexSet(set *, int)  to
1383             return the i'th item of the set
1384         * src/SDCCset.h: added function prototype for indexSet()
1385         * src/SDCCsymt.c: in checkSClass(), added support for PIC16
1386         * src/clean.mk: added pic16 in CLEANALLPORTS variable
1387         * src/port.h: added TARGET_ID_PIC16,TARGET_IS_PIC16 macro,
1388             added macro DEFAULT_PORT
1389         * src/pic/main.c: corrected arguments of gplnk in _linkCmd
1390         * src/pic16/gen.c: bug fix in genCpl(), now the correct code is
1391             generated
1392         * src/pic16/glue.c: commented out some error producing lines
1393         * src/pic16/main.c: __config directives are commented out to stop
1394             gpasm complaining and test the linkage with gplink, _linkCmd and
1395             _asmCmd changed to be more gplink and gpasm friendly
1396         * src/pic16/peeph.def: peep rule 3 is commented out, since it
1397             produced an error when parsed, peep rule 12 is added to utilize
1398             movff, but it is commented out since the pCode does not support
1399             yet a command with 2 address arguments
1400
1401 2003-05-18    <johan@balder>
1402
1403         * src/ds390/gen.c (genArrayInit): removed obsolete and buggy ARRAYINIT
1404         * src/ds390/main.c (genArrayInit): removed obsolete and buggy ARRAYINIT
1405 2003-05-17  Karl Bongers(apply patches from Martin Helmling)
1406
1407         * debugger/mcs51/sdcdb.c,cmd.c,break.c and .h files.
1408   Added feature to script commands from file.
1409
1410 2003-05-14  Bernhard Held <bernhard@bernhardheld.de>
1411
1412         * device/lib/_strtok.c: fixed bug #734355 by Lenny Story and Tim Woodall
1413         * src/SDCCutil.c: include ctype.h for win32
1414
1415 2003-05-13  Bernhard Held <bernhard@bernhardheld.de>
1416
1417         * src/pic16/*: removed CR from many files, reported by Vangelis Rokas
1418
1419 2003-05-12  Karl Bongers(apply development patches from Martin Helmling)
1420
1421         * debugger/mcs51/sdcdb.c,simi.c,cmd.c,break.c and .h files.
1422   Fixed so you can set breakpoints prior to run, run does not stop
1423   on entry now.  Add tbreak.  Other enhancements and fixes for use
1424   with ddd.
1425
1426 2003-05-12  Borut Razem <borut.razem@siol.net>
1427
1428         * src/SDCCmain.c: fixed the problem with searching the DATADIR as the last resort on *nix
1429
1430 2003-05-11  Borut Razem <borut.razem@siol.net>
1431
1432         * src/SDCCutil.c: WIN32 version of getBinPath() calls GetModuleFileName() to determine
1433         the path of bin directory, so that PATH is the only env. variable, which has to be set
1434         in case of standard installation.
1435         * src/ds390/ds390.dsp: increased value of /Zm option to 1000
1436         * src/pic/main.c: add quotes to file name parameters for gplink and gpasm
1437         * src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx: added --print-search-dirs command line option
1438
1439 2003-05-04  Bernhard Held <bernhard@bernhardheld.de>
1440
1441         * src/SDCCmain.c (linkEdit): fixed buffer overflow for gbz80
1442         * support/regression/Makefile: inter-port-clean is no longer nesessary, the
1443         temp files are in the port dir; clean the gen/test directory when
1444         generating new test.c
1445         * support/regression/ports/host/spec.mk: defined OBJEXT for target clean
1446         * support/regression/tests/vaargs.c: fixed gcc 3.3 warning
1447         * support/regression/tests/zeropad.c: added
1448
1449 2003-05-09    <johan@balder>
1450
1451         * src/SDCCglue.c: fixed bug #597940
1452
1453 2003-05-05  Karl Bongers(apply patches from Martin Helmling)
1454
1455         * debugger/mcs51/sdcdb.c,simi.c,cmd.c,symtab.c and .h files.
1456   cache sfr, optimize next,step, fix off by one sourceline,
1457   support ddd list function.
1458         * sim/ucsim/cmd.src/newcmd.cc - small fix for sdcdb use.
1459
1460 2003-05-04  Bernhard Held <bernhard@bernhardheld.de>
1461
1462         * support/regression/HTMLgen.py: added compare_s2f()
1463         * support/regression/Makefile: redo 1.27
1464         * support/regression/generate-cases.py: redo 1.5
1465
1466 2003-04-30  Bernhard Held <bernhard@bernhardheld.de>
1467
1468         * support/regression/tests/float.c: workaround 33 bit hex constant
1469         * support/regression/tests/simplefloat.c: fix division for host
1470
1471 2003-04-29  Scott Dattalo  <scott@dattalo.com>
1472
1473         * src/pic/pcoderegs.c Applied patch from Jim Hawkridge <jim@jimhawkridge.uk.eu.org>
1474         that tame's the PIC's over-aggressive optimizer.
1475
1476 2003-04-29  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1477
1478          * src.dsw, link/z80/aslink.h, link/z80/linkz80.dsp: z80 linker
1479          support for MSVC.
1480          
1481 2003-04-29  Kevin Vigor <kevin@vigor.nu>
1482
1483         Initial support for DS80C400. "Hello world" runs on TINIm400
1484         (with polled I/O).
1485
1486 2003-04-28  Karl Bongers(apply patches for Martin Helmling)
1487
1488          * debugger/mcs51/sdcdb.c,simi.c,cmd.c,symtab.c and .h files.
1489          * Some notes on ddd usage added in debugger/README
1490          Martin Helmling adding more features and fixes for ddd GUI debugger.
1491          Code added for nexti, stepi, up, down, and other adjustments.
1492
1493 2003-04-28  Scott Dattalo  <scott@DATTALO.COM>
1494
1495         * src/pic/pCodepeep.c non-wildcard asmops are now handled
1496         * src/pic/peeph.def Added two rules to optimize carry manipulation
1497         * src/pic/* removed debug printfs
1498
1499 2003-04-28  Bernhard Held <bernhard@bernhardheld.de>
1500
1501         * debugger/mcs51/cmd.c: added header newalloc.h
1502
1503 2003-04-26  Bernhard Held <bernhard@bernhardheld.de>
1504
1505         * as/Makefile: new EXEEXT
1506         * as/z80/Makefile: remove trailing slash of BUILDIR
1507         * as/z80/clean.mk: new EXEEXT
1508         * Makefile.common.in: add to CFLAGS (and others), don't replace it
1509         * support/cpp2/Makefile.in: new EXEEXT
1510         * src/pic/glue.c (pic14emitRegularMap): fixed warning
1511
1512 2003-04-24  Bernhard Held <bernhard@bernhardheld.de>
1513
1514         Cygwin's gcc always appends .exe: 'gcc -o a a.c' creates a.exe;
1515         EXEEXT was introduced to fix all related problems with targets
1516         "clean", "install" and "uninstall"; a couple of further flaws
1517         especially with "clean" have been fixed too
1518         * as/mcs51/Makefile.in
1519         * as/mcs51/clean.mk
1520         * as/z80/Makefile
1521         * Makefile
1522         * clean.mk
1523         * debugger/mcs51/Makefile.in
1524         * debugger/mcs51/clean.mk
1525         * link/z80/Makefile
1526         * link/z80/Makefile.in
1527         * link/z80/clean.mk
1528         * link/Makefile
1529         * packihx/Makefile.in
1530         * packihx/clean.mk
1531         * sim/ucsim/Makefile
1532         * sim/ucsim/clean.mk
1533         * sim/ucsim/avr.src/Makefile.in
1534         * sim/ucsim/avr.src/clean.mk
1535         * sim/ucsim/s51.src/Makefile.in
1536         * sim/ucsim/s51.src/clean.mk
1537         * sim/ucsim/xa.src/Makefile.in
1538         * sim/ucsim/xa.src/clean.mk
1539         * sim/ucsim/z80.src/Makefile.in
1540         * sim/ucsim/z80.src/clean.mk
1541         * sim/ucsim/main_in.mk
1542         * sim/ucsim/packages_in.mk
1543         * sim/ucsim/gui.src/Makefile.in
1544         * sim/ucsim/gui.src/serio.src/Makefile.in
1545         * sim/ucsim/gui.src/serio.src/clean.mk
1546         * src/Makefile.in
1547         * src/clean.mk
1548         * support/cpp2/Makefile.in
1549         * support/cpp2/clean.mk
1550         * support/makebin/Makefile
1551         * support/makebin/clean.mk
1552         * support/scripts/sdcc_mingw32: --program-suffix no longer needed
1553         * doc/sdccman.lyx: --program-suffix no longer needed
1554
1555 2003-04-23  Karl Bongers(apply patches for Martin Helmling)
1556
1557          * debugger/mcs51/sdcdb.c,simi.c,cmd.c,..
1558          Martin Helmling added support for ddd GUI debugger.
1559          Code added to display assembly, set variables, and other commands
1560          to interface to ddd.
1561
1562 2003-04-23  Bernhard Held <bernhard@bernhardheld.de>
1563
1564         * as/Makefile: fix target clean
1565         * as/clean.mk: fix target clean
1566         * as/z80/clean.mk: fix target clean
1567
1568 2003-04-22  Bernhard Held <bernhard@bernhardheld.de>
1569
1570         * Makefile.common.in: added @EXEEXT@
1571         * configure.in: removed all mingw32 stuff
1572         * configure: rebuilt from configure.in
1573         * doc/sdccman.lyx: updated section "installation"
1574         * support/scripts/sdcc_mingw32: adapted to configure
1575         * support/scripts/sdcc_cygwin_mingw32: added
1576
1577 2003-04-22  Scott Dattalo  <scott@dattalo.com>
1578
1579         * src/pic Added object file support for the PIC port
1580         * src/pic Applied patch from Craig Franklin (this started the object file support)
1581         * src/regression Updated the PIC regression tests for object files
1582
1583 2003-04-20  Borut Razem <borut.razem@siol.net>
1584
1585         * sdcc/as/mcs51/lklex.c: make getfid() more robust and fixed gcc warning:
1586           lklex.c: In function `getfid':
1587           lklex.c:203: warning: array subscript has type `char'
1588         * src/SDCCglobl.h: small change in stack handling macros, to avoid crash when compiled
1589           with MSVC with global optimization enabled (probably an cl compiler bug ;-)
1590         * support/Util/SDCCerr.c, support/Util/SDCCerr.h: added function fatal(), called from
1591           stack handling macros
1592
1593 2003-04-19  Borut Razem <borut.razem@siol.net>
1594
1595         * "handling space characters in file path" task:
1596         * src/SDCCmacro.c: fixed bug in handlig quote at the end of line
1597         * support/Util/BuildCmd.c: define par as NULL if parameter value is invalid
1598         * support/Util/MySystem.h: make it self-sufficient
1599         * src/avr/main.c, src/ds390/main.c, src/mcs51/main.c, src/pic/main.c, src/xa51/main.c,
1600           src/z80/main.c, sdcc/as/mcs51/lklex.c:
1601           handling space characters in file path
1602         * src/SDCCmain.c: introduced setDataPaths() function, {datadir} macro
1603           (it will be used by assemblers, which have their own includes, e.g. gpasm)
1604         * support/Util/MySystem.c: handling space characters in executable's path
1605
1606 2003-04-19  Bernhard Held <bernhard@bernhardheld.de>
1607
1608         * as/z80/Makefile: fix permanent rebuild of z80
1609         * sim/ucsim/gui.src/Makefile.in: target "install" builds the same packages as target "all"
1610         * support/regression/tests/bitfields.c: added Johan's bitfields.c
1611
1612 2003-04-18      Kevin Vigor <kevin@vigor.nu>
1613
1614         * src/SDCCopt.c: add special case optimization to replace modulo by
1615           a power of two with a bitwise AND.
1616
1617 2003-04-18    <johan@balder>
1618
1619         * src/mcs51/gen.c (getFreePtr): fixed bug #635354
1620
1621 2003-04-17    <johan@balder>
1622
1623         * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #716790 and removes lot's of redundant register usage around function calls
1624         * src/mcs51/ralloc.c (packRegisters): fixed bug #720667
1625
1626 2003-04-13  Borut Razem <borut.razem@siol.net>
1627
1628         * doc/sdccman.lyx: updated info about #pragma SAVE/RESTORE nesting
1629         * configure.in, configure: fixed problems on cygwin/WinCVS environmet with ports.* line endings;
1630           fixed mingw problem in adl_NORMALIZE_PATH
1631
1632 2003-04-12  Borut Razem <borut.razem@siol.net>
1633
1634         * fixed "#pragma SAVE/RESTORE can not be nested":
1635         * src/SDCC.lex: reworked pragma handling functions
1636         * sdcc/src/SDCCglobl.h: reworked stack handling macros
1637         * support/Util/SDCCerr.c, support/Util/SDCCerr.h: added E_STACK_VIOLATION error
1638
1639 2003-04-12  Bernhard Held <bernhard@bernhardheld.de>
1640
1641         * src/SDCCutil.c (pathEquivalent): defined but not used
1642         * debugger/mcs51/sdcdb.c: replace SDCC_LIB_DIR
1643         * configure.in: remove sdcc_datadir, sdcc_lib_dir and sdcc_include_dir
1644         * configure: rebuilt from configure.in
1645         * sdccconf_in.h: remove SDCC_LIB_DIR and SDCC_INCLUDE_DIR
1646         * sdcc_vc_in.h: remove SDCC_LIB_DIR and SDCC_INCLUDE_DIR
1647         * device/include/Makefile.in: replace sdcc_datadir
1648         * device/lib/Makefile.in: replace sdcc_datadir
1649         * Makefile.common.in: add LDFLAGS from configure
1650         * packihx/Makefile.in: use LDFLAGS
1651         * src/Makefile.in: use LDFLAGS
1652         * support/cpp2/Makefile.in: add LDFLAGS from configure
1653         * support/makebin/Makefile: use LDFLAGS
1654         * .version: bumped version number to 2.3.5
1655
1656 2003-04-12  Borut Razem <borut.razem@siol.net>
1657
1658         * completed "different paths" task:
1659         * src/SDCCmacro.c: fixed bug in handling quotes
1660         * src/SDCCutil.c, src/SDCCutil.c: rewritten getPrefixFromBinPath()
1661         * src/SDCCmain.c: _discoverPaths() replaced with setBinPaths(), setIncludePath() and setLibPath()
1662
1663 2003-04-12  Bernhard Held <bernhard@bernhardheld.de>
1664
1665         * src/pic/pcoderegs.c (Remove1pcode): fix warning on alpha
1666
1667 2003-04-11 kevin Vigor <kevin@vigor.nu>
1668
1669         * ds390/gen.c ds390/peeph.def: fix bug 706781
1670
1671 2003-04-11  Borut Razem <borut.razem@siol.net>
1672
1673         * support/Util/dbuf.c, support/Util/dbuf.h: update to version 1.1.1 - re-added C++ stuff to make it still more portable
1674
1675 2003-04-10  Scott Dattalo  <scott@dattalo.com>
1676
1677         * src/pic/* Applied the pointer-to-function patch from Steve Tell.
1678         * src/pic/* Fixed several pointer bugs. (PIC port broke when the ruonly bit was
1679          set - this bit used to not be set...).
1680         * src/pic/gen.c Fixed buf 609268 ==> x = (x+1) & 0xf; generated 
1681           bad code in PIC Port
1682         * src/regression/and2.c added to test bug 609268
1683         * src/regression/Makefile added and2.c to regression test
1684
1685
1686 2003-04-08    <johan@CP255758-A>
1687
1688         * src/mcs51/gen.c (gen51Code): display reg usage in --icode-in-asm
1689         * src/mcs51/ralloc.c (serialRegAssign): update the registers in use and save some slocs
1690         * src/SDCCicode.h: added riu to show the register usage in --icode-in-asm
1691
1692 2003-04-07  Bernhard Held <bernhard@bernhardheld.de>
1693
1694         * configure.in: fully support prefix, exec_prefix, datadir, docdir;
1695         fix bug #487815
1696         * support/cpp2/Makefile.in: fix bug #487815
1697         * configure: rebuilt from configure.in
1698         * Makefile.common.in: docdir changed, new path suffixes
1699         * sdccconf_in.h: new RETSIGTYPE, and other PATHs
1700         * sdcc_vc_in.h: reflect changes from sdccconf.h
1701         * src/SDCCglobl.h: remove *SEPARATOR_CHARS, they are now in sdccconf.h
1702         * src/SDCCutil.h: remove BINDIR hack
1703         * doc/sdccman.lyx: update new path hierarchy
1704
1705 2003-04-06    Paul Stoffregen <paul@pjrc.com>
1706
1707         * src/SDCCpeeph.c: added okToRemoveSLOC test
1708
1709 2003-04-06    Paul Stoffregen <paul@pjrc.com>
1710
1711         * device/lib/printf_fast.c: added leading zero format ("%06d", etc)
1712
1713 2003-04-06    Paul Stoffregen <paul@pjrc.com>
1714
1715         * src/SDCCpeeph.c: added labelIsReturnOnly test
1716         * src/mcs51/peeph.def: Peephole 244: replace ljmp to ret with ret
1717
1718 2003-04-05    <johan@balder>
1719
1720         * src/SDCCcse.c (cseAllBlocks): fixed bug #460088
1721         * src/SDCCloop.c (DEFSETFUNC): fixed bug #460088
1722         * src/SDCCopt.c (eBBlockFromiCode): fixed bug #460088
1723         * src/SDCCast.c: fixed a warning
1724         * src/SDCCast.h: fixed a warning
1725         * src/SDCCicode.c (operandFromAst): fixed a warning
1726
1727 2003-04-04    <johan@balder>
1728
1729         * src/SDCCloop.c (DEFSETFUNC): undid the fix for bug #519584
1730         * src/SDCCast.c (decorateType): fixed bug #715076
1731         * src/SDCC.y: fixed bug #702907
1732
1733 2003-04-03    <johan@balder>
1734
1735         * device/lib/_mulint.c (_muluint): new #pragma LESS_PEDANTIC
1736         * src/SDCCopt.c (eBBlockFromiCode): new #pragma LESS_PEDANTIC
1737         * src/SDCCglobl.h (PRAGMA_LESSPEDANTIC): new #pragma LESS_PEDANTIC
1738         * src/SDCC.lex (doPragma): new #pragma LESS_PEDANTIC
1739         * src/SDCCmain.c (parseCmdLine): new #pragma LESS_PEDANTIC
1740
1741 2003-04-03  Bernhard Held <bernhard@bernhardheld.de>
1742
1743         * _decdptr.c: fix return values
1744         * _gptrget.c: fix return values
1745         * _gptrgetc.c: fix return values
1746         * _gptrput.c: fix return values
1747         * _mulint.c: fix return values
1748         * as/z80/Makefile: fix 'make -j' problem
1749
1750 2003-04-02  Bernhard Held <bernhard@bernhardheld.de>
1751
1752         * Makefile.common.in: unused PORT, SCC and SAS removed, fixed docdir
1753         * configure.in: big cleanup, updated to autoconf 2.5x
1754         * configure: rebuilt from configure.in
1755         * sdccconf_in.h: new RETSIGTYPE, and other PATHs
1756         * sdcc_vc_in.h: reflect changes from sdccconf.h
1757         * doc/Makefile: fixed a flaw in "make install"
1758
1759 2003-04-02    <johan@balder>
1760
1761         * src/ds390/gen.c (genCmp): no comments
1762         * src/mcs51/gen.c (genCmp): no comments
1763         * src/SDCCopt.c (eBBlockFromiCode): detect missing return values
1764         * src/SDCCast.c (ast_print): fixed the function type in --dumptree
1765
1766 2003-04-01  Bernhard Held <bernhard@bernhardheld.de>
1767
1768         * support/regression/generate-cases.py: place generated file in given sub directory
1769         * support/regression/ports/host/spec.mk: prevent removal of testfwk.o
1770         * support/regression/Makefile: improvements for 'make -j';
1771         side effect: it's simpler and faster now
1772
1773 2003-03-31  Borut Razem <borut.razem@siol.net>
1774
1775         * src/z80/main.c: link-{port} and as-{port} defined without path
1776         * src/src.dsp: support/Util/MySystem.h and src/SDCCutil.h added to project
1777
1778 2003-03-31  Bernhard Held <bernhard@bernhardheld.de>
1779
1780         * Makefile, src/Makefile.in: add dependencies, so that 'make -j' works
1781
1782 2003-03-30  Borut Razem <borut.razem@siol.net>
1783
1784         * support/Util/BuildCmd.c, support/Util/BuildCmd.h: rewrite buildCmdLine(),
1785           changed type of list parameter to set
1786         * src/ds390/main.c: changed type of parameter asmOptions to set in _tininative_do_assemble()
1787         * src/port.h: changed type of do_assemble() parameter to set
1788         * src/SDCCmain.c: type of asmOptions changed to set, introduced setParseWithComma(),
1789           sdcpp defined without path, removed variable VersionString, introduced set binPathSet,
1790           definition of "cppoutfilename" macro with NULL value in preProcess()
1791         * src/SDCCglobl.h: included "SDCCset.h", added declaration of setParseWithComma()
1792         * src/SDCCglue.c: removed variable VersionString, inroduced spacesToUnderscores()
1793         * support/Util/MySystem.c, support/Util/MySystem.h: rewrite, char *ExePathList[]
1794           replaced with set *binPathSet
1795         * shash_add() deallocates the item, if allready exsists, before adding the new one
1796         * src/SDCCmacro.c: handling macros with empty or NULL values in _evalMacros()
1797
1798 2003-03-30  Scott Dattalo  <scott@dattalo.com>
1799
1800         * src/pic/gen.c: Commit patch from Steve Tell <tell@telltronics.org> that fixes
1801           a nested for loop bug in the PIC port
1802         * src/regression/nestfor.c: new regression test file Steve wrote to test nested
1803           for loops
1804
1805 2003-03-29  Bernhard Held <bernhard@bernhardheld.de>
1806
1807         * support/Util/dbuf.h: remove C++ stuff to make it portable
1808
1809 2003-03-28  Borut Razem <borut.razem@siol.net>
1810
1811         * src/SDCC.lex: Fix for bug #711240: dynamic buffer handling of C
1812           literal strings in stringLiteral()
1813         * support/Util/dbuf.c, support/Util/dbuf.h: added: dynamic buffer handling
1814         * src/Makefile.bcc, src/Makefile.in, src\src.dsp: added support/Util/dbuf.c
1815           to the project
1816
1817 2003-03-27  Paul Stoffregen <paul@pjrc.com>
1818
1819         * src/SDCCpeeph.c (pcDistance): accurate byte distance for mcs51
1820
1821 2003-03-26    <johan@balder>
1822
1823         * src/mcs51/gen.c (saveRegisters): catched symbol abuse
1824         * src/ds390/gen.c (saveRegisters): catched symbol abuse
1825         * src/SDCCast.c (decorateType): fixed " -v < 3"
1826
1827 2003-03-23  Bernhard Held <bernhard@bernhardheld.de>
1828
1829         * doc/cdbfile.html: removed, replaced by cdbfileformat.lyx
1830         Added Lenny Story's debug infrastructure changes:
1831         * src/Makefile.in:  added new files cdbFile.c and SDCCdebug.c
1832         * src/Makefile.bcc: added new files cdbFile.c and SDCCdebug.c
1833         * src/cdbFile.c: added
1834         * src/SDCCdebug.c: added
1835         * src/SDCCdebug.h: added
1836         * src/SDCCast.c (createFunction)
1837         * src/SDCCglue.c (emitRegularMap, emitStaticSeg, emitOverlay, glue)
1838         * src/SDCCmain.c (parseCmdLine, main)
1839         * src/SDCCmem.c (redoStackOffsets)
1840         * src/SDCCsymt.c (cdbStructBlock, cdbTypeInfo, cdbSymbol, cdbStruct, cdbStructBlock)
1841         * src/SDCCsymt.h
1842         * src/common.h
1843         * src/avr/gen.c (genAVRCode)
1844         * src/ds390/gen.c (gen390Code)
1845         * src/mcs51/gen.c (gen51Code) 
1846         * src/pic/gen.c (genpic14Code)
1847         * src/pic/glue.c (pic14emitRegularMap, pic14emitStaticSeg, pic14emitOverlay, picglue)
1848         * src/xa51/gen.c (genXA51Code)
1849         * src/SDCCast.c: fixed "void foo(void){char c; -c < 0;}"
1850
1851 2003-03-22  Frieder Ferlemann <Frieder.Ferlemann@web.de>
1852
1853         * src/mcs51/gen.c (genCodePointerGet): quicker code for bug #700797
1854         * src/mcs51/peeph.def: added rules 177, 241.x to 243, touched 181, 182.x, 193.x
1855
1856 2003-03-22    <johan@balder>
1857
1858         * src/SDCCicode.c (geniCodeDerefPtr): fixed bug #698231
1859
1860 2003-03-21  Bernhard Held <bernhard@bernhardheld.de>
1861
1862         * support/scripts/sdcc_mingw32: adapted to configure from autoconf 2.54
1863         * doc/cdbfileformat.lyx: added, written by Lenny Story
1864         * doc/Makefile: added cdbfileformat.lyx
1865         * doc/clean.mk: added cdbfileformat.lyx
1866
1867 2003-03-20  Bernhard Held <bernhard@bernhardheld.de>
1868
1869         * src/mcs51/peeph.def: fix bug #705773
1870
1871 2003-03-20    <johan@balder>
1872
1873         An sfr/sbit can have an "at #" AND an initializer
1874         * src/SDCCsymt.c (checkSClass): 
1875         * src/SDCCmem.c (allocGlobal): 
1876         * src/SDCCmem.c (allocLocal):
1877         * src/SDCCast.c (createBlock): 
1878
1879 2003-03-17  Bernhard Held <bernhard@bernhardheld.de>
1880
1881         * src/ds390/peeph.def: fix bug #704878: added rule 213.b suggested by Jan Rejlek
1882
1883 2003-03-16    <johan@balder>
1884
1885         Undid the hackup of const and volatile, the problem is much bigger
1886         * src/SDCC.y:1.65
1887         * src/SDCCast.c:1.171
1888         * src/SDCCglue.c:1.138
1889         * src/SDCCicode.c:1.146
1890         * src/SDCCsymt.c:1.150
1891         * src/SDCCval.c:1.65
1892
1893 2003-03-15  Bernhard Held <bernhard@bernhardheld.de>
1894
1895         * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #703541
1896         * src/ds390/gen.c (genAddrOf): fixed bug #704087
1897
1898 2003-03-13    <johan@balder>
1899
1900         Hackup const and volatile modifiers in type chains a bit:
1901         * src/SDCC.y:1.63
1902         * src/SDCCast.c:1.169
1903         * src/SDCCglue.c:1.136
1904         * src/SDCCicode.c:1.143
1905         * src/SDCCsymt.c1.146
1906         * src/SDCCsymt.h1.59
1907         * src/SDCCval.c:1.63
1908
1909 2003-03-12    <johan@balder>
1910
1911         * src/SDCCBBlock.h: more LRH debugging junk
1912         * src/SDCCcflow.h: more LRH debugging junk
1913         * src/SDCCloop.c: more LRH debugging junk
1914         * src/SDCC.y (struct_declaration): fixed bug #697590
1915         * src/SDCCsymt.[hc] (cloneSpec): NEVER EVER use this again
1916         * src/ds390/gen.c (aopForRemat): fixed bug #700031
1917         * src/SDCCglue.c (emitStaticSeg): fixed bug #700797
1918
1919 2003-03-11 Kevin Vigor <kevin@vigor.nu>
1920         * src/SDCCpeeph.c: quit being lazy and made proper fix (peephole
1921         test function names must now match exactly).
1922         * src/SDCCcse.c: added special case in findCheaperOp to allow
1923         extending a short integer. Makes less awful code for bug 700121 test case.
1924
1925 2003-03-11  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1926
1927         * as/mcs51/lkmain.c: Added ASlink-Warning to messages 
1928         * as/mcs51/lkaomf51.c: Fixed bug when linking asmblink example
1929
1930 2003-03-11 Kevin Vigor <kevin@vigor.nu>
1931
1932         * src/SDCCpeeph.c: fix so that operandsNotEqualX functions are
1933         actually called (operandsNotEqual() was called for all 
1934         operandsNotEqualX tests).
1935
1936 2003-03-11 Kevin Vigor <kevin@vigor.nu>
1937
1938         * src/SDCCcse.c: fix findCheaperOp to prevent replacing int types
1939         with shorter literals. Fixes bug 700121.
1940
1941 2003-03-11    <johan@balder>
1942
1943         * src/SDCCsymt.c (compareType): a (void *) can be assigned to any pointer
1944
1945 2003-03-11  Bernhard Held <bernhard@bernhardheld.de>
1946
1947         * src/SDCCloop.c (mergeRegions): an evil beast is dead
1948         * src/SDCCmain.c (preProcess): minor cleanup: eliminate preOutName
1949
1950 2003-03-10  Borut Razem <borut.razem@siol.net>
1951
1952         * src/SDCCmain.c: pipe preprocessor's output
1953         * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
1954         * sdcc_vc_in.h: define pclose as _pclose for WIN32
1955         * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
1956         which closes all pipes in pipeSet set
1957         * src/SDCCset.c: free deleted item in function deleteSetItem()
1958         * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
1959         moved from z80 to src subproject
1960         * .version: increased version number to 2.3.4
1961
1962 2003-03-10  Bernhard Held <bernhard@bernhardheld.de>
1963
1964         * support/regression/ports/mcs51/spec.mk: increase timeout for CF's sparc to 30s
1965         * support/regression/ports/ds390/spec.mk: increase timeout for CF's sparc to 25s
1966         * support/regression/ports/xa51/spec.mk: fix typo
1967
1968 2003-03-09  Bernhard Held <bernhard@bernhardheld.de>
1969
1970         * src/SDCCglobl.h: PATH_MAX is already defined in mingw32 headers
1971
1972 2003-03-09  Borut Razem <borut.razem@siol.net>
1973
1974         * src/SDCCmain.c: pipe preprocessor's output
1975         * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
1976         * sdcc_vc_in.h: define pclose as _pclose for WIN32
1977         * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
1978         which closes all pipes in pipeSet set
1979         * src/SDCCset.c: free deleted item in function deleteSetItem()
1980         * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
1981         moved from z80 to src subproject
1982
1983 2003-03-09  Borut Razem <borut.razem@siol.net>
1984
1985         * src/SDCCglue.c: re-implemented tempfilename() and tempfile(): using mkstemp() if available
1986         * src/SDCCsymt.h: fixed MSVC and BORLANDC compilation (included SDCCglobl.h instead srccconf.h)
1987         * sdcc_vc_in.h: explicitly undefined HAVE_MKSTEMP which is not available on BORLANDC and MSVC
1988         * src/SDCCset.h: removed inclusion of sdccconf.h or sdcc_vc.h
1989         * src/SDCCglobl.h: unification of WIN32 native definitions
1990
1991 2003-03-09  Frieder Ferlemann <Frieder.Ferlemann@web.de>
1992
1993         * src/mcs51/gen.c: applied in-/dec patch mentioned on sdcc-devel 2003-03-01
1994
1995 2003-03-08  Bernhard Held <bernhard@bernhardheld.de>
1996
1997         * src/configure.in:   check for endianess (even while cross-compiling)
1998         * src/configure:      check for endianess (even while cross-compiling)
1999         * src/configure_in.h: check for endianess (even while cross-compiling)
2000         * src/avr/gen.c:        remove old endianess stuff
2001         * src/mcs51/gen.c:      remove old endianess stuff
2002         * src/ds390/gen.c:      remove old endianess stuff
2003         * src/pic/gen.c:        remove old endianess stuff
2004         * src/pic/genarith.c:   remove old endianess stuff
2005         * src/pic/glue.c:       fix endianess check
2006         * src/pic16/gen.c:      remove old endianess stuff
2007         * src/pic16/genarith.c: remove old endianess stuff
2008         * src/pic16/glue.c:     fix endianess check
2009         * src/xa51/gen.c:       remove old endianess stuff
2010         * src/z80/gen.c:        fix endianess check
2011         * src/SDCCglue.c:       fix endianess check
2012         * src/ds390/peeph.def: fix bug 700036
2013
2014 2003-03-08  Bernhard Held <bernhard@bernhardheld.de>
2015
2016         * src/SDCCsymt.h: use appropriate data-types on host for SDCC's int and long
2017         * src/configure: find appropriate data-types on host for SDCC's int and long
2018         * src/configure.in: find appropriate data-types on host for SDCC's int and long
2019         * src/sdccconf_in.h: find appropriate data-types on host for SDCC's int and long
2020         * src/xa51/gen.c: use %d, not %ld for 4 byte variables
2021
2022 2003-03-07    <johan@balder>
2023
2024         Just a big NOOP:
2025                 some minor cleanups before the big shot
2026                 OP_DEFS and OP_USES now use Kevin's protection
2027                 new option --nolabelopt
2028
2029         * src/SDCCBBlock.c:
2030         * src/SDCCast.c,:
2031         * src/SDCCcflow.c:
2032         * src/SDCCcse.c:
2033         * src/SDCCicode.c:
2034         * src/SDCCicode.h:
2035         * src/SDCClabel.c:
2036         * src/SDCCloop.c:
2037         * src/SDCCmain.c:
2038         * src/ds390/ralloc.c:
2039         * src/mcs51/ralloc.c:
2040         * src/pic/ralloc.c:
2041         * src/xa51/ralloc.c:
2042         * src/z80/ralloc.c:
2043
2044 2003-03-06  Bernhard Held <bernhard@bernhardheld.de>
2045
2046         * src/pic/pcode.c (get_op): fix 64 bit warnings
2047         * src/pic/pcode.c (pCode2str): fix 64 bit warnings
2048         * src/SDCChasht.c (newHashTable): fix 64 bit warnings
2049         * src/SDCCsymt.c (checkTypeSanity): fix 64 bit warnings
2050         * support/regression/tests/malloc.c: fix 64 bit warnings
2051
2052 2003-03-04  Bernhard Held <bernhard@bernhardheld.de>
2053
2054         * src/mcs51/gen.c (genMinus): fixed bug 696436
2055
2056 2003-03-02  Borut Razem <borut.razem@siol.net>
2057
2058         * src/SDCCmain.c: added BORLANDC, corrected MSVC in printVersionInfo()
2059
2060 2003-02-26  Bernhard Held <bernhard@bernhardheld.de>
2061
2062         * configure.in: test for mkstemp
2063         * sdccconf_in.h: add HAVE_MKSTEMP
2064
2065 2003-02-24  Bernhard Held <bernhard@bernhardheld.de>
2066
2067         * device/include/ctype.h: removed warning while using --stack-auto
2068         * device/include/malloc.h: removed warning while using --stack-auto
2069         * device/include/string.h: removed warning while using --stack-auto
2070
2071 2003-02-23  Borut Razem <borut.razem@siol.net>
2072
2073         * src/asm.h: corrected assertion in function printILine(): _pipe() was not executed on MSVC,
2074         because NDEBUG is defined (see man assert)
2075         * sdcc_vc_in.h: vsnprintf is defined as _vsnprintf on MSVC
2076
2077 2003-02-23  Frieder Ferlemann <Frieder.Ferlemann@web.de>
2078
2079         * src/mcs51/gen.c (genUminusFloat): avoided dptr in-/decrement for xdata variables
2080         * src/mcs51/peeph.def: added rule suggested by Gernot Fink, white space/comment changes
2081
2082 2003-02-18  Frieder Ferlemann <Frieder.Ferlemann@web.de>
2083
2084         * src/SDCCpeeph.c: added peephole conditions testing for same arguments
2085         * src/mcs51/peeph.def: added rules 238a-d which remove redundant moves
2086
2087 2003-02-18    <johan@balder>
2088
2089         * as/mcs51/asmain.c (asmbl): module can start with a digit
2090         * as/z80/asmain.c (asmbl): module can start with a digit
2091
2092 2003-02-16  Bernhard Held <bernhard@bernhardheld.de>
2093
2094         * sim/ucsim/mkecho: inserted #!/bin/sh for Cygwin, so that it's executable
2095         * src/asm.c: fix pipe() for Mingw32
2096
2097 2003-02-15  Bernhard Held <bernhard@bernhardheld.de>
2098
2099         * src/SDCCglue.h: make tmpfileNameSet available for preOutName
2100         * src/SDCCmain.c (preProcess): make sure, that preOutName will be deleted;
2101         make -V work again; --c1mode reads now from stdin
2102         * doc/sdccman.lyx: added --c1mode
2103         * support/Util/SDCCerr.c: new messages for c1 mode
2104         * support/Util/SDCCerr.h: new messages for c1 mode
2105         * src/SDCC.lex (checkCurrFile): test if fullSrcFileName is NULL for c1mode
2106
2107 2003-02-15    <johan@balder>
2108
2109         * src/asm.c: new options: --no-c-code-in-asm and --i-code-in-asm
2110
2111 2003-02-14  Bernhard Held <bernhard@bernhardheld.de>
2112
2113         * doc/sdccman.lyx: Environment variables, -o and other minor things
2114
2115 2003-02-14    <johan@balder>
2116
2117         * src/xa51/main.c: before anyone really tries to use it :)
2118
2119         * Install doc's in share/sdcc/doc
2120         * removed some obsolete files
2121         * Do a proper make distclean and uninstall
2122         M Makefile.common.in
2123         R sdccbuild.sh
2124         M as/Makefile
2125         M device/include/Makefile.in
2126         M device/lib/Makefile.in
2127         M doc/sdccman.lyx
2128         M link/Makefile
2129         M sim/ucsim/doc/Makefile.in
2130         M src/clean.mk
2131         R src/avr/peeph.rul
2132         R src/xa51/peeph.rul
2133         M support/cpp2/Makefile.in
2134         M support/makebin/Makefile
2135
2136
2137 2003-02-13  Bernhard Held <bernhard@bernhardheld.de>
2138
2139         * support/regression/ports/host/spec.mk: use cc as host compiler for max osx
2140
2141 2003-02-10  Borut Razem <borut.razem@siol.net>
2142
2143         * doc/bccinst.txt, packihx/packihx.c, sdcc_vc_in.h, src/SDCCset.h,
2144         support/cpp2/config.in: Borland C++ build doesn't depend on Cygwin configure
2145         * Bcc.ini, Makefile.bcc, as/mcs51/Makefile.bcc,
2146         device/examples/ds390/tinitalk/Makefile.bcc, packihx/Makefile.bcc,
2147         support/cpp2/Makefile.bcc, src/Makefile.bcc, src/avr/Makefile.bcc,
2148         src/ds390/Makefile.bcc, src/izt/Makefile.bcc, src/mcs51/Makefile.bcc,
2149         src/pic/Makefile.bcc, src/pic16/Makefile.bcc, src/xa15/Makefile.bcc,
2150         src/z80/Makefile.bcc: Borland Makefile cleanup
2151         * as/z80/Makefile.bcc: Added Borland Makefile
2152         * support/cpp2/borland.h: Removed
2153
2154 2003-02-10  Bernhard Held <bernhard@bernhardheld.de>
2155
2156         * doc/sdccman.lyx: new pragma NOIV by "Johannes Stezenbach" <js@convergence.de>
2157         * src/SDCC.lex: new pragma NOIV
2158         * src/SDCCglobl.h: new pragma NOIV
2159         * src/SDCCmem.c: new pragma NOIV
2160
2161 2003-02-09  Bernhard Held <bernhard@bernhardheld.de>
2162
2163         * src/SDCCmain.c: signal handling is switched off by SDCC_LEAVE_SIGNALS
2164
2165 2003-02-09  Bernhard Held <bernhard@bernhardheld.de>
2166
2167         * src/SDCCmain.c: signal handling is switched off by --debug
2168         * doc/Makefile: small fix for install; use clean.mk again
2169         * doc/clean.mk: clean *.pdf and *.html too
2170
2171 2003-02-08  Bernhard Held <bernhard@bernhardheld.de>
2172
2173         * device/lib/_mulint.c: small fix for large/ds390 --int-long-reent resp. --stack-auto
2174         * device/lib/printfl.c: fix a ds390 bug by making it portable
2175         * src/SDCCsymt.c (initCSupport): fix compile warning on Cygwin
2176         * src/SDCCopt.c (cnvToFloatCast): fix compile warning on Cygwin
2177         * src/SDCCopt.c (cnvFromFloatCast): fix compile warning on Cygwin
2178         * debugger/mcs51/cmd.c: converted multi-line string literals
2179         * sim/ucsim/globals.cc: converted multi-line string literals
2180         * src/SDCCmain.c: introduced signal handler to remove temp files
2181         * doc/Makefile: small tweaks, implement clean
2182         * doc: removed generated files
2183
2184 2003-02-05  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
2185
2186         * as/mcs51/aslink.h, as/mcs51/lkihx.c, as/mcs51/lkrloc.c:  Applied
2187         patch from Jan Rejlek <jr@apex-lib.cz> to fix Bug 677692: "Extended
2188         Address Record is not correctly generated for DS390."
2189
2190 2003-02-02  Borut Razem <borut.razem@siol.net>
2191
2192         * Makefile.bcc: removed non existing cpp project and non compilable izt project from makefile
2193         * as/mcs51/asm.h: fixed compilation with Borland C
2194         * support/cpp2/Makefile.bcc: added rule to generate auto-host.h
2195         * support/cpp2/auto-host_vc_in.h: fixed compilation with Borland C
2196         * src/mcs51/mcs51a.dsp: corrected misspelled project name from msc51a to mcs51a
2197         * src/avr/Makefile.bcc, src/ds390/Makefile.bcc, src/izt/Makefile.bcc,
2198         src/mcs51/Makefile.bcc, src/pic16/Makefile.bcc, src/xa51/Makefile.bcc,
2199         src/z80/Makefile.bcc: delete $(LIB) only if exist
2200         * src/Makefile.bcc, src/pic/Makefile.bcc:  fixed compilation with Borland C
2201
2202 2003-02-02  Bernhard Held <bernhard@bernhardheld.de>
2203
2204         * device/include/malloc.h: introduced NULL
2205         * device/include/string.h: introduced NULL
2206         * device/include/stdlib.h: introduced NULL
2207         * device/lib/_memcpy.c: removed NULL
2208         * device/lib/_strcat.c: removed NULL
2209         * device/lib/_strchr.c: removed NULL
2210         * device/lib/_strcmp.c: removed NULL
2211         * device/lib/_strcpy.c: removed NULL
2212         * device/lib/_strcspn.c: removed NULL
2213         * device/lib/_strlen.c: removed NULL
2214         * device/lib/_strncat.c: removed NULL
2215         * device/lib/_strncmp.c: removed NULL
2216         * device/lib/_strncpy.c: removed NULL
2217         * device/lib/_strpbrk.c: removed NULL
2218         * device/lib/_strrchr.c: removed NULL
2219         * device/lib/_strspn.c: removed NULL
2220         * device/lib/_strstr.c: removed NULL
2221         * device/lib/_strtok.c: removed NULL
2222         * device/lib/malloc.c: removed NULL, include own header
2223
2224 2003-02-02    <johan@balder>
2225
2226         * 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
2227         * support/regression/fwk/lib/testfwk.c: div and mod isn't broken anymore
2228         * regressions ds390/spec.mk and mcs51/spec.mk (timeout): my good old balder isn't fast enough for some tests
2229         * src/z80/gen.c (genZ80Code): added c-lines in asm comments
2230         * as/z80/asm.h (NINPUT): increased for long c-comments in regression tests
2231         * src/z80/gen.c (genRightShiftLiteral): fixed the (char)(-3)>>8 (I think)
2232
2233 2003-02-01  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
2234
2235         * src/SDCCmain.c: Fixed bug 678574: "ds390: ASlink-Error-Stack overlaps
2236         area 'DATA'"
2237
2238 2003-02-01    <johan@balder>
2239
2240         * src/SDCCval.c (valBitwise): fixed Karl's "2 | (1<<8)"
2241
2242 2003-01-31    <johan@CP255758-A>
2243
2244         * src/ds390/main.c (_ds390_genAssemblerPreamble): applied Jan Rejlek's >64K startup patch
2245
2246 2003-01-30    <johan@balder>
2247
2248         * src/SDCCBBlock.c: automatic bug detection
2249         * src/SDCCicode.c: automatic bug detection
2250
2251 2003-01-29  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
2252
2253         * src/SDCCglobl.h:   now --xram-size 0 works
2254         * src/SDCCmain.c:    now --xram-size 0 works
2255
2256 2003-01-29    <johan@balder>
2257
2258         * src/almosteverything: changed OP_DEFS and OP_USES from macros to functions to catch symbol abuse (a hot topic in the bug list :)
2259
2260 2003-01-29  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
2261
2262         * as/mcs51/aslink.h: Added options --xram-size and --code-size 
2263         * as/mcs51/lkdata.c: Added options --xram-size and --code-size 
2264         * as/mcs51/lkmain.c: Added options --xram-size and --code-size 
2265         * as/mcs51/lkmem.c:  Added options --xram-size and --code-size 
2266         * src/SDCCglobl.h:   Added options --xram-size and --code-size 
2267         * src/SDCCmain.c:    Added options --xram-size and --code-size 
2268
2269 2003-01-28  Bernhard Held <bernhard@bernhardheld.de>
2270
2271         * src/ds390/gen.c: fix deps by replacing <common.h> with "common.h"
2272         * src/SDCC.lex: rename P_OVERLAY to P_OVERLAY_ for cross-gcc 3.2 MINGW32
2273
2274 2003-01-27    <johan@balder>
2275
2276         * src/SDCC.y: fixed bug #613764
2277
2278 2003-01-26    <johan@balder>
2279
2280         * src/SDCClrange.c:  fixed Bernhard's "char * code ptr = &c"
2281         * src/SDCCsymt.h: fixed bug #673374
2282         * src/SDCCglue.c: fixed bug #661910
2283         * src/SDCCast.c: fixed bug #458099 and 673374
2284
2285 2003-01-26  Bernhard Held <bernhard@bernhardheld.de>
2286
2287         * as/mcs51/strcmpi.c: added, provides Aurelien Jarno's as_strcmpi(); strcmpi() is not ANSI
2288         * as/mcs51/strcmpi.h: added
2289         * as/mcs51/asm.h: remove ugly "#define strcmpi strcmp"
2290         * as/mcs51/aslink.h: remove ugly "#define strcmpi strcmp"
2291         * as/mcs51/asmain.c: strcmpi -> as_strcmpi
2292         * as/mcs51/assym.c: strcmpi -> as_strcmpi
2293         * as/mcs51/lkmem.c: strcmpi -> as_strcmpi
2294         * as/mcs51/lknoice.c: strcmpi -> as_strcmpi
2295         * as/mcs51/lksym.c: strcmpi -> as_strcmpi
2296         * as/mcs51/Makefile.aslink: new module strcmpi
2297         * as/mcs51/Makefile.asx8051: new module strcmpi
2298         * as/mcs51/Makefil.bcc: new module strcmpi
2299         * as/mcs51/Makefile.in: new module strcmpi
2300         * sim/ucsim/s51.src/uc390.cc (get_mem_size): make RAM big enough for tinibios
2301
2302 2003-01-26    <johan@balder>
2303
2304         * src/SDCCglue.c: reverted back to 1.124
2305         * src/SDCCast.c: reverted back to 1.156
2306         * src/mcs51/gen.c (aopGet): applied Frieder's efficiency patch
2307
2308 2003-01-25    <johan@balder>
2309
2310         * src/SDCCglue.c: A better fix for bug #661910
2311         * src/SDCCast.c: A better fix for bug #661910
2312         * src/SDCCglue.c (emitRegularMap): That was a little too efficient
2313
2314 2003-01-24  Bernhard Held <bernhard@bernhardheld.de>
2315
2316         * src/Makefile.in: remove spawn.o
2317         * src/SDCCmain.c: remove spawn.h
2318         * src/SDCCmain.c (printVersionInfo): report MINGW32 instead of UNIX
2319         * src/spawn.c: removed
2320         * src/spawn.h: removed
2321         * support/regression/ports/ds390/spec.mk: link with -r
2322
2323 2003-01-24    <johan@CP255758-A>
2324
2325         * src/ds390/gen.c (aopOp): fixed bug #667458
2326         * src/SDCCglue.c (emitRegularMap): fixed bug #458099 again
2327         * src/SDCCast.c (createIvalCharPtr): fixed bug #661910
2328         (createIvalCharPtr): an ival doesn't always have a storage class anymore
2329
2330 2003-01-24  Bernhard Held <bernhard@bernhardheld.de>
2331
2332         * src/mcs51/peeph.def: better assembler identation by Frieder
2333         * src/mcs51/gen.c: better assembler identation by Frieder
2334
2335 2003-01-22  Bernhard Held <bernhard@bernhardheld.de>
2336
2337         * as/z80/string.h: removed for gcc 3.2
2338         * support/makebin/makebin.c: #include <string.h> for gcc 3.2
2339         * src/pic/pcode.c (get_op_from_instruction): fix concatenation of string literals with __FUNCTION__ for gcc 3.2
2340
2341 2003-01-19  Bernhard Held <bernhard@bernhardheld.de>
2342
2343         * src/SDCCmain.c (linkEdit): rename mem and map files even in case of failure
2344         * src/SDCCpeeph.c (replaceRule): fix bug #663503
2345         * support/regression/Makefile: separate temp files for ports
2346         * support/regression/generate-cases.py: separate temp files for ports
2347         * src/mcs51/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
2348         * src/ds390/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
2349
2350 2003-01-19  Bernhard Held <bernhard@bernhardheld.de>
2351
2352         * moved tinitalk to device/examples/ds390
2353
2354 2003-01-14  Bernhard Held <bernhard@bernhardheld.de>
2355
2356         * as/mcs51/lkmem.c: rflag is for DS390
2357         * src/SDCCglobl.h: removed out_name and options stackOnData, genericPtr
2358         * src/SDCCmain.c (optionsTable, setDefaultOptions): removed --stack-after-data and --generic
2359                          (linkEdit): move mem- and map-files the same way as ihx-files
2360         * src/z80/main.c (_setDefaultOptions): removed --generic
2361         * src/SDCCmain.c (_processC1Arg, parseCmdLine, main): --c1mode works again
2362         * src/SDCCglue.c (createInterruptVect, glue): --c1mode works again
2363         * src/pic/glue.c (picglue): --c1mode works again
2364         * src/pic16/glue.c (pic16glue): --c1mode works again
2365         * src/asm.c (printCLine): fix #660034
2366
2367 2003-01-13  Bernhard Held <bernhard@bernhardheld.de>
2368
2369         * src/ds390/peeph.def: fix #123; add 14 rules by Fiorenzo D. Ramaglia <fd.ramaglia@tin.it>, 1 by Frieder
2370         * src/mcs51/peeph.def: fix #123; add 14 rules by Fiorenzo, 1 by Frieder
2371         * src/mcs51/gen.c (genFunction): emit r0 instead of ar0 by Fiorenzo
2372         * as/mcs51/lkmem (summary): better fix for sp problem
2373         * src/SDCCglue.c (glue): __start_stack - 1, saves 1 byte!
2374         * src/ds390/main.c (_ds390_finaliseOptions, _tininative_finaliseOptions): stack_loc = 0x400008
2375         * support/regression/ports/*/spec.mk: moving testfwk-object to port dir allow parallel execution of regression tests
2376                                               remove --stack-after-data
2377
2378 2003-01-12  Bernhard Held <bernhard@bernhardheld.de>
2379
2380         * src/SDCCmain.c (main): port->finaliseOptions() moved for z80 linking
2381         * src/SDCCutil.c (join): ugly bug: missing '\0'
2382         * as/mcs51/lkmem.c (summary): sp on address 7 is safe
2383
2384 2003-01-11  Bernhard Held <bernhard@bernhardheld.de>
2385
2386         * src/SDCCmain.c (assemble, linkEdit): preparations for -o
2387         * src/port.h: typo
2388         * src/pic/main.c (_asmCmd): gpasm supports -o
2389         * src/z80/main.c: more general macros
2390         * device/lib/Makefile.in: remove intermediate files
2391
2392 2003-01-11  Bernhard Held <bernhard@bernhardheld.de>
2393
2394         * .version: Bumped version number to 2.3.3
2395         * src/SDCCBBlock.c: new option -o
2396         * src/SDCCglobl.h: new option -o
2397         * src/SDCCglue.c: new option -o
2398         * src/SDCCmain.c: new option -o
2399         * src/asm.c: new option -o
2400         * src/ds390/main.c: new option -o
2401         * src/pic/glue.c: new option -o
2402         * src/pic/pcode.c: new option -o
2403         * src/pic/ralloc.c: new option -o
2404         * src/pic16/glue.c: new option -o
2405         * src/pic16/pcode.c: new option -o
2406         * src/pic16/ralloc.c: new option -o
2407         * src/z80/main.c: new option -o
2408         * device/lib/Makefile.in: use -o
2409         * support/regression/ports/ds390/spec.mk: use -o
2410         * support/regression/ports/gbz80/spec.mk: use -o
2411         * support/regression/ports/mcs51/spec.mk: use -o
2412         * support/regression/ports/mcs51-stack-auto/spec.mk: use -o
2413         * support/regression/ports/z80/spec.mk: use -o
2414         * support/regression/ports/ucz80/spec.mk: use -o
2415         * support/regression/ports/xa51/spec.mk: use -o
2416         * support/regression/fwk/lib/timeout.c: fix usage string
2417
2418 2003-01-09  Bernhard Held <bernhard@bernhardheld.de>
2419         * src/mcs51/gen.c (genPlus): replaced "mov b,acc" by "mov b,a" Fiorenzo D. Ramaglia <fd.ramaglia@tin.it>
2420         
2421 2003-01-07    <johan@balder>
2422
2423         * src/SDCCast.c (decorateType): fixed bug #600035
2424
2425 2003-01-07  Bernhard Held <bernhard@bernhardheld.de>
2426         * as/mcs51/lkmem.c: added several l-modifiers to printf to remove warnings
2427         * as/mcs51/lkaomf51.c: #include <ctype.h> to remove warnings
2428         * src/pic/main.c (_hasNativeMulFor): outcommented unused variables to remove warnings
2429         * src/pic/pcode.c: outcommented unused variable to remove warnings
2430         * src/pic/ralloc.c: outcommented unused variable to remove warnings
2431
2432 2003-01-06    <karl@turbobit.com>
2433         * sim/ucsim/cmd.src/command.cc: fixed so "break xram r 0x7654" works again in
2434    regression tests.
2435
2436 2003-01-06    <johan@balder>
2437
2438         * src/SDCCicode.c: fixed array add
2439
2440 2002-01-05  Bernhard Held <bernhard@bernhardheld.de>
2441         * src/SDCCmacro.c: MAX_STRING_LENGTH increased to 2048; was too small for regression tests
2442         * support/regression/ports/host/support.c: #include <stdarg.h> for gcc 3.2
2443
2444 2003-01-04    <johan@balder>
2445
2446         * src/SDCCval.c (getNelements): fixed the initialized array of structures
2447
2448 2002-12-29  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
2449         * as/mcs51/Makefile.bcc: fixed typo lkomf51.o -> lkaomf51.o
2450
2451 2002-12-28  Bernhard Held <bernhard@bernhardheld.de>
2452         * src/mcs51/peeph.def: added rules 234 and 235 from Frieder Ferlemann <frieder.ferlemann@web.de>
2453         * support/regression/tests/bug-524697.c: fit mem usage into 8032
2454
2455 2002-12-28  Bernhard Held <bernhard@bernhardheld.de>
2456         * src/mcs51/gen.c (aopGetUsesAcc): inserted missing "return FALSE"
2457
2458 2002-12-27  Bernhard Held <bernhard@bernhardheld.de>
2459         * as/mcs51/Makefile.in: fixed typo lkomf51.o -> lkaomf51.o
2460
2461 2002-12-26  Bernhard Held <bernhard@bernhardheld.de>
2462         * src/mcs51/main.c: removed {bindir}{sep} from aslink
2463
2464 2002-12-10  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
2465
2466     * in \sdcc\as\mcs51\ changed these files in order to create an
2467     aomf51 file: aslink.h, lkdta.c, lklex.c, lklibr.c, lklist.c,
2468     lkmain.c.  Also added: lkmem.c and lkaomf51.c.  Changed the 
2469     following files to include the previous two files: aslink.dsp,
2470     Makefile.aslink, Makefile.bcc, and Makefile.in.
2471
2472     * Changed \sdcc\src\SDCCmain.c so it creates files with extension
2473     .adb instead of .cdb
2474     
2475 2002-11-09  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
2476
2477         * \sdcc\as\mcs51\lklist.c: Now reports memory usage using the
2478         value from option --iram-size.
2479
2480 2002-09-20  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
2481
2482         * \sdcc\as\mcs51\lklist.c: added boundary check before using
2483         dram[] array.
2484
2485 2002-09-18    <wiml@hhhh.org>
2486
2487         * SDCClrange.h: exposed setFromRange() and setToRange()
2488         * mcs51/ralloc.c: fixed over-eager packRegsForSupport() and
2489           packRegsForAccUse() (bug 542397)
2490         * mcs51/gen.c: MOVA() is now a function to avoid calling aopGet()
2491           multiple times and emitting the fetch operations more than once
2492           added aopGetUsesAcc() function to allow binary operators to
2493           fetch their operands in the correct order; made genMinus() emit
2494           compact code for X = LITERAL - Y 
2495
2496 2002-09-00  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
2497         * \sdcc\as\mcs51\lklist.c: Fixed incorrect number of parameters to
2498         sprintf() in line 1267.
2499
2500 2002-09-08  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
2501         * \sdcc\src\SDCCglue.c: Generate areas REG_BANK_[0-3] only for 8051
2502         like ports.
2503
2504 2002-09-04  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
2505         Changes to aslink (All the changes are marked with 'JCF'):
2506
2507         * \sdcc\as\mcs51\aslink.h: External definition of sflag and
2508         summary().
2509
2510         * \sdcc\as\mcs51\lkarea.c: Computes the size of area BSEG_BYTES from
2511         area BSEG.  Also moves, if possible, the DATA area down into the internal
2512         ram so more space is available.
2513
2514         * \sdcc\as\mcs51\lkdata.c: Definition of memory summary output flag
2515         sflag.
2516
2517         * \sdcc\as\mcs51\lklist.c: For the BSEG area report the size in bits,
2518         not bytes.  Function summary() which creates a memory usage summary
2519         file with extension .mem.  Reports of overlaping stack and small stack
2520         size.  If the space for the stack is less than 16 bytes aslink trows a
2521         warning.
2522         
2523         * \sdcc\as\mcs51\lkmain.c: Creation of some of the default areas for
2524         the 8051.  Option 'y' for memory summary output file.
2525
2526         Changes to sdcc (All the changes are marked with 'JCF'):
2527
2528         * \sdcc\src\SDCCglobl.h: External definition of RegBankUsed[4].
2529
2530         * \sdcc\src\SDCCglue.c:  If a register bank is used, creates an
2531         overlaying area for it (uses RegBankUsed[4]).
2532
2533         * \sdcc\src\SDCCmain.c: Definition RegBankUsed[4]; marks register
2534         bank zero as used by default.  By default aslink locates the stack
2535         (equivalent to --stack-after-data).  Pass option 'y' to aslink for
2536         the creation of the .mem file.  Delegates the allocation of data area
2537         to aslink (it is not longer 0x30 by default).  If --stack-loc passes
2538         the begining of the stack area to aslink.
2539
2540         * \sdcc\src\SDCCmem.c:  If a register bank is used, marks it so
2541         glue() in SDCCglue.c creates an area for it.
2542         
2543 2002-09-03  Borut Razem <borut.razem@siol.net>
2544         * sdcc/src/SDCCglue.c, sdcc/src/SDCCglue.h, sdcc/src/SDCCmain.c,
2545         sdcc/src/pic/glue.c:
2546         introduced atexit() handler for teporay files removal in case of
2547         errors, assertions, ...
2548
2549 2002-08-29  Borut Razem <borut.razem@siol.net>
2550         * sdcc/support/cpp2/auto-host_vc_in.h:
2551         re-definition of O_BINARY and other O_XXX as _O_BINARY and _O_XXX, so the problem
2552         with the returned value from read() in sdcc/support/cpp2/cppfiles.c is solved for MSC.
2553         Maybe there is a similar problem with BORLANDC? It should be checked!
2554
2555         * sdcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c, sdcc/src/z80/ralloc.c:
2556         corrected improper use of assert: the assignment to clr variable was done inside the assert.
2557         In case that NDEBUG was defined, the assert macro was substituted with no-op, so the assignment
2558         was not executed, and the compiler (cl) launched a warning:
2559         ralloc.c(1442) : warning C4700: local variable 'clr' used without having been initialized
2560
2561 2002-08-28  Bernhard Held <bernhard@bernhardheld.de>
2562         * src/SDCCglue.c (printIvalArray): iterative calculation of array length
2563
2564 2002-08-28  Jesus Calvino-Fraga and Borut Razem <borut.razem@siol.net>
2565         * sdcc/sdcc.dsw: added sdcpp, sdcppa, yacc, conf projects
2566
2567         * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
2568           sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp,
2569           sdcc/src/xa51/xa51.dsp, sdcc/src/avr/avra.dsp,
2570           sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
2571           sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp,
2572           sdcc/src/xa51/xa51a.dsp, sdcc/as/as_z80.dsp,
2573           sdcc/as/aslink.dsp, sdcc/as/asx8051.dsp, sdcc/packihx/packihx.dsp:
2574         - added Release configuration in VS projects
2575         - review of compiler an linker options
2576         - VC .exe files are generated in bin_vc directory, not to interfere
2577           with binaries generated from other projects (cygwin, mingw, bcc ...)
2578
2579         * sdcc/src/yacc.dsp: added
2580
2581         * sdcc/config.dsp, sdcc/configure_vc.awk, sdcc/sdcc_vc_in.h:
2582         added - genarate sdcc_vc.h using sdcc_vc_in.h as template
2583         and insert the version number definitions from .version 
2584
2585         * sdcc/support/cpp2/sdcpp.dsp: added - VC project for sdcpp
2586
2587         * sdcc/support/cpp2/sdcppa.dsp, sdcc/support/cpp2/auto-host_vc_in.h:
2588         added - genarate auto-host.h using auto-host_vc_in.h as template
2589
2590         * sdcc/sdcc_vc.h,
2591         removed from CVS, generated automatically
2592
2593 2002-08-25  Bernhard Held <bernhard@bernhardheld.de>
2594         * support/scripts/inc2h.pl: use gputils or gpasm (from Nathan Hurst)
2595
2596 2002-08-11  Borut Razem <borut.razem@siol.net>
2597         * support/Util/NewAlloc.c: removed unneeded #include "sdccconf.h" (suggested by Jesus Calvino-Fraga)
2598
2599 2002-08-10  Borut Razem <borut.razem@siol.net>
2600         * src/SDCCmain.c (main):
2601         file preOutName was unlinked before closed. This seems to be OK on UNIX and cygwin
2602         platforms, but it doesn't work with Visual Studio: the opened file can not be removed.
2603         The consequence was that some temporary files were not removed.
2604
2605         * src/SDCCglue.c:
2606         unification of code in functions tempfilename() and tempfile():
2607         function tempnam() is defined in Visual Studio 6.0 and .NET
2608
2609         * sdcc/sdcc.dsw: removed project sdcpp, added project xa51a
2610
2611         * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
2612           sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp:
2613         - removed compiler command line option /WX: Treats all warnings as errors
2614         - update a list of source files, included into the project
2615
2616         * sdcc/src/avr/avra.dsp, sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
2617           sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp:
2618         changed project type to Generic Project so that can be correcly converted to VS.NET project
2619
2620         * sdcc/as/mcs51/asm.h: definition of PATH_MAX for MSC
2621
2622         * sdcc/src/SDCCast.c: solved MSC error in function decorateType()
2623
2624         * sdcc/src/SDCC.y: added missing ending ';' to rules to get rid of bison warnings
2625
2626         * dcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c:
2627         added return 0 statements after assert() to make compiler happy
2628
2629         * sdcc/src/xa51/peeph.rul, sdcc/src/xa51/peeph.def, sdcc/src/z80/ralloc.c:
2630         added newline in the def file to keep MSC compiler satisfied
2631
2632         * sdcc/src/z80/gen.c:
2633         - function strcasecmp() is not defined in MSC (and probably also in BORLANDC),
2634           so it is replaced with STRCASECMP, which is defined as stricmp in case of MSC and BORLANDC
2635         - solved MSC error in function aopDump()
2636
2637         * sdcc_vc.h: define PREFIX as "\\sdcc"
2638
2639 2002-07-18  Bernhard Held <bernhard@bernhardheld.de>
2640         * src/SDCCast.c (decorateType): fixed access to array of structures http://sourceforge.net/mailarchive/forum.php?thread_id=902690&forum_id=4107
2641
2642 2002-06-22  Scott Dattalo <scott@dattalo.com>
2643         * src/pic/*: Numerous bug fixes. Flow analysis has been enhanced. 
2644         - Rewrote the register banking algorithm. 
2645         - Added pCode live-range analysis to registers (for now, only non-used and 
2646         singly-used registers optimized away)
2647
2648         * src/pic/pcoderegs.[ch]: Added new files for pCode live-range analysis
2649
2650         * support/scripts/inc2h.pl Kevin L. Pauba <klpauba@cox.net> submitted this perl script for converting MicroChip include files into SDCC Pic include files.
2651         
2652 2002-05-10  Scott Dattalo <scott@dattalo.com>
2653         * src/pic/*: Added support for multiplication. Fixed many,many bugs.
2654         
2655 2002-04-22  Michael Hope  <michaelh@vroom>
2656
2657         * device/lib/z80/printf.c: Changed emitter to volatile to work around a pcall bug.
2658
2659         * configure.in (DD_COPT): Added include support required for gbdk.
2660
2661         * .version: Bumped version number just to increase it.
2662
2663         * src/SDCCmain.c: Added -nostdinc to the default options.
2664
2665 2002-04-15  Michael Hope  <michaelh@vroom>
2666
2667         * device/lib/z80/printf.c (sprintf): Added.
2668
2669         * src/z80/ralloc.c (packRegisters): Disabled pack HL use for GB as it's broken.
2670
2671         * src/z80/peeph.def: Added transpose redundent load rule.
2672
2673         * src/z80/main.c: Added force callee saves for jaune.
2674
2675         * src/port.h: Removed the i186 and tlcs-900h ports as they weren't being being developed.
2676
2677         * src/SDCCmain.c: Pulled the options definition out so that you can add port specific options without changing the main file.
2678
2679 2002-03-28  Johan Knol  <johan@balder>
2680
2681         * src/SDCCval.c: fixed bug #532436
2682
2683 2002-03-14  Scott Dattalo <scott@dattalo.com>
2684         * /src/port.h:
2685         Added "char *Processor" field to the port structure.
2686
2687         * /src/SDCCmain.c:
2688         Added -p option. Allows port dependent processor to be specified.
2689
2690         * all ports:
2691         Initialized the new field char *Processor field to NULL in all ports
2692
2693         * /src/pic/*:
2694         Compiler generated registers for interrupt context saving
2695         were not getting allocated.
2696                 
2697 2002-03-16  Sandeep Dutta  <sandeep@ddi.com>
2698
2699         * /src/SDCCast.c:
2700         Fixed left shift. Will promote the left side of a left shift
2701         if a) left shifting more than size of operand or b) when assigned
2702         to something size > size of left side
2703
2704 2002-03-14  Scott Dattalo <scott@dattalo.com>
2705         * src/pic/*
2706         tons of changes. Register allocation has been 
2707         rewritten. Added customization for the various PICs. Flow
2708         analysis is restructured. ...
2709
2710         * src/pic/device.h:
2711         Added
2712
2713         * src/pic/device.c:
2714         Added. device.c is a PIC port hack to accomodate variations
2715         in PIC devices.
2716
2717 2002-03-13  Michael Hope  <michaelh@vroom>
2718
2719         * src/z80/gen.c (genGenPointerGet): Fixed a bug where a pointer in HL is dereferenced into HL but HL is not spilled.  Yeah.
2720
2721 2002-03-04  johanknol  <johanknol@manik>
2722
2723         * /src/SDCCval.c: fixed
2724
2725         const unsigned char arr[][2] = { { 0, 1 } };
2726         t18.c:1: error: Initializer element is not constant
2727
2728 2002-03-04  bela  <bela@manik>
2729
2730         * /device/include/mcs51reg.h:
2731         ds89c420 register definition update
2732
2733 2002-03-03    <johan@FRIJA>
2734
2735         * support/Util/SDCCerr.c: did something, but don't no why anymore
2736
2737         * support/regression/tests/bug-524691.c: made it a little less shy 
2738
2739         * src/SDCCast.c (decorateType): fixed bug #524697
2740
2741         * src/SDCCast.c: made some lineno improvements
2742
2743         * src/SDCCval.c (getNelements): changed warning to error
2744
2745         * src/SDCCglue.c (printIvalArray): changed warning to error
2746
2747         * src/SDCCicode.c: fixed a warning for mingw
2748
2749         * src/SDCCast.c (decorateType): fixed the << promotion for ops
2750
2751         * src/SDCCicode.c (geniCodeDivision): divide is shift only for unsigned (bug #524685)
2752
2753 2002-03-02  Sandeep Dutta  <sandeep@ddi.com>
2754
2755         * src/ds390/peeph.def:
2756         Added some more peephole rules
2757
2758         * src/ds390/gen.c: Various fixes & enhancements
2759
2760         * src/SDCClrange.c, src/SDCClrange.h:
2761         functions "alldefsoutofrange" and "notusedinblock" moved to SDCClrange.c
2762
2763         * src/ds390/ralloc.c:
2764         various fixes & enhancements (ds390) specific
2765
2766         * src/avr/ralloc.c, src/mcs51/ralloc.c, src/pic/ralloc.c, src/xa51/ralloc.c, src/z80/ralloc.c:
2767         Functions "allDefsOutOfRange" & "notUsedinBlock" moved to SDCClrange.c
2768         from rallocs.
2769
2770         * sdcc/src/SDCCcse.c: Better fix for bug # 514308
2771
2772 2002-03-02    <johan@FRIJA>
2773
2774         * src/SDCCast.c (decorateType): fixed bug #524708
2775
2776         * src/SDCCval.c (floatFromVal): fixed the literal void (whatever that may be)
2777
2778         * src/SDCCicode.c (geniCodePtrPtrSubtract): fixed bug #524691
2779
2780 2002-03-01  Michael Hope  <michaelh@vroom>
2781
2782         * src/SDCCsymt.c (initCSupport): Removed managling of support function names.
2783
2784         * src/z80/ralloc.c (packRegsForIYUse): Fixed fp bug where four byte operands were packed into IY.
2785
2786 2002-03-01    <johan@FRIJA>
2787
2788         * src/SDCCglue.c (printIvalPtr): fixed bug #524211
2789
2790         * src/SDCCast.c (decorateType): fixed bug #524209
2791
2792         * src/SDCCval.c (valNot): fixed bug #524195
2793
2794 2002-02-26    <johan@balder>
2795
2796         * src/xa51/gen.c: fixed a warning
2797
2798         * src/SDCCglue.c (printIvalFuncPtr): fixed bug #522534
2799
2800         * src/SDCCast.c (decorateType): fixed bug #522534
2801
2802 2002-02-23    <johan@balder>
2803
2804         * src/SDCCdflow.c (computeDataFlow): fixed bug #460088
2805
2806 2002-02-22    <johan@balder>
2807
2808         * src/SDCCast.c: fixed bug #514865
2809
2810         * src/SDCCy.c ("SDCC.y"): fixed bug #516625
2811
2812 2002-02-21  Sandeep Dutta  <sandeep@ddi.com>
2813
2814         * sdcc/src/SDCCloop.c:
2815         Previous fix was not good. basic blocks that have "break" or "return" are
2816         not really partof a loop , but live ranges used in these blocks should
2817         be live thru the entire loop, so set partOfLoop but don't add them to
2818         loop region
2819
2820 2002-02-21    <johan@FRIJA>
2821
2822         * src/SDCCcse.c: fixed bug #514308
2823
2824 2002-02-20  Sandeep Dutta  <sandeep@ddi.com>
2825
2826         * src/SDCCloop.c:
2827         Fixed BUG #519583. If a conditional block ended in a return/break
2828         statement inside a loop, it was not being considered part of the loop.
2829
2830         * src/SDCCcflow.c: Removed fix (Fixed in SDCCloop.c)
2831
2832 2002-02-10  Karl Bongers <karl@turbobit.com>
2833
2834         * debugger/*:
2835         Fixed up SDCDB debugger somewhat.  Updated debugger/README
2836         with lots of comments and notes.
2837
2838         * device/examples/test2.c:
2839         Fix bug, "red" variable not being initialized(compiler complained).
2840
2841         * device/examples/Makefile, examples/test3.c:
2842         Add Makefile in device/examples folder, compiles test3.c
2843         for use as a multiple module SDCDB test case.
2844
2845         * sim/ucsim/cmd.src/cmdset.cc:
2846         Took out debug printfs in ucsim "next" command.
2847
2848         * sim/ucsim/xa.src:
2849         Karl and Johan start ucsim XA support.  Most dissassembly working,
2850         about 75% emulation done(plenty of work remaining).
2851
2852         * sim/ucsim/z80.src:
2853         Add Z80 support to ucsim, add test-ucz80 regression test,
2854         notice ucsim/z80 emulation fails on examples/test3.c/itoa code.
2855         Notice z80 compiler fails on examples/test3.c/crc code.
2856
2857 2002-01-30  Sandeep Dutta  <sandeep@ddi.com>
2858
2859         * src/mcs51/gen.c, src/mcs51/main.c, src/mcs51/ralloc.c:
2860         Added support for --parms-in-bank1
2861
2862         * src/ds390/peeph.def:
2863         added a few more peephole optimzations
2864
2865         * src/ds390/main.c:
2866         1) added __builtin_inp & __builtin_outp used to read in data of given length
2867            from a memory mapped port
2868         2) added __builtin_memcmp
2869         3) added __builtin_swapw swap bytes of a short
2870
2871         * src/ds390/gen.c, src/ds390/gen.h, src/ds390/ralloc.c:
2872         1) handle multiple send & receives from register bank1
2873         2) ralloc can now allocate DPTR1 to some liveRanges
2874
2875         * src/SDCCsymt.c, src/SDCCsymt.h:
2876         changes to handle multiple sends & receives
2877
2878         * src/SDCCptropt.h:
2879         added some pointer arithmetic optimization
2880
2881         * src/SDCCptropt.c:
2882         added some pointer arithmetic optimizations but not stable yet so not
2883         called from anywhere (will get this working shortly)
2884
2885         * src/SDCCopt.c: fixed for multiple sends & receives
2886
2887         * src/SDCCmain.c:
2888         1) added options --parms-in-bank1 (ds390/mcs51) & --protect-sp-update
2889         2) preprocessing done AFTER port->finalizeoptions . This allows ports to
2890            set preprocessor defines (depending on options)
2891
2892         * src/SDCCicode.c, src/SDCCicode.h:
2893         changes made to handle multiple sends & receives
2894
2895         * src/SDCCglobl.h:
2896         Added options --protect-sp-update (ds390) and --parms-in-bank1 (ds390/mcs51)
2897
2898         * src/SDCCcse.c, src/SDCCcse.h:
2899         added function findbackward def (to be used in upcoming optimization)
2900
2901         * src/SDCCcflow.c, src/SDCCcflow.h:
2902         added function returnAtEnd - to determine if a basic block terminates with
2903         a RETURN iCode
2904
2905         * src/SDCCast.c, src/SDCCast.h:
2906         added option parms-in-bank1
2907
2908         * device/lib/_divsint.c, device/lib/_divslong.c, device/lib/_divuint.c 
2909         * device/lib/_divulong.c, device/lib/_modsint.c, device/lib/_modslong.c 
2910         * device/lib/_modulong.c, device/lib/_mulint.c, device/lib/_mullong.c:
2911         adjusted for --parms-in-bank1 option
2912
2913         * device/include/string.h:
2914         donot redefine "reentrant" keyword
2915
2916         * device/include/ds80c390.h: Added some more SFRs
2917
2918 2002-01-28  Bernhard Held  <bernhard@bernhardheld.de>
2919
2920         * sim/ucsim: Merged branch ucsim-034-pre3 to main trunk; new version 0.4 
2921
2922 2002-01-26  Bernhard Held  <bernhard@bernhardheld.de>
2923
2924         * src/SDCCast.c (funcOfType): fix usage of double --float-reent
2925
2926 2002-01-22  Bernhard Held  <bernhard@bernhardheld.de>
2927
2928         * support/regression/fwk/lib/testfwk.c (main): Removed workaround for bug #505387
2929
2930 2002-01-18  Paul Stoffregen  <paul@pjrc.com>
2931
2932         * Added --xram-movc option
2933
2934 2002-01-13  Bernhard Held  <bernhard@bernhardheld.de>
2935
2936         * support/regression/Makefile: don't include test-mcs51-stack-auto in target all
2937
2938 2002-01-11  Johan Knol
2939
2940         * Added math lib of Jesus Calvino-Fraga
2941
2942 2002-01-08  Bernhard Held  <bernhard@bernhardheld.de>
2943
2944         * src/SDCCmain.c (processFile): fix processing of ../../src.c
2945         * support/regression/Makefile: new target test-mcs51-stack-auto
2946         * support/regression/ports/mcs51-stack-auto/spec.mk: added
2947
2948 2002-01-04  Bernhard Held  <bernhard@bernhardheld.de>
2949
2950         * src/SDCCglue.h: printIvalCharPtr(), not printIvalChar()
2951
2952 2002-01-04  Bernhard Held  <bernhard@bernhardheld.de>
2953
2954         * support/regression/ports/mcs51/support.c: correct setup of timer / UART
2955
2956 2002-01-03  Bernhard Held  <bernhard@bernhardheld.de>
2957
2958         * src/SDCCsymt.c (processFuncArgs): fix #498307 by Johan
2959
2960         * src/SDCCglue.h: add definition for printIvalChar()
2961
2962 2002-01-02  Bernhard Held  <bernhard@bernhardheld.de>
2963
2964         * src/SDCCast.c: fix #498138 by Johan
2965
2966         * src/SDCCglue.c: fix #498138 by Johan
2967
2968 2002-01-02  Bernhard Held  <bernhard@bernhardheld.de>
2969
2970         * support/regression/Makefile: fix clean
2971
2972         * support/regression/ports/ds390/support.c: fix transmission of last character
2973
2974 2001-12-29  Sandeep Dutta  <sandeep@ddi.com>
2975
2976         * /sdcc/src/ds390/gen.c:
2977         a) improved computing address of stack variable
2978         b) took out some #if 0 code
2979         c) improved parmBytes adjustment
2980         d) improved genPlusIncr & genMinusIncr
2981         e) genCmp could generate bad code (when left assigned to DPTR)
2982         f) Fixed bug in hasInc
2983
2984         * /sdcc/src/ds390/ralloc.c:
2985         a) packRegsForSupport could mess up live information (Fixed)
2986         b) packRegsDPTRuse could be incorrect for left & right shift
2987
2988         * /sdcc/src/mcs51/ralloc.c:
2989         packRegsForSupport could mess up the live information (Fixed)
2990
2991         * /sdcc/src/mcs51/gen.c: Fixed a bug in hasInc
2992
2993         * /sdcc/src/SDCCast.c:
2994         can reverse a loop even if function call is present as long
2995         as the loop control variable is local & is not passed as parameter
2996
2997 2001-12-24  Sandeep Dutta  <sandeep@ddi.com>
2998
2999         * /sdcc/ChangeLog: *** empty log message ***
3000
3001         * /sdcc/src/ds390/gen.c, /sdcc/src/ds390/main.c:
3002         More builtin function additions for TININative
3003
3004         * /sdcc/src/ds390/ralloc.c:
3005         Had broken the regression testsuite
3006
3007         * /sdcc/src/SDCCast.c: Fixed a bug in dumptree
3008
3009         * /sdcc/src/SDCCsymt.c, /sdcc/src/SDCCsymt.h:
3010         Added funcattr hasStackParms will be set for reentrant functions when there
3011         are paramteres on the stack, this helps in minimizing frame pointer generation
3012         typeFromStr can handle function pointers now
3013
3014         * /sdcc/doc/builtins.txt, /sdcc/doc/TININative.txt:
3015         *** empty log message ***
3016
3017 2001-12-24  Sandeep Dutta  <sandeep@ddi.com>
3018
3019         * /src/ds390/gen.c, /src/ds390/main.c:
3020         More builtin function additions for TININative
3021
3022         * /src/ds390/ralloc.c:
3023         Had broken the regression testsuite
3024
3025         * /src/SDCCast.c: Fixed a bug in dumptree
3026
3027         * /src/SDCCsymt.c, /src/SDCCsymt.h:
3028         Added funcattr hasStackParms will be set for reentrant functions when there
3029         are paramteres on the stack, this helps in minimizing frame pointer generation
3030         typeFromStr can handle function pointers now
3031
3032         * /doc/builtins.txt, /doc/TININative.txt:
3033         *** empty log message ***
3034
3035
3036 2001-12-24  Sandeep Dutta  <sandeep@ddi.com>
3037
3038         * /src/ds390/gen.c, /src/ds390/main.c, /src/ds390/peeph.def, /src/ds390/ralloc.c:
3039         ALPHA version for -mTININative
3040
3041         * /src/izt/i186.c, /src/izt/tlcs900h.c, /src/mcs51/main.c, /src/pic/main.c, /src/z80/main.c, /src/avr/main.c:
3042         updated to reflect changes in the port structure
3043
3044         * /src/port.h:
3045         added function do_assemble (similar to do_link) if non-null this function
3046         will be called to do assembly (-mTININative) requires a multi command
3047         assembly
3048         added function genAssemblerEnd will be called to generate assembler Epilogue
3049
3050         * /src/SDCCsymt.c:
3051         added _JavaNative to debug info printing
3052
3053         * /src/SDCCmain.c: added option --tini-libid
3054         added port->do_assemble function (-mTININative) has a multi command assemble
3055
3056         * /src/SDCCglue.c: Disabled "constExpr" check
3057         added port->genAssemblerEnd function
3058
3059         * /src/SDCCglobl.h: Added option --tini-libid value
3060
3061         * /src/SDCCast.h:
3062         tookout optimizeCompare from the header (has no external references)
3063
3064         * /src/SDCCast.c: made one more function "static"
3065
3066 2001-12-23  Michael Hope  <michaelh@juju.net.nz>
3067
3068         * src/z80/mappings.i: Added z80asm support.
3069
3070         * src/z80/main.c: Added z80asm support on --asm=z80asm
3071
3072         * src/z80/gen.c: Fixed asm portability issues.
3073
3074         * src/asm.c (tvsprintf): Removed old code, added 'N' for function name.  For extern support.
3075
3076         * src/SDCCglue.c (printExterns): Added global/extern split.
3077
3078 2001-12-17  Bernhard Held  <bernhard@bernhardheld.de>
3079
3080         * support/regression/Makefile: added test for mcs51 model large
3081
3082         * support/regression/ports/mcs51-large/spec.mk: added test for mcs51 model large
3083
3084         * support/regression/ports/gbz80/spec.mk: added -mgbz80
3085
3086 2001-12-05  Michael Hope  <michaelh@juju.net.nz>
3087
3088         * src/diff.1 (Index): Many, many optmisiations.  Dhrystone up to 201.
3089
3090 1904-01-06  Michael Hope  <michaelh@juju.net.nz>
3091
3092         * src/z80/ralloc.c (packRegsForIYUse): Fixed the case where an operand is in direct space.
3093
3094         * src/z80/gen.c (makeFreePairId): Optimised IY load by using a spare pair.
3095
3096 2001-12-02  Bernhard Held  <bernhard@bernhardheld.de>
3097
3098         * src/mcs51/gen.c (genFunction): avoid excess "inc sp"
3099
3100         * support/regression/tests/simplefloat.c: Port to mcs51.
3101
3102 2001-11-25  Michael Hope  <michaelh@juju.net.nz>
3103         * support/regression/tests/bug-485362.c: Added.
3104
3105         * support/regression/tests/simplefloat.c (testDivNearOne): Added.
3106
3107         * src/z80/gen.c (aopOp): Fixed case where left and result are in the same spill loc and they have different sizes.
3108
3109         * src/z80/peeph.def: Added rules for optimising two byte compares on the same thing, and to optimise two ptr assign.
3110
3111         * src/z80/gen.c (aopDump): Added a dump function.
3112
3113 2001-11-25  Bernhard Held  <bernhard@bernhardheld.de>
3114         * sim/ucsim/s51.src/glob.cc: DS390 SFRs and bits added.
3115
3116         * sim/ucsim/s51.src/port.cc: Port 4 and 5 added.
3117
3118         * sim/ucsim/s51.src/regs51.h: DS390 SFRs added.
3119
3120         * sim/ucsim/s51.src/uc390.cc: Some details improved, CKRDY works for tinibios.
3121
3122         * sim/ucsim/s51.src/uc390cl.h: Work in progress.
3123
3124         * sim/ucsim/sim.src/uccl.h: 6 ports for DS390.
3125
3126         * support/regression/fwk/lib/testfwk.c: Run with tinibios.
3127
3128         * support/regression/ports/mcs51/spec.mk: Fine tuninig.
3129
3130         * support/regression/ports/ds390/support.c: Use tinibios.
3131
3132         * support/regression/ports/ds390/spec.mk: Fine tuning, use tinibios.
3133
3134 2001-11-23  Michael Hope  <michaelh@juju.net.nz>support/regression/tests/bug-460010.c
3135
3136         * src/z80/ralloc.c (packRegsForHLUse3): Changed to not pack into HL if anything is in direct space.
3137         (packRegsForHLUse3): Added packing support for send, cast, and return value from a call.
3138
3139         * src/z80/peeph.def: Added rules for optimising pushes of part of a pair.
3140
3141         * src/z80/gen.c (emitCall): Changed the stack fixup to not use HL.
3142
3143 2001-11-18  Michael Hope  <michaelh@juju.net.nz>
3144
3145         * src/z80/gen.c (genCmp): Fixed compare on unsigned.
3146
3147         * src/z80/ralloc.c (packRegsForHLUse3): Created and optimised.
3148         (packRegsForIYUse): Created and optimised.
3149
3150 2001-11-07  Michael Hope  <michaelh@juju.net.nz>
3151
3152         * support/regression/tests/float.c (testFloatAdd): Fixed up warning.
3153 2001-11-18  Bernhard Held  <bernhard@bernhardheld.de>
3154
3155         * sdcc/support/regression/tests/bug-460010.c: fix seg violation on host
3156
3157         * sdcc/support/regression/tests/muldiv.c: fix output on mcs51
3158
3159         * sdcc/support/regression/tests/stacks.c: fix DSEG overflow on mcs51
3160
3161 2001-11-07  Bernhard Held  <bernhard@bernhardheld.de>
3162
3163         * sdcc/sim/device/lib/_gptrget.c: mem region 5 (idata) added
3164
3165         * sdcc/sim/device/lib/_gptrput.c: mem region 5 (idata) added
3166
3167 2001-11-07  Bernhard Held  <bernhard@bernhardheld.de>
3168
3169         * sdcc/sim/ucsim/globals.cc: New: IXRAM.
3170
3171         * sdcc/sim/ucsim/stypes.h: New: IXRAM.
3172
3173         * sdcc/sim/ucsim/s51.src/uc390.cc: New: IXRAM.
3174
3175 2001-11-07  Michael Hope  <michaelh@juju.net.nz>
3176
3177         * src/z80/ralloc.c (packRegsForHLUse): Banned IFXs from being packed into HL.
3178         (packRegsForHLUse): Added rule to pack address of/pointer get for itemps into HL for the Z80.
3179         (packRegsForAccUse2): Added rule to pack hbit IFXs into A.
3180
3181         * src/z80/main.c (_setDefaultOptions): Made float code re-entrant by default.
3182
3183         * src/z80/gen.c (aopGetLitWordLong): Added word support for floats.
3184         (genNotFloat): Added.
3185         (genUminusFloat): Added.
3186
3187         * device/lib/z80/Makefile: Added floating pt stubs.
3188
3189         * device/lib/Makefile.in (Z80SOURCES): Added floating pt support.
3190
3191         * src/z80/gen.c (genIpush): Fixed up a push of one byte when left is in a pair.
3192
3193         * device/lib/_fsadd.c (__fsadd): Fixed up return where the numbers are hugely different.
3194
3195 2001-11-07  Bernhard Held  <bernhard@bernhardheld.de>
3196
3197         * sdcc/sim/ucsim/s51.src/glob.cc: Minor fix.
3198
3199         * sdcc/sim/ucsim/s51.src/regs51.h: Minor fix.
3200
3201         * sdcc/support/regression/Makefile: Add port ds390.
3202
3203         * sdcc/support/regression/ports/mcs51/spec.mk: Minor change.
3204
3205         * sdcc/support/regression/ports/z80/spec.mk: Minor change.
3206
3207         * sdcc/support/regression/ports/ds390/spec.mk: Added.
3208
3209         * sdcc/support/regression/ports/ds390/support.c: Added.
3210
3211         * sdcc/support/regression/ports/ds390/uCsim.cmd: Added.
3212
3213         * sdcc/support/regression/ports/mcs51/timeout.c: Cut.
3214
3215         * sdcc/support/regression/fwk/lib/timeout.c: Paste.
3216
3217 2001-11-04  Michael Hope  <michaelh@juju.net.nz>
3218
3219         * device/include/malloc.h: Added z80 and gbz80 support.
3220
3221         * device/lib/gbz80/heap.s: Added.
3222
3223         * device/lib/z80/heap.s: Added.
3224
3225         * device/lib/malloc.c: Added z80 and gbz80 support.
3226
3227         * support/regression/tests/malloc.c (testMalloc): Added.
3228
3229         * src/SDCCmain.c (parseCmdLine): Added support for -Wp.
3230
3231         * support/regression/tests/bug-478094.c: Added.
3232
3233         * src/z80/gen.c (commitPair): Fixed silly gbz80/z80 commit to static bug.
3234
3235 2001-11-04  Bernhard Held  <bernhard@bernhardheld.de>
3236
3237         * sdcc/sim/ucsim/s51.src/uc390cl.h: Improvement for ds390 to run regression tests
3238
3239         * sdcc/sim/ucsim/s51.src/uc390.h: Improvement for ds390 to run regression tests
3240
3241         * sdcc/sim/ucsim/s51.src/regs51.h: Improvement for ds390 to run regression tests
3242
3243         * sdcc/sim/ucsim/s51.src/glob.cc: Improvement for ds390 to run regression tests
3244
3245         * sdcc/support/regression/tests/bug-460010.c: Small change for ds390
3246
3247 2001-11-04  Michael Hope  <michaelh@juju.net.nz>
3248
3249         * src/z80/peeph-gbz80.def: Removed a bad sub optimisation.
3250
3251 2001-11-03  Michael Hope  <michaelh@juju.net.nz>
3252
3253         * support/regression/tests/bug-477927.c: Added.
3254
3255         * src/z80/peeph.def: Added minor rules.
3256
3257         * src/z80/gen.c (genPlusIncr): Added an extra plusinc rule.
3258
3259         * src/z80/peeph.def: Added jump optimisation modification.
3260
3261 2001-11-01  Michael Hope  <michaelh@juju.net.nz>
3262
3263         * src/SDCCmain.c (linkEdit): Added runtime path detection to the mcs51 port.
3264
3265 2001-10-30  Michael Hope  <michaelh@juju.net.nz>
3266
3267         * support/regression/tests/funptrs.c: Added.
3268
3269 2001-10-29  Michael Hope  <michaelh@juju.net.nz>
3270
3271         * src/z80/ralloc.c (packRegsForHLUse): Fixed up bad spill due to pushing one byte via HL.
3272
3273 2001-10-28  Michael Hope  <michaelh@juju.net.nz>
3274
3275         * src/z80/gen.c (genArrayInit): Made it work for on stack arrays.
3276
3277         * src/z80/main.c (gbz80_port =): Added rle support to the gbz80 port.
3278
3279         * src/z80/gen.c (genMinus): Fixed for where the result is one byte.
3280         (movLeft2ResultLong): Created.
3281
3282         * src/z80/ralloc.c (packRegsForHLUse): Added a couple of simple cases for the GB.
3283         (joinPushes): Added.  Joins two char pushes into a word push.
3284
3285 2001-10-27  Michael Hope  <michaelh@juju.net.nz>
3286
3287         * support/cpp2/Makefile.in (install): Added creation of dest dir.
3288
3289         * support/makebin/Makefile (install): Added creation of dest dir.
3290
3291 2001-10-24 Karl Bongers <karl@turbobit.com>
3292
3293         * configure.in, configure, Makefile, support/cpp: Removed cpp folder, since we have new cpp2 preprocessor code.
3294
3295 2001-10-21  Michael Hope  <michaelh@juju.net.nz>
3296
3297         * src/z80/ralloc.c: Turned off faulty pack for one use.
3298
3299         * src/z80/peeph-gbz80.def: Removed redundent restart options.
3300
3301         * src/z80/gen.c (genMult): Added native mul for constants on the z80 and gbz80.
3302
3303 2001-10-21  Bernhard Held  <bernhard@bernhardheld.de>
3304
3305         * support/regression/Makefile: Improved clean
3306
3307         * support/regression/ports/gbz80/spec.mk: Added clean
3308
3309         * support/regression/ports/host/spec.mk: Added clean
3310
3311         * support/regression/ports/z80/spec.mk: Added clean
3312
3313         * support/regression/ports/mcs51/spec.mk: Added clean, little improvements
3314
3315         * support/regression/ports/mcs51/timeout.c: little improvements
3316
3317 2001-10-17  Michael Hope  <michaelh@juju.net.nz>
3318
3319         * device/lib/malloc.c (MEMHEADER): Fixed against new pedantic pointers.
3320
3321         * support/regression/fwk/include/testfwk.h: Fixed up to use function pts correctly.
3322
3323         * support/regression/generate-cases.py: Fixed up to use function pts correctly.
3324
3325 2001-10-16  Bernhard Held  <bernhard@bernhardheld.de>
3326
3327         * support/regression/port/mcs51/spec.mk: add timeout for uCsim
3328
3329         * support/regression/port/mcs51/timeout.c: add timeout for uCsim
3330
3331 2001-10-13  Michael Hope  <michaelh@juju.net.nz>
3332         * src/z80/gen.c (emitCall): Fixed up missing spill of HL when used to assign the result value.
3333
3334         * src/z80/ralloc.c: Turned off pack for one use as it's quite broken.
3335
3336         * src/SDCCmain.c (linkEdit): Added support for passing a legacy command line through the processor.
3337
3338         * src/mcs51/main.c (_linkCmd): Added bin path to command.
3339
3340         * src/SDCCmain.c (initValues): Added support for when it it called just to link.
3341
3342         * as/mcs51/lklibr.c (libfil;): Turned off 'library file' message.
3343
3344         * src/SDCCval.c (constVal): Fixed usage of 'L' modifier problems on ppc.
3345
3346         * support/regression/tests/longor.c: Added.
3347
3348 2001-10-11  Bernhard Held  <bernhard@bernhardheld.de>
3349
3350         * as/mcs51/asdata.c: replaced FILENAME_MAX with PATH_MAX
3351
3352         * as/mcs51/aslink.h: define PATH_MAX
3353
3354         * as/mcs51/asm.h: define PATH_MAX
3355
3356         * as/mcs51/asmain.c: replaced FILENAME_MAX with PATH_MAX
3357
3358         * as/mcs51/asnoice.c: replaced FILENAME_MAX with PATH_MAX
3359
3360         * as/mcs51/lklex.c: replaced FILENAME_MAX with PATH_MAX
3361
3362         * as/mcs51/lkmain.c: replaced FILENAME_MAX with PATH_MAX
3363
3364         * src/SDCCglobl.h: define PATH_MAX
3365
3366         * src/SDCCmacro.c: replaced FILENAME_MAX with PATH_MAX
3367
3368         * src/SDCCmain.c: replaced FILENAME_MAX with PATH_MAX
3369
3370 2001-10-11  Michael Hope  <michaelh@juju.net.nz>
3371
3372         * src/z80/gen.c (gencjneshort): Fixed
3373
3374         * src/z80/ralloc.c (packRegsForHLUse): Added pack into HL for cast then ipush.
3375
3376 2001-10-09  Michael Hope  <michaelh@juju.net.nz>
3377
3378         * support/regression/tests/bug-469671.c: Added.
3379
3380         * src/z80/gen.c (shiftIntoPair): Fixed up warning.
3381
3382 2001-10-08  Michael Hope  <michaelh@juju.net.nz>
3383
3384         * src/SDCCmain.c: Added --fommit-frame-pointer option and implemented in the z80 port.
3385
3386         * src/z80/gen.c (genPlus): Fixed to work with extended stack.  Also fixed genMinus, genCmp.  genUMinus is still left.
3387
3388 2001-10-08  Bernhar Held  <bernhard@bernhardheld.de>
3389
3390         * src/SDCCmain.c (preProcess): added define SDCC_NOOVERLAY
3391
3392         * src/device/lib/_mulint.c  : removed hint: nooverlay bug
3393
3394         * src/device/lib/_mullong.c : removed hint: nooverlay bug
3395
3396         * src/device/lib/_divuint.c : removed hint: nooverlay bug
3397
3398         * src/device/lib/_divulong.c: removed hint: nooverlay bug
3399
3400         * src/device/lib/_moduint.c : removed hint: nooverlay bug
3401
3402         * src/device/lib/_modulong.c: removed hint: nooverlay bug
3403
3404 2001-10-07  Michael Hope  <michaelh@juju.net.nz>
3405
3406         * 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.
3407
3408         * support/Util/NewAlloc.c (freeTrace): Changed free for the gc case to not free at all.  Fixes runtime segfault.
3409
3410         * support/regression/tests/scott-compare3.c (c_abcd): Fixed up casts.
3411
3412 2001-10-07    <johan@FRIJA>
3413
3414         * device/lib/gets.c (gets): fixed the return value.
3415
3416 2001-10-06  Michael Hope  <michaelh@juju.net.nz>
3417         * src/SDCCmain.c (WRITE_SEG_LOC): Fixed up to use Safe_strdup.
3418
3419         * 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.
3420
3421         * 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.
3422
3423         * src/z80/gen.c (genZ80Code): Added de-allocation via trace support.
3424
3425         * src/pic/gen.c: Removed Safe_strdup.
3426
3427         * configure.in: Added option to enable libgc support.
3428
3429         * src/SDCCbitv.c (bitVectnBitsOn): Optimised.
3430         (bitVectUnion): Optimised.
3431         (bitVectIntersect): Optimised.
3432         (bitVectBitsInCommon): Optimised.
3433         (bitVectCplAnd): Optimised.
3434
3435         * support/makebin/makebin.c (usage): Removed getopt as mingw32 doesn't have it.  Sigh.
3436
3437 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
3438
3439         * src/SDCCmain.c: distinguish between assembler debug and plain options
3440
3441         * src/avr/main.c:   remove standard assembler options
3442
3443         * src/ds390/main.c: remove standard assembler options
3444
3445         * src/mcs51/main.c: remove standard assembler options
3446
3447         * src/port.h: removed "PENDING" comment
3448
3449 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
3450
3451         * src/device/lib/_mulint.c  : new, with assember functions
3452
3453         * src/device/lib/_mullong.c : new, with assember functions
3454
3455         * src/device/lib/_divuint.c : with assember functions
3456
3457         * src/device/lib/_divsint.c : with assember functions
3458
3459         * src/device/lib/_divulong.c: with assember functions
3460
3461         * src/device/lib/_divslong.c: with assember functions
3462
3463         * src/device/lib/_moduint.c : with assember functions
3464
3465         * src/device/lib/_modsint.c : with assember functions
3466
3467         * src/device/lib/_modulong.c: with assember functions
3468
3469         * src/device/lib/_modslong.c: with assember functions
3470
3471         * src/device/lib/libint.lib:  replaced _muluint.c  and _mulsint.c  by _mulint.c
3472
3473         * src/device/lib/liblong.lib: replaced _mululong.c and _mulslong.c by _mullong.c
3474
3475         * src/device/lib/Makefile.in: replaced _muluint.c  and _mulsint.c  by _mulint.c
3476                                       replaced _mululong.c and _mulslong.c by _mullong.c
3477
3478 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
3479
3480         * src/SDCCsymt.c: sequence of specifiers in pintTypeChain() corrected
3481
3482 2001-10-01 Bernhard Held <bernhard@bernhardheld.de>
3483
3484         * src/SDCCglue.c: test, if win32api is available for MINGW
3485
3486 2001-10-01 Bernhard Held <bernhard@bernhardheld.de>
3487
3488         * src/SDCCsymt.c: no more _modifier in printTypeChain()
3489         * support/regression/tests/driverstruct.c: REENTRANT for mcs51
3490         * support/regression/ports/gbz80/spec.mk: removed GENERIC
3491         * support/regression/ports/host/spec.mk: removed GENERIC
3492         * support/regression/ports/mcs51/spec.mk: removed GENERIC
3493         * support/regression/ports/z80/spec.mk: removed GENERIC
3494
3495 2001-10-01  Michael Hope  <michaelh@juju.net.nz>
3496
3497         * support/regression/fwk/lib/testfwk.c (__printf): Removed GENERIC.
3498
3499         * support/regression/tests/bug-467035.c: Created.
3500
3501 2001-10-01    <johan@FRIJA>
3502
3503         * src/SDCC.y: fixed bug #466586 part 1
3504
3505 2001-10-01  Johan Knol <johan.knol@iduna.nl>
3506
3507         * SDCCicode.c: z80 has no generic pointers
3508         * removed -s from strip in all Makefile(.in)'s. It is not needed, but Solaris chocks on it.
3509         
3510 2001-09-30  Michael Hope  <michaelh@juju.net.nz>
3511
3512         * sim/ucsim/cmd.src/Makefile.in ($(PRJDIR)/libcmd.a): Changed all ar references to $(AR) for Solaris.
3513
3514 2001-09-29  Michael Hope  <michaelh@juju.net.nz>
3515
3516         * Makefile (sdcc-libs): Added makebin to the list of standard targets.
3517
3518         * support/regression/ports/z80/spec.mk: Updated to use env for sdcc bin dir for automatic regression.
3519
3520 2001-09-25  Michael Hope  <michaelh@juju.net.nz>
3521
3522         * configure.in: Fixed up so that ucsim is only configured once.
3523
3524         * support/cpp2/configure.in: Fixed to use the program transform to append the .exe for the win32 build.
3525
3526         * src/SDCCutil.c (getPrefixFromBinPath): Fixed up to work with win32 in all of its glory.
3527         (getPathDifference): As above.
3528
3529         * src/SDCCmain.c (preProcess): Changed to use a temporary file in a proper temp directory.  Fixed case where pre-processing only.
3530
3531         * src/SDCCglue.c (tempfilename): Added function for pre-processor.
3532
3533 2001-09-23  Michael Hope  <michaelh@juju.net.nz>
3534         * .version: Updated to 2.3.1
3535
3536         * src/z80/main.c (z80_port =): Added macro based linker and assembler command line support.
3537         Added copyright header.
3538
3539         * src/SDCCmain.c: Shifted various functions into SDCCutil.c
3540         (assemble): Added support for macro based assembler commands.
3541         (linkEdit): Added support for macro based linker commands.
3542         (preProcess): Changed the pre-processor to use macros.
3543         (_setPaths): Added functionality to autodetect the include, lib and bin dir paths.
3544         (_discoverPaths): Added support for overriding the install directory using the SDCCDIR env variable.
3545
3546         * device/lib/z80/crt0.s: Added module name for debugging.
3547
3548 2001-09-20  Michael Hope  <michaelh@juju.net.nz>
3549
3550         * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
3551
3552         * src/SDCChasht.c (hTabDeleteByKey): Fixed delete as it would delete the last item from a bucket even if it wasn't the real one.
3553
3554         * src/SDCCglue.c: Moved gc_strdup to SDCCutil.c
3555
3556         * src/Makefile.in: Added SDCCmacro and SDCCutil
3557
3558 2001-09-19  Michael Hope  <michaelh@juju.net.nz>
3559
3560         * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
3561
3562 2001-09-16    <johan@FRIJA>
3563
3564         * 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.
3565
3566 2001-09-15    <johan@FRIJA>
3567
3568         * src/mcs51/ralloc.c: (findAssignToSym): fixed bug #460662 part 1
3569         * src/ds390/ralloc.c (findAssignToSym): fixed bug #460662 part 1
3570
3571 2001-09-11    <johan@FRIJA>
3572
3573         * src/SDCCval.c (valDiv Mod Minus Plus Shift): keep litteral expressions as small as possible (bug #460010)
3574
3575 2001-09-10  Michael Hope  <michaelh@juju.net.nz>
3576
3577         * support/regression/tests/bug-460444.c: Added test case.
3578
3579         * src/z80/gen.c (genOr): bug 460444: if (a ^ lit) was broken for &, |, and ^.
3580         (genCast): Added justification for all of the asserts.
3581
3582 2001-09-10  Bernhard Held <bernhard@bernhardheld.de>
3583
3584         * support/regression/support.c: _xdata replaced by xdata
3585
3586         * support/regression/spec.mk: removed _generic
3587
3588 2001-09-09  Michael Hope  <michaelh@juju.net.nz>
3589
3590         * src/pic/ralloc.c (debugLogRegType): Removed some old types to get it to compile.
3591
3592         * src/z80/gen.c (shiftR2Left2Result): Improved the case when v = v >> n for small values of n to use less code space and time.
3593         (genrshTwo): Fixed v = v >> n where v is a negative int and n is > 8: bug 460010.
3594
3595         * src/z80/peeph.def: Added a rule to optimise shift then compare.
3596
3597         * support/regression/tests/bug-460000.c (testShiftByParam): Added test case.
3598
3599         * support/regression/tests/bug-460010.c: Added test case.
3600
3601         * support/regression/Makefile (test-host): Removed a silly 'clean' target when testing against gcc.
3602
3603 2001-09-09  Bernhard Held <bernhard@bernhardheld.de>
3604
3605         * support/regression/Makefile: inter-port-clean adjusted for mcs51
3606
3607         * support/regression/testfwk.c: removed workaround for bug #436344
3608
3609         * support/regression/tests/bp.c: use less memory with mcs51
3610
3611         * support/regression/tests/bug-441448.c: use less memory
3612
3613         * support/regression/tests/ports/mcs51/spec.mk: cleanup, use --stack-after-data
3614
3615         * support/regression/collate-results.py: typo
3616
3617 2001-09-08  Michael Hope  <michaelh@juju.net.nz>
3618
3619         * support/regression/tests/fetchoverlap.c: Added new test case.
3620
3621         * support/regression/tests/bp.c: Added new test case.
3622
3623         * support/regression/tests/bug-448984.c: Added new test case.
3624
3625         * support/regression/tests/pow2shifts.c: Added new test case.
3626
3627         * src/z80/gen.c: Turned off the noise it normally generates for the release.
3628         (genlshTwo): Fixed right shift for count > 8.
3629
3630         * src/z80/ralloc.c: Disabled most of the ACC packing rules as they weren't getting hit and weren't at all safe.
3631
3632 2001-09-08    <johan@FRIJA>
3633
3634         * src/SDCCicode.c (geniCodeCall): a CPOINTER can be used as a function
3635
3636 2001-09-07    <johan@FRIJA>
3637
3638         * src/SDCCicode.c (newiCodeCondition): fixed bug #456235 (1.77)
3639
3640         * src/SDCCglue.c (emitRegularMap): only delete a symbol when it is a symbol
3641
3642 2001-09-06    <johan@FRIJA>
3643
3644         * src/SDCC.y: this could be a fix for bug #458744 (1.37)
3645         * bernhard noted me at this: "() equals to (void)" (1.38)
3646
3647 2001-09-05    <johan@FRIJA>
3648
3649         * src/SDCCglue.c (emitRegularMap): a fix for bug #458099/2
3650
3651 2001-09-04    <johan@FRIJA>
3652
3653         * src/SDCCsymt.c (checkSClass): a fix for bug #458099/1
3654
3655
3656 2001-09-04  Paul Stoffregen  <paul@pjrc.com>
3657
3658         * pragma noinduction broke memcpy on mcs51 large model.  Moved it inside z80 optimization
3659
3660 2001-09-03  Michael Hope  <michaelh@juju.net.nz>
3661
3662         * link/z80/aslink.h: Fixed path for PATH_MAX
3663
3664 2001-09-02  Michael Hope  <michaelh@juju.net.nz>
3665
3666         * src/z80/gen.c (fetchLitPair): Changed so that it properly caches direct space references.
3667
3668         * support/regression/tests/addsub.c: Added cases to cover all the +, - combinations.
3669
3670         * support/regression/tests/uminus.c: Added a test for the unary minus operator.
3671
3672         * 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.
3673
3674 2001-09-01  Michael Hope  <michaelh@juju.net.nz>
3675
3676         * src/z80/gen.c: Fixed up generator to pass the regresion tests, specifically fixing loads for longs, genCmp, and turned on the map file.
3677         (genCmp): Fixed up genCmp for the GB with longs.
3678
3679         * device/lib/gbz80/Makefile: Fixed up all the libraries to pass the regression tests.
3680
3681         * support/regression/ports/host/spec.mk: Updated to compile with the new type specifiers.
3682
3683         * device/lib/Makefile.in (Z80SOURCES): Removed old _mululong, _mulslong, and unneeded _mulint.
3684
3685         * device/lib/_mullong.c (_mulslong): Changed to actually return a value :)
3686
3687 2001-08-30  Paul Stoffregen  <paul@pjrc.com>
3688
3689         * added peepholes 223 to 231 to mcs51 port.  These improve code when using large model.
3690
3691 2001-08-30  Michael Hope  <michaelh@juju.net.nz>
3692
3693         * 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.
3694
3695         * src/z80/gen.c (genPlus): Changed bad long add for gb to a fall through.
3696
3697 2001-08-29  Michael Hope  <michaelh@juju.net.nz>
3698
3699         * link/z80/aslink.h: Fixed long file name support.  Is now based off PATH_MAX instead of a constant.
3700
3701         * src/z80/gen.c: Fixed add and sub for the case where left or right are in static space.
3702
3703 2001-08-30 Bernhard Held   <bernhard@bernhardheld.de>
3704
3705   * sim/ucsim/configure:    little improvement of Cygwin-detection      
3706   * sim/ucsim/configure.in: little improvement of Cygwin-detection      
3707   * sim/ucsim/cmd.src/newcmdcl.h: include <sys/types.h> to define fd_set automated build
3708   * support/regression/tests/bug-221100.c: small changes for mcs51
3709   * support/regression/tests/bug-221168.c: small changes for mcs51
3710   * support/regression/tests/bug-227710.c: small changes for mcs51
3711   * support/regression/tests/staticinit.c: small changes for mcs51
3712   * as/mcs51/aslink.h: accept everything as symbol name in rel-files, bug fix ID 452601
3713   * as/mcs51/lklex.c:  accept everything as symbol name in rel-files, bug fix ID 452601
3714   * as/mcs51/lksym.c:  accept everything as symbol name in rel-files, bug fix ID 452601