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