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