09d4f04732926ed3f43174a54688465746f82a65
[fw/sdcc] / ChangeLog
1 2004-02-03 Vangelis Rokas <vrokas AT otenet.gr>
2
3         * src/pic16/ralloc.c (newReg): fixed bug #908929
4
5 2004-03-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
6
7         * src/ds390/gen.c: added missing #include "main.h"
8
9 2004-03-02 Vangelis Rokas <vrokas AT otenet.gr>
10
11         * src/pic16/device.c (checkAddSym): NEW, adds a symbol to set while
12         checking if symbol is already in set,
13         * src/pic16/device.h: prototype for checkAddSym,
14         * src/pic16/gen.c: (_G): added entry interruptvector,
15         * (assignResultValue): removed some commented out lines,
16         * (genFunction): check for ISR via sym->type, absolute section for
17         interrupt code is created via a new pBlock, the goto instruction is
18         placed now correctly at the interrupt vector position, changed all
19         references from ivec to _G.interruptvector,
20         * WREG,STATUS,BSR are not saved in stack upon an entry to interrupt
21         is the interrupt is a high priority one, same for return from ISR,
22         * src/pic16/glue.c: changed all calls of addSetHead for publics and
23         externs to calls of checkAddSym,
24         * src/pic16/pcode.c (pic16_pBlockConvert2*): emit warning when
25         pic16_pcode_verbose flag is set,
26         * src/pic16/pcode.h: extern to pic16_pcode_verbose,
27         * src/pic16/pcoderegs.c: message about how many registers are saved
28         will only be emitted if pic16_pcode_verbose flag is set,
29
30 2004-03-02 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
31
32         * src/ds390/ralloc.h,
33         * src/ds390/ralloc.c (ds390_regWithIdx),
34         * src/ds390/gen.c (emitcode),
35         * src/ds390/main.h,
36         * src/ds390/main.c (instructionSize, ds390newAsmLineNode, updateOpRW,
37         ds390opcodeCompare, asmLineNodeFromLineNode, getInstructionSize,
38         ds390operandCompare, getRegsRead, getRegsWritten,
39         initializeAsmLineNode): customized instruction size calculation for
40         ds390, started basis for some register optimizations
41         * src/ds390/gen.c (gen390Code, emitcode): associate iCodes with
42         corresponding assembly output
43         * src/ds390/gen.c (genFunction, genEndFunction): added case to handle
44         missing push/pop of r0/r1. Optimized push/pops
45
46 2004-03-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
47
48         * src/mcs51/main.c (instructionSize): fixed ACALL size
49         * src/mcs51/main.c (updateOpRW): fixed bug with @dptr, @a+dptr operands
50
51 2004-03-01 Vangelis Rokas <vrokas AT otenet.gr>
52
53         * src/pic16/device.c (pic16_dump_section): fixed a bug that allowed
54         the sorting of rlist with NULL elements
55         * (print_idataType, print_idata): NEW to create idata sections
56         * src/pic16/device.h: idataSymSet new variable
57         * src/pic16/gen.c (genFunction): fixed some bugs in string
58         comparing, improved the absolute section creation for ISRs,
59         added FSR0L/FSR0H in registers that are saved in an ISR,
60         * (genInline): fixed the processing of inline snippets,
61         now they undergo no process by the peephole optimizer
62         * src/pic16/glue.c (pic16emitRegularMap): symbols with initialiser
63         are placed in idataSymSet,
64         * (pic16emitStaticSeg): extern symbols are added in externs,
65         * src/pic16/ralloc.c (pic16_allocDirReg): work around to reduce bank
66         switching when aboslute variables are placed in access bank memory
67         * (pic16_writeUsedRegs): added call to pic16_dump_idata,
68         * (packRegsForSupport,packRegsForAccUse,packRegsForOneuse):
69         commented out with #if,
70         * (pic16_packRegisters): reintroduce the check for CAST because some
71         symbols are not correctly handled,
72         * src/pic16/pcode.h: changed the definition of pCodeAsmDir to hold a
73         pCodeInstruction instead of pCode,
74         * src/pic16/pcode.c (pic16_newpCodeAsmDir): modified for the new
75         pCodeAsmDir definition,
76         * (pic16_pCode2str, genericPrint): when an AsmDir pcode has a NULL
77         directive, then the argument directive is emitted without the leading
78         tab, hack for inline labels which must be in the first column,
79         * (compareLabel,pic16_findNextInstruction),
80         * (pic16_findPrevInstruction): added case for PO_ASMDIR,
81         * (insertBankSwitch): modified for the new pCodeAsmDir,
82
83 2004-03-01 Hans-Juergen Dorn <hans.dorn AT apl-landau.de>
84         patch applied by Vangelis Rokas <vrokas AT otenet.gr>
85
86         * src/pic16/gen.c (pic16_popGet): case PO_DIR, adds the offset to
87         instance,
88         * (pushSide): commented out with #if,
89         * (assignResultValue): fixed some typos in saving
90         registers,
91         * (genPcall): FIXED and sync'ed with genCall,
92         * (genDataPointerGet,genDataPointerSet): using offset not leoffset
93         * (genNearPointerGet): fixed to handle some more cases,
94         implementation scheme via table reads,
95         * (genConstPointerGet): modified to access code memory correct,
96         * (genCodePointerGet,genNearPointerSet,genGenPointerSet): modified
97         and improved to handle some cases
98         * glue.c (printIvalType,printIvalChar,emitStaticSeg): use "DB"
99         instead of "RETLW" for init data
100         * src/pic16/ralloc.c (pic16_allocDirReg): warning when a symbol is
101         not IN_DIRSPACE, work around to reduce bank switching when aboslute
102         variables are placed in access bank memory (<0x80 and >=0xf80),
103         * src/pic16/pcode.c: added SFRs TBLPTR, TABLAT, added opcodes TBLRD,
104         TBLRD_POSTINC,TBLRD_POSTDEC,TBLRD_PREINC,TBLWT,TBLWT_POSTINC,
105         TBLWT_POSTDEC,TBLWT_PREINC
106         * Fixed initialisation of BSR, set "alias" for SSAVE to "0"
107         * (pic16_emitDB,pic16_flushDB): New functions to generate "DB"
108         directives
109         * (pic16_pCodeConstString): use "DB" instead of "RETLW"
110         * src/pic16/pcode.h: added TBLRD*,TBLWT*, added pic16_emitDB,
111         pic16_flushDB, made pic16_newpCodeAsmDir public, added TBLPTR, TABLAT
112         * src/pic16/ralloc.h: added IDX_BSR,IDX_TBLPTR*,IDX_TABLAT
113
114 2004-02-29  Borut Razem <borut.razem AT siol.net>
115
116         * src/Makefile.in, src/SDCCutil.c, support/Util/findme.c,
117         support/Util/findme.h, support/Util/system.h: enhance binary relative
118         search for lib and include by using findProgramPath()
119
120 2004-02-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
121
122         * src/SDCCpeeph.h,
123         * src/SDCCpeeph.c (pcDistance),
124         * src/port.h,
125         * src/mcs51/ralloc.h,
126         * src/mcs51/ralloc.c (mcs51_regWithIdx),
127         * src/mcs51/main.h,
128         * src/mcs51/main.c (instructionSize, asmLineNode, updateOpRW,
129         mcs51opcodeCompare, asmLineNodeFromLineNode, getInstructionSize,
130         mcs51operandCompare, getRegsRead, getRegsWritten): made instruction
131         size calculation port specific, started basis for some register
132         optimizations
133         * src/mcs51/gen.c (genFunction, genEndFunction): added case to handle
134         missing push/pop of r0/r1. Optimized push/pops
135         * src/mcs51/ralloc.c (packregisters): fixed bug #727095
136         * device/lib/_modsint.c (_modsint),
137         * device/lib/_modslong.c (_modslong): fixed sign of result in non-asm
138         and stack version so regression tests pass
139
140 2004-02-26 Bernhard Held <bernhard AT bernhardheld.de>
141
142         * src/Makefile.in (dep): include SLIBOBJS in dependency check
143         * src/SDCCast.c (decorateType): catch another small optimization
144         with '?' operator
145         * src/SDCCsymt.c (computeType): added comments and cosmetic changes
146         * src/SDCCval.c (valMult, valDiv, valMod, valPlus, valMinus, valShift):
147         modified to finally use computeType() all over SDCC,
148         see Feature Request #877103
149         * src/SDCCval.h: cosmetic
150         * src/SDCCicode.c (operandOperation): fixed EQ_OP bug, now same as in
151         valCompare(); regression tested in muldiv.c
152         * support/regression/tests/muldiv.c (testMod): mod sign follows
153         dividend only
154
155 2004-02-23 Bernhard Held <bernhard AT bernhardheld.de>
156
157         * src/SDCCast.c (decorateType): fixed bug #902362
158         * doc/INSTALL.txt: fixed install instructions for win32
159
160 2004-02-21 Bernhard Held <bernhard AT bernhardheld.de>
161
162         * device/include/Makefile.in (install): fixed by replacing spaces
163         by tabs
164         * doc/README.txt,
165         * doc/INSTALL.txt: updated for release
166         * doc/sdccman.lyx: added warning for --xstack being buggy
167
168 2004-02-20 Bernhard Held <bernhard AT bernhardheld.de>
169
170         * src/pic16/ralloc.c (packRegsForAccUse):  disabled functions with #if
171         to eliminate build warnings.
172         * src/pic16/gen.c (pic16_popGet): fixed for gcc 2.95.4
173
174 2004-02-20 Vangelis Rokas <vrokas AT otenet.gr>
175            Hans-Juergen Dorn <hans.dorn AT apl-landau.de>
176
177         * doc/sdccman.lyx: removed PIC16 from PIC16 Port Specific Options,
178         removed -penable-stack, added comment for stack pragma, added
179         warning for not initializing the stack/frame registers, removed
180         comment at interrupts section
181
182         Stack is made permanent, there is no ability to disable stack usage.
183         * src/pic16/device.h,
184         * src/pic16/device.c: removed all references to USE_STACK macro,
185         * src/pic16/device.c (pic16_dump_section): when no elements in
186         rlist, free rlist before return,
187         * (pic16_dump_int_registers): NEW, internal registers are a new set
188         of general purpose registers reused by each function,
189         * (checkAddReg): returns 1 if registers is added to set,
190         * (pic16_groupRegistersInSection): when a registers is of type
191         PO_GPR_TEMP add it in pic16_int_regs and not in pic16_rel_udata,
192         * src/pic16/device.h: memRange and Assigned Memory are deleted,
193         SRCASECMP macro is moved here from device.c
194         * src/pic16/genarith.c (pic16_pCodeOpType): added cases for
195         PO_PCLATU, PO_PRODL, PO_PRODH,
196         * (pic16_pCodeOpType, genMinus, 
197         changed compares to "a" register, with AOP_ACC,
198         * (pic16_genPlus): fixed some bugs and indented properly,
199         * (pic16_addSign): changed size to size+offset in the MOVWF
200         instruction,
201         * (pic16_genUMult8XLit_8): NEW, uses processor MULLW instruction to
202         multiply 8-bit operand by literal, result is 8-bit,
203         * (pic16_genUMult8X8_8): NEW, uses processor MULWF instruction to
204         multiply 2 8-bit operand, result is 8-bit,
205         * (pic16_genMult8X8_8): modified to call genUMult8X*_8 functions and not
206         genUMult8X*_16,
207         * src/pic16/gen.c: changed accUse to contain WREG only,
208         * (pic16_emitcomment): renamed to pic16_emitpcomment,
209         * (aopForSym): allocated dir register when IN_DIRSPACE(space) is,
210         true, do not use immediate addressing any more unless sym is a
211         pointer in codespace,
212         * (aopForRemat): do not use immediate addressing when symbol not in
213         codespace and when symbol's address is requested,
214         * (aopOp): for-loop in if(sym->accUse) is modified for the new
215         accUse size (= 1),
216         * (aopGet): added case for AOP_ACC and don't return "accumulator
217         bug" but WREG instead,
218         * (popGetTempReg): pushes contents of temporary register in stack,
219         * (popReleaseTempReg): pops contents of temporary register from
220         stack. Use popGetTempReg/popReleaseTempReg in aligned pairs,
221         * (pic16_popGet): separated case AOP_ACC to return register WREG
222         from processor registers, AOP_PCODE not checks if pcop is PO_DIR
223         or PO_IMMEDIATE and initializes their instance/offset appropriately,
224         * The whole issue with aopForSym,aopForRemat,popGet) is to minimize
225         the use of immediate pointers to certain cases only.
226
227         * (pic16_pushpCodeOpReg, pic16_poppCodeOpReg): use pic16_popGet2p,
228         * (pic16_loadFromReturn, pic16_storeForReturn: NEW,
229         * (assignResultValue, genCall, genRet): modified to use the new
230         function return value scheme with WREG,PRODL,PRODH,FSR0L and FSR0,
231         genPcall is still broken,
232         * (genFunction): added code to create 'A' type pBlocks when
233         interrupt functions are generated, code not extensively tested yet,
234         ISRs push WREG,STATUS,BSR,PRODL,PRODH,FSR0L,FSR0H registers on stack,
235         * (genEndFunction): modified so ISRs pop stored registers from stack,
236         * (genMultOneByte): cleanup,
237         * (AccRsh): added flag andmask, to and result with appropriate mask,
238         * (genUnpackBits,genPackBits): fixed and can handle bit fields,
239         * (genDataPointerGet): fixed and reenabled its use,
240         * (genNearDataPointerGet): bugs fixed,
241         * (genDataPointerSet): bugs fixed,
242         * src/pic16/genutils.c: added functions pic16_DumpValue,pic16_DumpAop,
243         pic16_DumpSymbol, pic16_DumpOp,
244         * src/pic16/genutils.h: function prototypes for the above functions,
245         * src/pic16/glue.c: new flags initsfpnt, to initialize stack/frame
246         pointers,
247         * (pic16emitRegularMap): many many many improvements, but needs a
248         major cleanup,
249         * src/pic16/main.c: enable_stack in pic16_options is removed,
250         * (_pic16_parseOptions): removed command line options -penable-stack,
251         * (_process_pragma): emit stack symbol only when stack pragma is
252         processed,
253         * src/pic16/pcode.c: pic16_pc_fsr0 is removed, all operations are
254         redirected to FSR0L/FSR0H pair,
255         * (pic16_get_op, pic16_get_op2): modifications and improvements,
256         * (pic16_getRegFromInstruction, pic16_getRegFromInstruction2): added
257         cases PO_PRODL,PO_PRODH, pic16_getRegFromInstruction2 returns sane
258         for immediates,
259         * (insertBankSwitch): modified to handle cases like: (alfa + 1)
260         * (dumpPicOptype): NEW,
261         * src/pic16/pcode.h: added PO_PCLATU,PO_PRODL,PO_PRODH in enum,
262         * src/pic16/pcoderegs.c (pCodeRegMapLiveRangesInFlow): fixed bug
263         with movff instruction,
264         * src/pic16/ralloc.c: renamed typeRegWithIdx to pic16_typeRegWithIdx,
265         added pic16_int_regs, some packRegsFor* functions are commented out,
266         because produce errors,
267         * src/pic16/NOTES: minor modifications
268
269 2004-02-18  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
270
271         * as/mcs51/aslink.h, as/mcs51/lkarea.c, as/mcs51/lkdata.c, as/mcs51/lkmain.c,
272         as/mcs51/lkmem.c, src/SDCCglob.h, src/SDCCmain.c: added options --stack-size and
273         --pack-iram.
274         * doc/sdccman.lyx: described options --stack-size and --pack-iram.
275         * as/mcs51/lkaomf51.c: fixed bug #895763
276
277 2004-02-17 Bernhard Held <bernhard AT bernhardheld.de>
278
279         * device/include/c8051f320.h: added. Contributed by Maarten Brock.
280
281 2004-02-17 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
282
283         * doc/sdccman.lyx: added details about the HC08 storage classes and
284         interrupts, fixed the register usage info for z80 & gbz80
285
286 2004-02-17 Vangelis Rokas <vrokas AT otenet.gr>
287
288         * doc/sdccman.lyx: added more pic16 port documentation
289         * device/include/pic16/: added header pic18fregs.h
290
291 2004-02-16 Bernhard Held <bernhard AT bernhardheld.de>
292
293         * doc/sdccman.lyx: added Vangelis' contribution
294
295 2004-02-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
296
297         * src/SDCClrange.c (rlivePoint): live range of SEND operand should
298         extend to the next CALL or PCALL, not just to the next CALL.
299
300 2004-02-16 Vangelis Rokas <vrokas AT otenet.gr>
301
302         * src/pic16/gen.c (genInline): fixed bug #896482 with inline assembly
303
304 2004-02-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
305
306         * src/mcs51/ralloc.c (packRegsForAssign, reassignAliasedSym): fixed
307         bug #895752 and a better fix for bug #716790
308
309 2004-02-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
310
311         * src/SDCCsymt.c (processFuncArgs): fixed bug #896796
312
313 2004-02-14 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
314
315         * doc/sdccman.lyx: minor changes, minor changed
316
317 2004-02-13 Bernhard Held <bernhard AT bernhardheld.de>
318
319         * src/SDCCicode.c (usualBinaryConversions): removed pic16 from ports
320         which can't handle SDCC_NEWONEBYTEOPS,
321         (geniCodeMultiply): removed conversion from mult to shift for pic14
322         and pic16
323
324 2004-02-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
325
326         * src/hc08/gen.h,
327         * src/hc08/gen.c (storeRegToAop, aopOp, aopAdrStr, accopWithAop,
328         rmwWithAop): Ported my 2003-10-02 fix for bug #663539 to the hc08,
329         thus fixing bug #895406
330
331 2004-02-11 Bernhard Held <bernhard AT bernhardheld.de>
332
333         * device/lib/_modsint.c,
334         * device/lib/_modslong.c: sign follows divisor only
335         * src/hc08/gen.c (genMultOneByte): if result size is 1,
336         signs or signedness can be ignored
337         * src/SDCCast.c (addCast): cosmetic - added lineno to CAST
338         * src/SDCCast.c (resultTypePropagate): added even more ops: +, - and *,
339         added optimization for IFX,
340         (decorateType): Mult/Div/ModOneByte ops can handle all kind of signed
341         arguments;
342         reenabled optimization for IFX, which was removed on 2004-01-11
343         * src/SDCCast.h: added return type IFX
344         * src/SDCCicode.c: Mult/Div/ModOneByte ops can handle all kind of signed
345         arguments with 8 or 16 bit results; pic14 and pic16 ports use old
346         promotion behaviour; env. var. SDCC_NEWONEBYTEOPS selects the new,
347         SDCC_OLDONEBYTEOPS selects the old behaviour
348         * src/SDCCsymt.c (computeType): type2 can be NULL (for LEFT_OP);
349         changed again and commented promotion rule
350         * src/SDCCval.c (valDiv): promotion no longer necessary
351         * src/ds390/gen.c (genMultOneByte) (genDivOneByte) (genModOneByte),
352         * src/mcs51/gen.c (genMultOneByte) (genDivOneByte) (genModOneByte):
353         rewritten
354         * support/regression/tests/onebyte.c: added
355
356 2004-02-11 Vangelis Rokas <vrokas AT otenet.gr>
357
358         * gen.c (genInline): reverted to old code for assemnling inline
359         code because of bug reported James Chadd
360
361 2004-02-10 Vangelis Rokas <vrokas AT otenet.gr>
362
363         * ralloc.h: missing declarations from previous patch,
364         seems that patch for ralloc.h was never applied, fixed
365         
366 2004-02-10 Hans-Juergen Dorn <hans.dorn AT apl-landau.de>
367            patch committed by Vangelis Rokas <vrokas AT otenet.gr>
368
369         * pcode.c,
370         * pcode.h,
371         * ralloc.h: added FSR0L, FSR0H and other missing PIC16 SFR's for
372         indirect addressing. Marked FSR0 as deprecated
373         * gen.c (pointerCode): commented out, not needed now
374         (pic16_popGet2p): new MOVFF helper function
375         (genGenPointerGet),
376         (genGenPointerSet): reimplemented with MOVFF and POSTINC0
377         (shiftRLong): removed duplicate debugging info
378
379 2004-02-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
380
381         * src/ds390/gen.c (genNearPointerGet),
382         * src/mcs51/gen.c (genNearPointerGet): allow the genDataPointerGet()
383         optimization with bits, but not bitfields.
384         * src/ds390/ralloc.c (packRegisters),
385         * src/mcs51/ralloc.c (packRegisters): fixed bug #884453 & #880832
386
387 2004-02-09 Bernhard Held <bernhard AT bernhardheld.de>
388
389         * src/SDCCcse.c (algebraicOpts): copy operands before modification
390
391 2004-02-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
392
393         * src/SDCCsymt.h,
394         * src/SDCCicode.c (operandFromSymbol),
395         * src/mcs51/ralloc.c (verifyRegsAssigned, serialRegAssign),
396         * src/ds390/ralloc.c (verifyRegsAssigned, serialRegAssign),
397         * src/z80/ralloc.c (verifyRegsAssigned, serialRegAssign),
398         * src/hc08/ralloc.c (verifyRegsAssigned, serialRegAssign),
399         * src/pic/ralloc.c (verifyRegsAssigned, serialRegAssign),
400         * src/pic16/ralloc.c (verifyRegsAssigned, serialRegAssign): fixed
401         bug #892038
402         * src/SDCCast.c (createIvalStruct, createIvalArray, gatherAutoInit),
403         * src/SDCCglue.c (emitRegularMap, printIvalStruct, printIvalArray,
404         printIvalCharPtr, printIvalPtr, printIval, emitStaticSeg, emitOverlay)
405         * src/SDCCsymt.c (newSymbol),
406         * src/SDCC.y (struct_or_union_specifier, enum_specifier, 
407         enumerator_list),
408         * src/SDCCval.h,
409         * src/SDCCval.c (newiList): fixed bug #885705
410
411 2004-02-08  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
412
413         * doc/sdccman.lyx: added section 3.1.4: sdcclib.
414         * as/mcs51/lkmem.c: report the size of the stack in .mem file.
415
416 2004-02-08 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
417
418         * device/include/c8051f120.h,
419         * device/include/c8051f300.h,
420         * device/include/c8051f310.h: added/updated header files for Silicon
421         Laboratories (formerly Cygnal) CPUs. Contributed by Maarten Brock.
422         * doc/sdccman.lyx: minor changes, recommended diff -Naur and diff -u
423         in new section Submitting patches
424
425 2004-02-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
426
427         * src/mcs51/gen.c (genNearPointerGet, genPagedPointerGet,
428         genFarPointerGet, genCodePointerGet, genGenPointerGet,
429         genNearPointerSet, genPagedPointerSet, genFarPointerSet,
430         genGenPointerSet),
431         * src/ds390/gen.c (genNearPointerGet, genPagedPointerGet,
432         genFarPointerGet, genCodePointerGet, genGenPointerGet,
433         genNearPointerSet, genPagedPointerSet, genFarPointerSet,
434         genGenPointerSet),
435         * src/pic16/gen.c (genNearPointerGet, genPagedPointerGet,
436         genFarPointerGet, genCodePointerGet, genGenPointerGet,
437         genNearPointerSet, genPagedPointerSet, genFarPointerSet,
438         genGenPointerSet),
439         * src/pic/gen.c (genNearPointerGet, genPagedPointerGet,
440         genFarPointerGet, genCodePointerGet, genGenPointerGet,
441         genNearPointerSet, genPagedPointerSet, genFarPointerSet,
442         genGenPointerSet): fixed bug #892400
443         * src/pic16/gen.c (genSkipz, AccRol): disabled functions with #if 0
444         to eliminate build warnings.
445         * src/SDCCast.c (processParms),
446         * src/SDCC.y (function_declarator2, declarator2_function_attributes):
447         fixed bug 751859
448         * support/valdiag/valdiag.py: added GCC to the list of defines active
449         when compiling with gcc
450
451 2004-02-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
452
453         * support/Util/SDCCerr.h,
454         * support/Util/SDCCerr.c,
455         * src/SDCCast.c (decorateType, sizeofOp): complain when sizeof is used
456         with an incomplete type (fixed bug #883734)
457         * src/SDCCicode.c (geniCodeCast): fixed bug #890510
458
459 2004-02-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
460
461         * src/pic16/gen.c (genCmpEq, shiftRLong): fixed declarations
462
463 2004-02-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
464
465         * src/SDCCast.c (decorateType),
466         * src/SDCCicode.c (geniCodeParms, geniCodeCall): fixed bugs in my ANSI
467         function pointer implementation
468         * support/regression/tests/funptrs.c: added tests to verify both forms
469         of function pointers work correctly. Added tests to verify parameters
470         are passed in the correct order.
471
472 2004-02-06  Vangelis Rokas <vrokas AT otenet.gr>
473
474         * device.c (regCompare): registers are sorted by ascending
475         address and increasing size,
476         * main.c (_pic16_finaliseOptions): removed the declaration
477         of compiler macro MCU. Now a macro of the format pic18fxxxx
478         will be defined from the command line
479
480 2004-02-06  Hans-Juergen Dorn <hans.dorn AT apl-landau.de>
481             patch committed by Vangelis Rokas <vrokas AT otenet.gr>
482
483         * pcode.c (pic16initMnemonics): fixed typo in assignment to PCOP_RLNCF
484         PCOP_RLCF was overwritten!
485         * gen.c (genSkip): commented out calls to pic16_emitcode,
486         * (genCmpEQ): fixed "long" compares, only high word did get compared,
487         * (genlshTwo),
488         * (genRRC): added debugging info,
489         * (shiftL2Left2Result): Fixed bug, if offr > offl. Result got
490         overwritten while shifting,
491         * (shiftR2Left2Result): Fixed bug, if offr < offl. Result got
492         overwritten while shifting,
493         * (AccLsh),
494         * (AccRsh),
495         * (shiftLLeftOrResult),
496         * (shiftRLeftOrResult),
497         * (shiftRLong),
498         * (shiftLLong): Implemented with pic16_emitpcode
499         * (genlshFour): Replaced pic16_aopPut with pic16_emitpcode,
500         * (genLeftShift): Fixed bug, operand for shift by variable always
501         was "and"ed with 0x0f,
502         * (genLeftShiftLiteral),
503         * (genrshTwo),
504         * (genRightShiftLiteral): added debugging info,
505         * (genrshFour): added comment,
506         * (genRightShift): determined signedness from operand "left"
507         instead of "result"
508
509 2004-02-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
510
511         * src/SDCCicode.c (geniCodeParms),
512         * src/SDCCast.c (decorateType, processParms): support for ANSI-style
513         function pointers, fixed function pointer bugs #861242 and #861896
514
515 2004-01-31 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
516
517         * device/include/c8051f000.h,
518         * device/include/c8051f120.h,
519         * device/include/c8051f300.h: added header files for Silicon
520         Laboratories (formerly Cygnal) CPUs. Contributed by Maarten Brock.
521
522 2004-01-31 Bernhard Held <bernhard AT bernhardheld.de>
523
524         * src/SDCCast.c (processParams): added new type flow and restructured
525         (gatherAutoInit): added new type flow
526         (addCast): cosmetic changes
527         (getLeftResultType): added new type flow for array indices, patch
528         provided by Stas, see FR #877103
529         (decorateType): SDCC_NEWTYPEFLOW removed, new type flow is now standard;
530         array index patch by Stas
531         * src/SDCCast.h: added prototype getResultTypeFromType()
532         * src/SDCCval.h,
533         * src/SDCCval.c (resolveIvalSym) (resolveIvalSym),
534         * src/pic/glue.c (pic14emitStaticSeg),
535         * src/pic16/glue.c (pic16emitStaticSeg),
536         * src/SDCCglue.c (emitRegularMap) (emitStaticSeg): added new type flow
537         for initialization of symbols
538         * src/SDCCicode.c (geniCodeArray): removed warning W_ARRAY_BOUND
539         * support/Util/SDCCerr.h:
540         * support/Util/SDCCerr.c: replaced W_ARRAY_BOUND by W_IDX_OUT_OF_BOUNDS
541         * .version: bumped version number to 2.3.8
542         * device/include/Makefile.in (install),
543         * doc/Makefile (install): changed to 'rm `find ...`' construct to
544         avoid warnings
545
546 2004-01-30 Bernhard Held <bernhard AT bernhardheld.de>
547
548         * support/regression/tests/libmullong.c: fixed for 64 bit hosts
549         Slade Rich fixed an optimization bug
550         * src/pic/pcodepeep.c,
551         * src/pic/pcoderegs.c
552         * doc/Makefile (install): added test for directory
553
554 2004-01-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
555
556         * src/mcs51/ralloc.c (getRegPtr, getRegGpr),
557         * src/ds390/ralloc.c (getRegPtr, getRegGpr),
558         * src/pic/ralloc.c (getRegPtr, getRegGpr),
559         * src/pic16/ralloc.c (getRegPtr, getRegGpr),
560         * src/z80/ralloc.c (getRegGpr): fixed bug #883361
561         * as/mcs51/asexpr.c (term),
562         * as/hc08/asexpr.c (term): fixed bug #887146
563
564 2004-01-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
565
566         * src/z80/gen.c (genMult): handle single byte result product
567         * src/SDCCopt.c (killDeadCode): never convert ADDRESS_OF iCode to
568         DUMMY_READ_VOLATILE (fixed bug #886367)
569
570 2004-01-27 Bernhard Held <bernhard AT bernhardheld.de>
571
572         * support/regression/tests/libmullong.c: fixed logic, on little endian
573         hosts we ended without a mullong_wrapper()
574
575 2004-01-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
576
577         * ChangeLog: changed "@" to " AT " in hopes of reducing spam and
578         virus/worm forged address usage.
579
580 2004-01-27 Bernhard Held <bernhard AT bernhardheld.de>
581
582         Fixed promotion, it should be done on AST level:
583         * src/SDCCast.c (addCast): added promotion to int
584         (decorateType): updated call to upCast()
585         * src/SDCCicode.c (geniCodeLeftShift): removed call to
586         usualUnaryConversions()
587
588 2004-01-26  Michael Hope  <michaelh AT juju.net.nz>
589
590         * support/regression/tests/literalop.c (mulWrapper): Added a
591         wrapper to remove integer overflow warnings.
592
593         * support/regression/tests/float_trans.c: Made work on host.
594
595         * support/regression/ports/ucz80/spec.mk (UCZ80): Made detect the
596         location of sz80.
597
598         * support/regression/generate-cases.py (main): Changed from inline
599         to a main method.
600
601         * doc/Makefile (install): Changed to depth first to get rid of
602         missing directory install warning.
603
604         * as/Makefile (install-doc): Made work on Mac.
605
606 2004-01-25 Bernhard Held <bernhard AT bernhardheld.de>
607
608         * src/SDCCast.c: added an additional type flow in decorateType() of
609         opposite direction, see feature request #860006; it's enabled at runtime
610         by setting the environment variable SDCC_NEWTYPEFLOW
611         * src/SDCCast.h: changed prototype of decorateType()
612         * src/SDCCglue.c (emitRegularMap): updated call of decorateType()
613         * src/SDCCicode.c (geniCodeDivision) (geniCodeModulus): promotion from
614         'char' to 'int' can be omitted, if both operands are 'unsigned char';
615         see feature request #877103
616         * src/SDCCval.c: updated call of decorateType()
617         (valBitwise): fixed bug #882876
618         (valMinus): added promotion
619         (valLogicAndOr): result is unsigned
620         (cheapestVal) (constVal): literals from 0...255 are 'unsigned char' now
621         * src/SDCCsymt.c (computeType),
622         * src/mcs51/gen.c (genCmpGt) (genCmpLt): literal 'unsigned char'
623         must not cause an unsigned operation
624         * src/pic/glue (pic14emitRegularMap),
625         * src/pic16/glue.c (pic16emitRegularMap): updated call of decorateType()
626
627 2004-01-23 Bernhard Held <bernhard AT bernhardheld.de>
628
629         * src/pic/pcode.c (PCodeID): commented out left over debug code
630
631 2004-01-20 Bernhard Held <bernhard AT bernhardheld.de>
632
633         * support/valdiag/tests/overflow.c: added shift tests
634         * src/pic/device.c,
635         * src/pic/gen.c,
636         * src/pic/gen.h,
637         * src/pic/glue.c,
638         * src/pic/main.c,
639         * src/pic/pcode.c,
640         * src/pic/pcode.h,
641         * src/pic/pcodepeep.c,
642         * src/pic/pcoderegs.c,
643         * src/pic/ralloc.c,
644         * src/pic/ralloc.h: applied patch from Slade Rich;
645         added support for multiple code pages and multiple RAM banks on the
646         PIC 14 port. The ASM files now no longer simply assume all the
647         code / RAM are in the same page / bank. This means the linker can
648         safely allocate code/RAM of separate ASM files to different pages/banks.
649         * doc/sdccman.lyx: added Slade's tips
650         * src/mcs51/peeph.def: fixed bug #880768
651
652 2004-01-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
653
654         * src/hc08/ralloc.c (rematStr): fixed bug #879282
655         * src/SDCCast.c (decorateType): fixed bug #880197
656
657 2004-01-20  Michael Hope  <michaelh AT juju.net.nz>
658
659         * sim/ucsim/gui.src/serio.src/main.cc: Fixed unconditional use of
660         getopt.h.
661
662         * debugger/mcs51/cmd.c (getValBasic): Changed strtof to strtod as
663         strtof is not part of C89 and isn't included with Mac OS X.
664
665 2004-01-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
666
667         * src/hc08/gen.c (genPlusIncr, genUminus, genMinusDec, genCmp,
668         shiftL2Left2Result): fixed bug #879326
669         (genAnd, genOr, genXor): fixed bug when result was of type AOP_CRY
670         (genMultOneByte): fixed bug in signed vs unsigned multiplication
671         * sim/ucsim/hc08.src/inst.cc (inst_clr): added missing effective
672         address fetch for clr instruction
673         * device/lib/hc08/_mulint.c: created optimized assembly version
674         * src/SDCCdflow.c (computeDataFlow): fixed bug #878209
675
676 2004-01-19 Bernhard Held <bernhard AT bernhardheld.de>
677
678         * src/SDCCicode.c (geniCodeArray): applied patch from Stas Sergeev
679         proposed in FR #877103
680
681 2004-01-18 Bernhard Held <bernhard AT bernhardheld.de>
682
683         * src/SDCCval.c (cheapestVal): added missing checks
684         * src/SDCCicode.c (usualBinaryConversions): fixed condition
685         * src/SDCCicode.c (geniCodeAdd): fixed part of bug #877103
686
687 2004-01-16 Klaus Flittner <klaus_flittner AT gmx.de>
688
689         * src/ds390/gen.c (aopOp3): fixed the assignment of different dptrs to
690         equal operands
691
692 2004-01-16 Vangelis Rokas <vrokas AT otenet.gr>
693
694         * src/SDCCmain.c (linkEdit): variable $3 of the linker command is
695         loaded with the linker search paths (-L arguments) and the libraries
696         to be linked with the current source (-l arguments). Changes
697         currently will affect only the pic16 port.
698         * src/pic16/main.c (_pic16_finaliseOptions): add to the linker
699         include path the port specific paths and port specific libraries,
700         * gplink command now contains the $3 argument,
701         * src/pic16/device.h,
702         * src/pic16/device.c,: structure PIC_device is made public and
703         renamed to PIC16_device, the same for variable Pics which is renamed
704         to Pics16. Updated all references to them.
705         * src/pic16/glue.c (pic16glue): corrected bug with code
706         initialization which bypassed the variable initializations block.
707
708         * device/lib/pic16/Makefile.rules: removed --penable-stack from
709         COMPILE_FLAGS and added the --nostdinc option
710
711 2004-01-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
712
713         * device/include/mc68hc908jb8.h: Register defs for another member
714         of the hc08 family. Contributed by Bjorn Bringert - thanks!
715
716 2004-01-14 Vangelis Rokas <vrokas AT otenet.gr>
717
718         Documenting changes from previous commits.
719         * configure.in (version 1.56),
720         * configure: initially I've added AC_CONFIG_SUBDIRS(device/lib/pic16)
721         when generating output files to configure the pic16 library,
722         but now I've commented it out, since gputils aren't installed in the
723         SF compile farm, so library won't compile
724
725         * device/lib/Makefile.in (version 1.56): initially I've added in
726         target 'all' the prerequestive 'model-pic16' so it compiled the
727         pic16 library, but now I've commented it out for the same reasons
728         above,
729         * added targets 'model-pic16' and 'objects-pic16' to compile the
730         library
731         * added target 'port-specific-objects-pic16' to handle the
732         generated libraries and copy them into the build/ directory
733         * added target 'clean-intermediate-pic16' to clean intermediate
734         files into pic16 directory
735         * in target 'installdirs' added line to create directory pic16 in
736         the installation path
737
738         * device/include/Makefile.in (version 1.11): in target 'install'
739         added lines to copy all header files to installation path,
740         * in target 'installdirs' added line create directory for pic16
741         headers in the installation path
742
743 2004-01-13 Klaus Flittner <klaus_flittner AT gmx.de>
744
745         * src/ds390/gen.c (genCall): fixed a double use of acc and b after
746          a function call
747
748 2004-01-13 Bernhard Held <bernhard AT bernhardheld.de>
749
750         * configure,
751         * device/lib/configure.in,
752         * device/lib/configure: fixed for autoconf 2.57
753
754 2004-01-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
755
756         * src/z80/main.c (_parseOptions): fixed the portmode= command line
757         option so that it actually works. Made it specific to the z80, since
758         the gbz80 doesn't have these kinds of I/O ports.
759
760 2004-01-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
761
762         * device/include/z180.h,
763         * device/lib/_memcpy.c,
764         * device/lib/_memmove.c,
765         * device/lib/_mulint.c,
766         * device/lib/ser_ir.c,
767         * device/lib/ser_ir_cts_rts.c,
768         * device/lib/_strcmp.c,
769         * device/lib/_strtok.c: fixed pragmas to non-deprecated form
770         * src/z80/main.c (_process_pragma): add support for pragmas bank and
771         portmode; added deprecation warning for bank= and protmode= forms.
772         Also, guard against buffer overflow.
773         * src/z80/gen.c (aopGet): generate better code for sfr banked read
774
775 2004-01-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
776
777         * src/hc08/main.c (_hc08_genAssemblerPreamble): fixed bug #875487. Also
778         changed interrupt vector table generation to only emit declared vectors.
779         * device/include/Makefile.in: added missing backslash
780         * device/lib/pic16/Makefile.rules: add $(MODELFLAGS) to $(CFLAGS)
781
782 2004-01-13 Vangelis Rokas <vrokas AT otenet.gr>
783
784         Mainly changes to support compilation of the device libraries
785         * src/pic16/device.c: stack is allocated via symbol and not
786         via literal number. The symbol is placed in the corresponding
787         position of the data ram
788         * (pic16_dump_section): relocatable and absolute uninitialized
789         data are now emitted in sorted order to reduce section naming,
790         * src/pic16/ralloc.c (newReg): fixed bug with SFR's that
791         weren't marked as being in the access bank,
792
793 2004-01-13 Vangelis Rokas <vrokas AT otenet.gr>
794
795         Added portion of GNU PIC Library under the directory
796         device/include/pic16 and device/lib/pic16. These files
797         contain the declarations of SFRs for the PIC18Fxx2 devices.
798         The directory is initialized via configure from toplevel.
799         
800 2004-01-12 Klaus Flittner <klaus_flittner AT gmx.de>
801
802         * src/ds390/gen.c (operandsEqu): fixed a little typo, that prevented
803         the spilllocations to be compared correctly
804
805 2004-01-12 Bernhard Held <bernhard AT bernhardheld.de>
806
807         * src/SDCCast.c (decorateType): fixed bug introduced today
808
809 2004-01-12  Borut Razem <borut.razem AT siol.net>
810
811         * src/SDCC.lex, support/Util/SDCCerr.h, support/Util/SDCCerr.c,
812         doc/sdccman.lyx: upper case pragmas are deprecated
813
814 2004-01-12 Bernhard Held <bernhard AT bernhardheld.de>
815
816         * src/SDCCast.c (decorateType): replacing 'ul > 0' by  '!ul' results
817         in simpler and even better code
818
819 2004-01-11 Bernhard Held <bernhard AT bernhardheld.de>
820
821         * src/SDCCicode.c (operandOperation): fixed bug #874819
822         * src/SDCCast.c (decorateType): fixed
823         char foo (unsigned long ul) { return ul > 0; }
824
825 2004-01-11 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
826
827         * doc/sdccman.lyx: Moved and added some sections, small changes
828         all over. Telling LaTeX to be less strict with word spacing
829         to better keep the right margin. Changed some notes about
830         maintainance of the ports in section 3.2.1 - is it OK like this?
831
832 2004-01-11 Vangelis Rokas <vrokas AT otenet.gr>
833
834         SDCC source changes:
835         * src/SDCCopt.c (cntToFcall, cnvToFloatCast, cnvFromFloatCast,
836         convilong): modified to inform the pic16 port that builtin functions
837         are external
838
839         PIC16 PORT specific changes:
840         * src/pic16/device.c pic16_dump_equates() added,
841         processor registers declared internally by the port are emitted in
842         the translation as equates,
843         * src/pic16/gen.c: inline code is passed unprocessed to the
844         translation,
845         * (pic16_popGetLit2): fnuction modified to take second operand as
846         pCodeOp pointer and not as literal,
847         * (popRegFromIdx): prefixed with pic16_,
848         * (pic16_popCombine2): modified to receive already allocated pCode
849         operands,
850         * (pic16_pushpCodeOpReg, pic16_poppCodeOpReg): added
851         * (genFunction): initializes local stack frame and pushes on stack
852         all the registers used by this function,
853         * (genEndFunction): restores all registers from stack and restores
854         stack frame,
855         * src/pic16/glue.c (pic16emitRegularMap): various changes and
856         improvements,
857         * (pic16glue): changed the program startup sequence,
858         * added new dbName code 'A' for functions placed in absolute section
859         * src/pic16/main.c: added function attribute _naked,
860         * added pragma 'code' to place a fnuction at an absolute address,
861         * added command line arguments --debug-ralloc and --pcode-verbose,
862         * (_pic16_finiliseOptions): options.all_callee_saves is set by default
863         * src/pic16/pcode.c (pic16_pBlockConvert2Absolute) added,
864         * (pic16_newpCodeOpLit2): modified to take the second operand as
865         pCodeOp pointer,
866         * (pic16_printpBlock): modified to emit each function in a separate
867         section,
868         * (pic16_get_op): modified to use the gpasm modifiers LOW,HIGH and
869         UPPER for immediate operands,
870         * src/pic16/pcodepeeph.c: added peephole support for the LFSR
871         instruction,
872         * src/pic16/peeph.def: all peepholes with movff are commented out,
873         because there is a problem in the pcode peep optimizer,
874         * src/pic16/ralloc.c: the register allocator can now reuse local
875         function symbols for another function. This saves register usage.
876         * src/pic16/ralloc.h: added flag isLocal in structure regs,
877
878         Added file src/pic16/NOTES with information about program writing on
879         the current port version.
880
881 2004-01-11 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
882
883         * src/mcs51/peephole.def: added peepholes 177.c,d (redundant moves)
884         and peephole 252 (array access)
885
886 2004-01-09  Borut Razem <borut.razem AT siol.net>
887
888         * src/SDCCmain.c : fixed #872250: -l command line defined library
889           files are scanned before standard library files
890
891 2004-01-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
892
893         * src/SDCCast.c (decorateType): fixed bug #874046
894
895 2004-01-09  Borut Razem <borut.razem AT siol.net>
896
897         * support/scripts/sdcc.nsi: remove previous installation
898
899 2004-01-09 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
900
901         * src/SDCCglue.c (createInterruptVect): don't append 7(5) padding
902         bytes for last interrupt vector (mcs51)
903         * sdcc.spec: fixed typo
904
905 2004-01-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
906
907         * src/mcs51/gen.c (genFunction, genEndFunction, genReceive, getTempRegs,
908         gen51Code): more efficient parameter receive for --model-large
909         ("bug" #845294)
910
911 2004-01-09 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
912
913         * src/ds390/main.c,
914         * src/z80/main.c: added missed needLinkerScript flags (more than
915         one port structure defined in these file)
916         * src/ds390/gen.c (aopForSym, aopOp, operandsEqu, aopOp3): fixed
917         bug #795325
918
919 2004-01-08 Vangelis Rokas <vrokas AT otenet.gr>
920
921         * src/SDCCmain.c: removed various references to DEFAULT_PORT
922         * src/port.h: added flag needLinkerScript in port->linker
923         structure to inform whether to create a .lnk file or not,
924         * src/avr/main.c,
925         * src/ds390/main.c,
926         * src/hc08/main.c,
927         * src/mcs51/main.c,
928         * src/pic/main.c,
929         * src/pic16/main.c,
930         * src/xa51/main.c,
931         * src/z80/main.c: changed appropriately to configure
932         needLinkerScript flag
933         * src/pic/gen.c,
934         * src/pic16/gen.c (genAddrOf): fixed bug #863624
935         * src/pic/glue.c: added variable udata_section_name to
936         override default uninitialized data segment definition for
937         devices only with SHAREBANK memory (reported from Erik Epetrich)
938         * (pic14emitOverlay): modified to emit a commented overlay segment
939         directive when no overlay data exist
940         * (picglue): modified to emit uninitialized data segment
941         according to udata_section_name
942         * src/pic/main.c (_pic14_parseOptions): added command line
943         options --udata-section-name=[name] to override default
944         udata definition name
945         * modified _linkCmd and _asmCmd to include compiler passed
946         arguments via -W option
947         * src/pic16/main.c: added $l in _asmCmd, changed extension for
948         object file from '.rel' to '.o' in port->linker structure,
949         changed size of fptr from 2 to 3 in port structure
950
951 2004-01-07  Borut Razem <borut.razem AT siol.net>
952
953         * support/scripts/sdcc.nsi: update PATH
954         * support/scripts/sdcc.ico: craeted
955
956 2004-01-07 Bernhard Held <bernhard AT bernhardheld.de>
957
958         * device/include/Makefile.in: fix install
959         * doc/Makefile: fix install
960
961 2004-01-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
962
963         * src/SDCCsymt.c (processFuncArgs): fixed superflous allocation noted
964         in bug #860505
965         * src/SDCCmem.c (printAllocInfoSeg, printAllocInfo): minor changes to
966         how the function variable allocation summary is displayed; also
967         include information about variables allocated to the overlay
968         segment
969
970 2004-01-06  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
971
972         * as/mcs51/lkmain.c: Help about -Y option
973         * as/mcs51/lkarea.c: Fixed gcc warnings
974
975 2004-01-06 Bernhard Held <bernhard AT bernhardheld.de>
976
977         * src/SDCCval.c (valShift): changed from 16 to 32 bit shift count,
978         fixed warning
979         * support/valdiag/tests/overflow.c: added
980         * src/SDCCast.c (decorateType),
981         * src/SDCCicode.c (geniCodeLeftShift): added promotion to int for
982         LEFT_OP (left shift)
983
984 2004-01-06  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
985
986         * as/mcs51/lkmain.c: stack must be after data when option -Y is not used
987         (default behaviour).
988
989 2004-01-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
990
991         A python script to validate compiler diagnostic messages. It can be
992         used to verify that sdcc complains about bad c source code and
993         gives a good location of the error.
994         * support/valdiag/Makefile,
995         * support/valdiag/valdiag.py,
996         * support/valdiag/tests/*
997
998 2004-01-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
999
1000         * src/SDCC.y (enum_specifier, enumerator_list, opt_assign_expr),
1001         * src/SDCCsymt.c (newEnumType),
1002         * src/SDCCsymt.h
1003         * support/Util/SDCCerr.c,
1004         * support/Util/SDCCerr.h: fixed bug #871258 and some other unreported
1005         enum related bugs.
1006         * support/regression/tests/enum.c: added test for enum values that
1007         require at least 2 bytes of storage.
1008
1009 2004-01-06 Vangelis Rokas <vrokas AT otenet.gr>
1010
1011         * src/common.h: added ifndef/define/endif macros
1012         around the header file.
1013         Bug reported from Jesus Calvino-Fraga
1014
1015 2004-01-06 Bernhard Held <bernhard AT bernhardheld.de>
1016
1017         * sdcc.spec: updated
1018         * device/include/Makefile.in: don't install CVS directories
1019         * device/lib/Makefile.in: added removal of CVS directories after install
1020         * doc/Makefile: fixed install, added local_icons
1021         * sim/ucsim/gui.src/Makefile.in: fixed an old typo
1022         * src/mcs51/gen.c (genRightShift): fixed bug #870788
1023         * src/ds390/gen.c (genRightShift): fixed bug #870788
1024         * src/SDCCast.c (decorateType): fixed bug #870781
1025
1026 2004-01-06 Vangelis Rokas <vrokas AT otenet.gr>
1027
1028         PIC16 port related changes:
1029         * device.c: removed pic16_finalMapping and pic16_finalMappingSize,
1030         added variable stackPos,
1031
1032         * gen.c: genCall, assignResultValue: added support for
1033         pushing/retrieving function parameters to/from stack,
1034         genFunction,genEndFunction: setup stack frame for the
1035         generated function,
1036         genAddrOf: will be changed according to bug 863624
1037
1038         * added files genutils.c and genutils.h which contain gen*
1039         debugged and optimised functions extracted from gen.c
1040         
1041         * glue.c: added variable 'externs' which holds extern symbols,
1042         pic16emitRegularMap: is modified to properly handle relocatable
1043          symbols under the new scheme,
1044         pic16createInterruptVect: is modified
1045         pic16printPublics: is modified to emit 'global' assembler directives,
1046         added pic16_printExterns to print extern symbols,
1047         pic16glue: initializes stack/frame pointer in the beginning of
1048         the assembly output. Temporary hack, will be corrected later,
1049         because gplink yet does not support stack and SDCC does not
1050         yet support a type of crt0.o object to create the final binary.
1051         
1052         * Removed many lines that contain 8051 legacy code.
1053         * The code is finally placed under a 'code' directive.
1054         * Added port specific options.
1055         
1056         * _process_pragma: simplified since now we do not need *special*
1057         include file to define SFR registers. But a separate header
1058         will be needed. This will be developed later.
1059         * _pic16_parseOptions: added, parses port specific options:
1060         --pgen-banksel, --obanksel=, --pomit-config-words, --pomit-ivt,
1061         --pleave-reset-vector, --penable-stack, --pstack-model, --debug-xtra
1062         --preplace-udata-with=
1063         
1064         * _pic16_setDefaultOptions: modified to initialize section names,
1065         but hack is temporarly out of order since it needs improvement.
1066         * _pic16_genAssemblerPreamble: configuration words are emitted by
1067         their address instead of their name. This part is incomplete and
1068         supports only the 18Fxx2 devices. Other devices will emit an error
1069         during assembly since they do not contain the same set of config
1070         registers
1071         * _pic16_genIVT: is modified,
1072         
1073         * pcode.c: added definitions for some hardware registers that are needed
1074         for stack support
1075         * added flag is2LitOp and variable pci_magic in pCodeInstruction.
1076         All PCI entries are updated. Now LFSR is supported.
1077         * Removed pic16_pciTRIS is mentioned by mdubuc in source
1078         * added pic16_newpCodeOpLit2 to support instructions with
1079         two literal arguments
1080         * pic16_pCode2str: corrected code that emits assembler instructions
1081         with two literal operands and those that have an access bit modifier
1082         * genericPrint: now PC_ASMDIR pCodes, can emit a label if it exists,
1083         this fixes a bug which caused some labels to be lost, when an
1084         assembler directive was added, i.e. banksel,
1085         * pic16_FixRegisterBanking: improved logic that causes the insertion
1086         of bank switching,
1087         * InlineFunction: functions that are called once, are not any more
1088         inlined. This can be a port option in the future,
1089         
1090         * pcode.h: added pCodeOpLit2 and added variable label in pCodeAsmDir
1091         
1092         * ralloc.c: added pic16_rel_udata and pic16_fix_udata variables which
1093         hold the corresponding uninitialized symbols,
1094         * pic16_allocProcessorRegister: registers have explicit marked the
1095         accessBank field,
1096         * pic16_allocInternalRegister: registers are explicit marked as
1097         not used,
1098         * pic16_writeUsedRegs: pic16_dynDirectBitRegs was missing from the
1099         processing list, so bit registers were lost,
1100         * 
1101
1102         * ralloc.h: added field 'accessBank' and original symbol operand
1103         in register definition,
1104         * removed the field isMapped from register definition,
1105
1106         ** Several functions have been removed from various sources:
1107         BanksUsedFlow2,BanksUsedFlow,FixBankFlow,InstructionRegBank,
1108         pic16_addMemRange,pic16_isREGinBank,pic16_dump_map,pic16_dump_cblock
1109         isSFR,validAddress,mapRegister,assignRegister,pic16_assignFixedRegisters
1110         pic16_assignRelocatableRegisters
1111         
1112         ** others have been introduced:
1113         pic16_areRegsSame,pic16_dump_section,checkAddReg,pic16_groupRegistersInSection
1114         pic16_popGetLit2,pic16_popCombine2,pushw,pushaop
1115         
1116 2004-01-05 Vangelis Rokas <vrokas AT otenet.gr>
1117
1118         * support/scripts/inc2h.pl: changed definition of BIT_AT
1119         to emit 'sbit at' instead of 'bit at'. This was a request.
1120
1121         PIC16 port related preliminary changes:
1122         * gen.c: prefixed function popRegFromString with
1123         pic16_ and all references to it corrected
1124         * pcode.c: all pic16_pc_* hardware registers prefixed
1125         with underscore (_),
1126         pic16_popCopyGPR2Bit(): function sets register wasUsed=1
1127         * ralloc.c: newReg(): when register is REG_SFR then
1128         set address to rIdx,
1129         pic16_allocProcessorRegister(): marks register wasUsed=0
1130         pic16_writeUsedRegs(): added a call to assign processor
1131         registers via pic16_assignFixedRegisters
1132
1133 2004-01-04  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
1134
1135         * as/mcs51/aslink.h, as/mcs51/lkarea.c, as/mcs51/lkdata.c,
1136         as/mcs51/lkmain.c, as/mcs51/lkmem.c: 8051 linker can now pack
1137         variables in unused register banks.  Also the SSEG is placed
1138         wherever there is enough space for it, and IDATA can be anywhere
1139         in internal RAM.  For now compile using -Wl-Y[stack_size].
1140         The mem file is different for this option as well, since it
1141         makes no sense of talking about DSEG lenght.
1142
1143 2004-01-02 Vangelis Rokas <vrokas AT otenet.gr>
1144
1145         * src/SDCClrange.c: fixed bug 869095 that caused segfault
1146         in certain cases, e.g. when ROM assignment, patch provided
1147         from Albert den Haan.
1148
1149 2004-01-01 Bernhard Held <bernhard AT bernhardheld.de>
1150
1151         Many signedness and type propagation fixes:
1152         * src/SDCCicode.c: made geniCodeCast() static
1153         replaced SPEC_ by IS_ (cosmetic)
1154         (operandOperation): fixed div and mod operation
1155         (usualBinaryConversions): added support for promotion of char
1156         (geniCodeMultiply): replaced (unsigned long) by (TYPE_UDWORD)
1157         (geniCodeDivision): replaced (unsigned long) by (TYPE_UDWORD)
1158         (geniCodeAdd): an array index will stay unsigned, even if promoted
1159         from char to int
1160         (geniCodeArray): ditto
1161         * src/SDCCicode.h: made geniCodeCast() static: removed prototype
1162         * src/SDCCsymt.c (computeType): added more support for char;
1163         promotion of char is selectable by promoteCharToInt, fixed signedness
1164         for all cases
1165         (powof2): replaced (unsigned long) by (TYPE_UDWORD)
1166         * src/SDCCsymt.h (powof2): replaced (unsigned long) by (TYPE_UDWORD)
1167         * src/SDCCval (val*): replaced signedness calculation by
1168         computeType()
1169         rearranged if-branches (cosmetic)
1170         (valShift): added warning W_SHIFT_CHANGED
1171         (valCompare): fixed problem with different types
1172         * src/hc08/rallo.c (leastUsedLR): fixed gcc 3.3 warning
1173         * support/regression/tests/literalop.c: added many cases
1174         * support/regression/tests/ast_constant_folding.c: changed finally to
1175         'unsigned int'
1176         * .version: new year, new version: 2.3.7
1177         * src/SDCCmain.c (main): applied patch #866468
1178         * debugger/mcs51/sdcdb.c (parseCmdLine): added -k for ucsim, patch
1179         provided by Scott Bronson
1180         * doc/sdccman.lyx: updated documentation for sdcdb
1181         updated and added chapter tips
1182
1183 2004-01-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1184
1185         * src/SDCCsymt.h: missing from yesterday's commits
1186
1187 2003-12-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1188
1189         * src/SDCC.y (struct_or_union_specifier),
1190         * support/Util/SDCCerr.c,
1191         * support/Util/SDCCerr.h: verify that struct & union tags are used
1192         as declared.
1193
1194 2003-12-29 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1195
1196         * src/SDCCglobl.h: missing from yesterday's commits
1197
1198 2003-12-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1199
1200         * src/SDCC.y (external_definition, type_specifier2, sfr_reg_bit,
1201         sft_attributes, struct_declaration, parameter_declaration,
1202         type_name, start_block, declaration_list),
1203         * src/SDCC.lex (check_type): support redefinition of typedef names
1204
1205 2003-12-22 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1206
1207         * src/mcs51/gen.c (genPlus): added special handling for 256 byte
1208         aligned xdata arrays. Erik helped me with the if clause.
1209
1210 2003-12-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1211
1212         * device/lib/ds390/tinibios.c (CpuSpeed): suppress unreachable code
1213         warning
1214
1215 2003-12-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1216
1217         * src/SDCCast.h,
1218         * src/SDCCast.c (newAst_),
1219         * src/SDCCicode.h,
1220         * src/SDCCicode.c (ast2iCode, newiCode),
1221         * src/SDCCglobl.h,
1222         * src/SDCC.y (logical_and_expr, logical_or_expr, conditional_expr,
1223         expr, statement, expression_statement, selection_statement,
1224         iteration_statement, expr_opt, jump_statement): foundation for tracking
1225         sequence points
1226         * src/SDCCopt.c (killDeadCode): fixed bug #861580 (needs the sequence
1227         point code too)
1228
1229 2003-12-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1230
1231         * support/Util/SDCCerr.c,
1232         * src/SDCCast.h,
1233         * src/SDCCast.c (createCase, createDefault, decorateType),
1234         * src/SDCClabel.c (labelUnreach),
1235         * src/SDCC.y (labeled_statement, jump_statement): More improvements
1236         to error messages.
1237         * support/Util/SDCCerr.c (werrorfl): fixed a non-standard declaration
1238         (with thanks to Stas Sergeev)
1239         * device/include/time.h,
1240         * device/lib/time.c (CheckTime): suppress unreachable code warning
1241
1242 2003-12-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1243
1244         * src/SDCCast.c (createIvalCharPtr),
1245         * src/SDCCglue.c (printChar): fixed bug #862241 (an error in my fix for
1246         bug #753752)
1247         * support/regression/tests/nullstring.c: tests for these two bugs
1248
1249 2003-12-18 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1250
1251         * support/Util/SDCCerr.h,
1252         * support/Util/SDCCerr.c (E_NOT_ALLOWED),
1253         * src/SDCC.y (struct_declaration, struct_or_union_specifier): complain
1254         about storage class and 'at' used inside struct or union
1255         * src/SDCCBBlock.c (iCodeFromeBBlock),
1256         * src/SDCCcse.c (ifxOptimize),
1257         * src/SDCCglue.c (emitRegularMap, initPointer, printIvalStruct,
1258         printIvalArray, printiValFuncPtr, printIvalCharPtr, printIvalPtr,
1259         printIval, emitStaticSeg, emitOverlay),
1260         * src/SDCClabel.c (deleteIfx),
1261         * src/SDCCopt.c (replaceRegEqv, eBBlockFromiCode),
1262         * src/SDCCast.c (resolveSymbols, createIvalStruct, createIvalArray,
1263         gatherAutoInit, processParms),
1264         * support/Util/SDCCerr.h,
1265         * support/Util/SDCCerr.c (werrorfl): Support for better error location
1266         reporting for post-parse errors.
1267
1268 2003-12-16 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1269
1270         * src/SDCCval.c (valPlus, valMinus, valShift): fixed some problems with
1271         implicit casts via union; they don't work on big endian systems
1272         (possible fix for bug #861138)
1273
1274 2003-12-16 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1275
1276         (committed by Erik Petrich <epetrich AT ivorytower.norman.ok.us> on Frieder's behalf)
1277         * src/mcs51/main.c: fixed the fix for bug #737001
1278
1279 2003-12-15  Borut Razem <borut.razem AT siol.net>
1280
1281         * support/scripts/sdcc.nsi: updated for NSIS 2.0 beta 4
1282
1283 2003-12-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1284
1285         * support/makebin/makebin.c: put output in binary mode
1286
1287 2003-12-13 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1288
1289         * src/mcs51/main.c: fixed bug #737001 for the mcs51. SDCC clears
1290         xdata and data memory on startup. Set the environment variable
1291         SDCC_NOGENRAMCLEAR to disable this.
1292         * src/mcs51/peephole.def,
1293         * src/ds390/peephole.def: using the atomic test and clear instruction jbc
1294         (allows non-interrupt and interrupt code to safely compete for a resource
1295         without the non-interrupt code having to disable interrupts)
1296
1297 2003-12-13 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1298
1299         * src/SDCCicode.c (geniCodeAdd),
1300         * src/SDCCast.c (decorateType): fixed bug #857753 (need to be careful
1301         with valFromType if type might be a pointer and host is big endian).
1302         * src/SDCCast.c (decorateType): unary plus compatible with all arithmetic
1303         types, not just integer types.
1304         * src/SDCCsymt.c (addSymChain): clarified error message when symbol is
1305         multiply defined with mismatching "at" address.
1306
1307 2003-12-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1308
1309         * src/ds390/main.c (PORT tininative_port): fixed bug #858416
1310         * src/SDCCglue.c (printChar, printIvalChar, emitStaticSeg),
1311         * src/SDCCast.c (createIvalCharPtr, stringToSymbol): handle strings
1312         with embedded nulls (fixed bug #753752)
1313
1314 2003-12-12 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1315
1316         * src/mcs51/main.c(_mcs51_genRAMCLEAR): using r0 instead of r1/r2.
1317         Apparently this did not see much testing (endless loop)
1318
1319 2003-12-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1320
1321         * src/z80/ralloc.c: set DISABLE_PACK_HL = 1 as a temporary fix to bug #855165
1322
1323 2003-12-10 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1324
1325         * src/SDCCdebug.c (outputDebugSymbols, outputDebugStackSymbols, dumpSymInfo):
1326         gracefully handle NULL memmap pointers
1327
1328 2003-12-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1329
1330         * src/SDCCopt.c (killDeadCode): change iCode type to DUMMY_READ_VOLATILE
1331         instead of deleting the iCode when an operand is volatile
1332         * src/z80/gen.c (genDummyRead),
1333         * src/mcs51/gen.c (genDummyRead),
1334         * src/ds390/gen.c (genDummyRead),
1335         * src/hc08/gen.c (genDummyRead): handle operands in IC_LEFT and/or IC_RIGHT,
1336         not just IC_RIGHT
1337         * src/SDCCicode.c (geniCodeCall): fixed bug #851607
1338         * src/SDCC.y: fixed bug #850420
1339
1340 2003-12-05 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1341
1342         Applied z80 i/o port patch from Peter Townson and fixed some operators
1343         to better handle operands in A register.
1344         * device/include/z180.h
1345         * src/SDCC.y
1346         * src/SDCCglue.c
1347         * src/z80/gen.c
1348         * src/z80/gen.h
1349         * src/z80/main.c
1350         * src/z80/peeph-z80.def
1351         * src/z80/peeph.def
1352         * src/z80/z80.h
1353
1354 2003-12-03 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1355
1356         * src/SDCCsymt.c (addSymChain, compareTypeExact): fixed bug #838241 again
1357
1358 2003-12-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1359
1360         * device/lib/hc08/_mullong.c: Removed extra #endif
1361
1362 2003-12-01 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1363
1364         * sim/ucsim/hc08.src/inst.cc,
1365         * sim/ucsim/hc08.src/hc08mac.h: fixed some problems with CC flag bits and
1366         carries from x to h
1367         * src/hc08/gen.c (aopAdrStr): fixed problem with 16 bit immediate
1368         * src/hc08/gen.c (XAccRsh): fixed problem with right shift
1369         * device/include/stdarg.h: fixed varargs for hc08
1370         * device/lib/Makefile.in,
1371         * device/lib/hc08/Makefile,
1372         * device/lib/hc08/_mulint.c,
1373         * device/lib/hc08/_mullong.c: fixed some endian problems
1374
1375 2003-11-28 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1376
1377         * sdcc/src/mcs51/gen.c (genMultOneByte): help peephole 105
1378         * sdcc/src/mcs51/peeph.def: added peephole 186.e array access in code space
1379         * device/lib/_gptrget.c,
1380         * device/lib/_gptrput.c: P2 not used any more (related to #850747, #785979)
1381
1382 2003-11-27 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1383
1384         * src/SDCClrange.c (findNextUseSym, rlivePoint): fixed bug #849795
1385         * src/SDCCast.c (astErrors): fixed bug #846007
1386         * src/SDCCsymt.c (checkFunction): fixed follow-up bug on bug #846007
1387
1388 2003-11-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1389
1390         * src/SDCCast.c (decorateType): disabled a transformation I added in
1391         revision 1.188 (access to fields of a structure at an absolute address);
1392         it breaks with bitfields, extern declarations, and gcse analysis.
1393         * src/SDCCopt.c (isLocalWithoutDef): if ADDRESS_OF applied to a symbol, it
1394         could be assigned through a pointer, so don't complain.
1395         * src/SDCCast.c (astErrors),
1396         * src/SDCCast.h,
1397         * src/SDCCglue.c (emitRegularMap): fixed bug #847813
1398
1399 2003-11-26 Vangelis Rokas <vrokas AT otenet.gr>
1400         
1401         * src/pic16/main.c (_pic16_genIVT): fixed interrupt vector table
1402         * src/pic16/main.c (_pic16_genAssemblerPreamble): re-enabled the
1403         output of __config directives, since gpasm now supports them
1404         * src/pic16/main.c (_pic16_finaliseOptions): define MCU
1405         pre-processor macro, i.e. -DMCU=p18f452
1406         * src/pic16/ralloc.c: renamed packRegisters to pic16_packRegisters,
1407         and modified to handle 'cast' icode similarly to '=' icode
1408         * src/pic16/device.h (typedef struct PIC_device): added field
1409         'extMIface' to indicate that chip has external memory interface
1410         * src/pic16/device.c: added chips 18F248, 18F258, 18F448, 18F458,
1411         18F6520, 18F6620, 18F6680, 18F6720, 18F8520, 18F8620, 18F8680,
1412         18F8720
1413
1414 2003-11-26 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1415
1416         * src/SDCC.y (pointer): fixed bug #846006
1417         * support/Util/SDCCerr.c: made W_PTR_TYPE_INVALID message clearer
1418         * src/SDCCast.c (decorateType): fixed bug #846009
1419         * src/ds390/peeph.def,        
1420         * src/ds390/gen.c (genAnd, genOr),
1421         * src/mcs51/peeph.def,        
1422         * src/mcs51/gen.c (genAnd, genOr): fixed bug #846777
1423
1424 2003-11-25 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1425
1426         Fixed several common-sub-expression bugs (#772861, #768380, & #755323)
1427         * src/SDCCdflow.c
1428         * src/SDCCcse.c
1429         * src/SDCCcse.h
1430         * src/SDCCBBlock.h
1431         * src/SDCCBBlock.c
1432
1433 2003-11-23 Klaus Flittner <klaus_flittner AT gmx.de>
1434
1435         fixed bug #845089
1436         * src/SDCCbitv.h,
1437         * src/SDCCbitv.c: added function to free a bitvector
1438         * src/SDCClrange.h,
1439         * src/SDCClrange.c: added function to recompute the liveranges
1440         * src/avr/ralloc.c,
1441         * src/ds390/ralloc.c,
1442         * src/hc08/ralloc.c,
1443         * src/mcs51/ralloc.c,
1444         * src/pic/ralloc.c,
1445         * src/pic16/ralloc.c,
1446         * src/xa51/ralloc.c,
1447         * src/z80/ralloc.c: recompute the liveranges after register packing
1448
1449 2003-11-21 Klaus Flittner <klaus_flittner AT gmx.de>
1450
1451         * src/SDCCloop.c (newInduction): fixed bug #845630
1452
1453 2003-11-21 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1454
1455         * src/SDCCsymt.c (compareTypesExact): disabled debugging output
1456         inadvertantly left behind from my 2003-11-12 change
1457
1458 2003-11-20 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1459
1460         Updated headers I neglected to commit yesterday.
1461         * src/SDCClrange.h,
1462         * src/SDCCicode.h
1463
1464 2003-11-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1465
1466         * src/SDCCcse.c (algebraicOpts): fixed bug #773153
1467         * src/SDCClrange.c (rlivePoint): need to mark IC_RESULT used if POINTER_SET op
1468         * src/SDCCopt.c (eBBlockFromiCode),
1469         * src/SDCClrange.c (hashiCodeKeys, sequenceiCode, computeLiveRanges): seperated
1470         the creation of the key hash table from the sequencing so it can be used
1471         earlier (for some GCSE bug fixes still pending)
1472
1473 2003-11-15 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1474
1475         * src/mcs51/gen.c (genPlus): generate shortcut for adding 0xab00
1476         * support/regression/tests/addsub.c: testing genPlus shortcut
1477
1478 2003-11-15  Borut Razem <borut.razem AT siol.net>
1479
1480         * src/SDCCmain.c: fixed bug #841645: -MM command line option passed to sdcpp
1481
1482 2003-11-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1483
1484         * src/SDCCcse.c (cseBBlock): fixed bug #527779
1485         * src/SDCCcse.c (deleteGetPointers): rewrote so that the set
1486         ordering is immaterial.
1487         * src/SDCCdflow.c (mergeInExprs): fixed bug #587536
1488
1489 2003-11-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1490         
1491         * src/SDCCicode.c (geniCodeAddressOf): fixed part of bug #840381
1492         * src/SDCCopt.c (replaceRegEqv, isLocalWithoutDef): fixed other part
1493         (SIGSEV) of bug #840381
1494         * src/SDCCmain.c (linkEdit, assemble): fixed bug #841606 (don't
1495         unlink new file before rename if new and old filenames are the same)
1496
1497 2003-11-13 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1498
1499         * src/mcs51/main.c: started fixing bug #737001 (SDCC not clearing
1500         uninitialized variables) for the mcs51. Set environment variable 
1501         SDCC_GENRAMCLEAR to test. 
1502         xdata initialization slightly shorter
1503
1504 2003-11-12 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1505
1506         * src/SDCCsymt.h,
1507         * src/SDCCsymt.c (addSymTypeChain, compareTypesExact): fixed bugs
1508         #838241 & 780691 (basicly the same bug)
1509         * src/SDCCBBlock.c (iCode2eBBlock): fixed bug #840148
1510         * src/SDCCBBlock.c (iCodeFromeBBlock): fixed bug #840162
1511
1512 2003-11-11 Bernhard Held <bernhard AT bernhardheld.de>
1513
1514         * src/SDCCmain.c (linkEdit): "fix" #834252
1515
1516 2003-11-11 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1517
1518         * src/SDCCast.c (removePostIncDecOps, removePreIncDecOps),
1519         * src/SDCCast.h,
1520         * src/SDCC.y: fixed bug #819403
1521
1522 2003-11-08 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1523
1524         * support/regression/fwk/lib/testfwk.c: printn is recursive and thus needs
1525         the reentrant attribute.
1526         * src/hc08/gen.c (genPackBits): added missing stack readjustment
1527         * sim/ucsim/hc08.src/inst.cc (inst_mov): fixed bugs with mov instruction
1528         simulation
1529         * src/SDCCast.c (decorateType): fixed bug with storage class not being
1530         updated during pointer dereference; f.e. ~(((char *)1)*) was being
1531         erroneously reduced to a literal.
1532         * src/hc08/ralloc.c (packRegisters, rematStr),
1533         * src/hc08/gen.c (aopForRemat): allow literals to be rematerialized in
1534         some cases
1535
1536 2003-11-08 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1537
1538         * src/mcs51/main.c: fixed bug #838385. Thanks to Josef Pavlik for finding and fixing
1539         * doc/sdccman.lyx: changed from 'article' to 'book'
1540         * doc/Makefile: readded test_suite_spec and cdbfileformat
1541
1542 2003-11-08 Bernhard Held <bernhard AT bernhardheld.de>
1543
1544         * device/include/stdlib.h: include malloc.h to comply with ANSI
1545         * support/regression/tests/malloc.c: include stdlib.h instead of malloc.h
1546
1547 2003-11-07 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1548
1549         * doc/Makefile: sdccman.pdf should build with correct references (more info in commit msg)
1550         * doc/clean.mk: also remove *.out files
1551         * doc/sdccman.lyx: some additions, larger top/bottom margins
1552
1553 2003-11-07 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1554
1555         * src/SDCC.y: fixed bug #837365
1556         * support/regression/tests/bitopcse.c
1557         * src/hc08/gen.c (genPointerGet): Don't assume pointer operand is
1558         a symbol (might be valop instead)
1559         * device/lib/Makefile.in: added errno.c to HC08SOURCES
1560         * device/lib/clean.mk: added hc08 to the cleaning list
1561
1562 2003-11-04  Borut Razem <borut.razem AT siol.net>
1563
1564         * configure, configure.in, sdcc_vc_in.h, sdcconf_in.h: reverted changes,
1565           made 2003-11-04
1566         * support/Util/NewAlloc.c, as/hc08/lklibr.c, as/mcs51/lklibr.c,
1567           as/z80/aslist.c, as/z80/assym.c: removed inclusion of nonstandard malloc.h;
1568           malloc is declared in standard stdlib.h
1569
1570 2003-11-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1571
1572         * device/lib/hc08/Makefile: need to clean .rel not .o files
1573         * src/hc08/gen.c (genDjnz): can't use djnz with extended addressing mode
1574
1575 2003-11-06 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1576
1577         * src/port.h,
1578         * src/hc08/main.c,
1579         * src/mcs51/main.c,
1580         * src/ds390/main.c,
1581         * src/z80/main.c,
1582         * src/avr/main.c,
1583         * src/pic/main.c,
1584         * src/pic16/main.c,
1585         * src/xa51/main.c: added hasExtBitOp & oclsExpense functions to ports
1586         * src/SDCCicode.c: changed several IS_FARSPACE tests to isOclsExpensive
1587         tests (which uses the port's oclsExpense function)
1588         * src/SDCC.y,
1589         * src/SDCCast.c,
1590         * src/SDCCicode.c,
1591         * src/hc08/gen.c,
1592         * src/ds390/gen.c,
1593         * src/mcs51/gen.c: added support for the SWAP iCode (RFE #834167)
1594
1595 2003-11-04 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1596
1597         * src/SDCCcse.c (ifxOptimize),
1598         * src/SDCClabel.c (labelIfx, deleteIfx): When the condition to
1599         an IFX iCode is volatile, convert to DUMMY_READ_VOLATILE instead
1600         deleting the IFX iCode.
1601         * src/hc08/ralloc.c: reduced unneeded slocs
1602         * src/hc08/gen.c: fixed bug in asmopToBoolean
1603
1604 2003-11-04  Borut Razem <borut.razem AT siol.net>
1605
1606         * configure, configure.in, sdcc_vc_in.h, sdcconf_in.h,
1607           support/Util/NewAlloc.c, as/hc08/lklibr.c, as/mcs51/lklibr.c,
1608           as/z80/aslist.c, as/z80/assym.c: decision to include malloc.h
1609           transferred to configure
1610
1611 2003-11-03 Bernhard Held <bernhard AT bernhardheld.de>
1612
1613         Use headers defined in the C[++] standards:
1614         * sim/ucsim/gui.src/serio.src/fileio.cc
1615         * sim/ucsim/gui.src/serio.src/frontend.cc
1616         * sim/ucsim/gui.src/serio.src/main.cc
1617         * sim/ucsim/gui.src/serio.src/posix_signal.cc
1618         * support/Util/NewAlloc.c
1619         * as/hc08/lklibr.c
1620         * as/mcs51/lklibr.c
1621         * as/z80/aslist.c
1622         * as/z80/assym.c
1623
1624 2003-11-03  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
1625
1626         * Added MSVC projects for hc08 assembler and linker:
1627         all.dsp, config.dsp, sdcc.dsw, /as/hc08/as_hc08.dsp,
1628         /as/hc08/link_hc08.dsp
1629
1630 2003-11-03 Martin Helmling <Martin.Helmling AT octo-soft.de>
1631
1632         * debugger/mcs51/cmd.c: allows filename starting with digit(+ some debug)
1633
1634 2003-11-02 Bernhard Held <bernhard AT bernhardheld.de>
1635
1636         * src/SDCCmain.c (linkEdit): "fixed" again bug #833605
1637
1638 2003-11-01 Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1639
1640         * src/mcs51/main.c: xdata initialization is 13 bytes shorter now
1641
1642 2003-10-31  Borut Razem <borut.razem AT siol.net>
1643
1644         * support/cpp2/cpplib.h,
1645           support/cpp2/cpplib.c,
1646           support/cpp2/cpplex.c,
1647           support/cpp2/cppinit.c: introduced #pragma preproc_asm [ + | - ]
1648           to switch _asm block preprocessing on / off. Default is
1649           #pragma preproc_asm +
1650
1651 2003-10-31  Borut Razem <borut.razem AT siol.net>
1652
1653         * support/cpp2/cpplex.c: Fixed _WIN32 problem with CR-CR-LF sequences
1654           when outputting comment blocks (when executed with -C option) and
1655           _asm (SDCPP specific) blocks
1656
1657 2003-10-31 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1658         
1659         * as/hc08/lkrloc.c (relr): Fixed ihx output, fixed lastAreaIndex warning
1660
1661 2003-10-31 Klaus Flittner <klaus_flittner AT gmx.de>
1662
1663         * src/SDCCcse.c (updateSpillLocation): fixed bug #808027
1664
1665 2003-10-31 Bernhard Held <bernhard AT bernhardheld.de>
1666
1667         * src/SDCCmain.c (linkEdit): "fixed" bug #833605
1668         * src/SDCCast.c (decorateType): fixed bug #832664
1669
1670 2003-10-31  Borut Razem <borut.razem AT siol.net>
1671
1672         * support\cpp2\cpplex.c: fixed for SDCPP:
1673           comments(when executed with -C option) and _asm blocks
1674           were included even if they where in skipped #if block.
1675           Applied solution from GCC cpp 3.3.2
1676
1677 2003-10-31  Borut Razem <borut.razem AT siol.net>
1678
1679         * src/SDCC.lex: sdcc now understands both formats:
1680           '# <line_number> <file_name>' and
1681           '#line <line_number> <file_name>'
1682         * support/cpp2/cppmain.c: sdcpp now generates the standard
1683           '# <line_number> <file_name>' instead of former
1684           '#line <line_number> <file_name>'
1685
1686 2003-10-30  Borut Razem <borut.razem AT siol.net>
1687
1688         * support/cpp2/cpphash.h,
1689         * support/cpp2/cpplib.h
1690         * support/cpp2/cpplex.c,
1691         * support/cpp2/cppmain.c,
1692         * support/cpp2/cppinit.c: fixed bug #828015 - Syntax variation for _asm character constants
1693
1694 2003-10-30 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1695
1696         Fixed a number of problems revealed by bug #827883.
1697         * src/SDCCloop.c (loopInvariants): Spill location of the
1698         result operand should be recomputed if extracted from
1699         a loop. Also, don't extract assignments of an iTemp
1700         from a literal.
1701         * src/SDCCast.c (isConformingBody): loop reversal should
1702         not occur if the control variable is involved with a
1703         relational operator.
1704
1705 2003-10-28 Bernhard Held <bernhard AT bernhardheld.de>
1706
1707         * .version: bumped to 2.3.6 to reflect the big improvements
1708         made by Erik and Klaus. Thanks!
1709
1710 2003-10-28 Klaus Flittner <klaus_flittner AT gmx.de>
1711
1712         Replaced the livrange code.
1713         * src/SDCClrange.c: added new LR code
1714         * src/SDCCloop.c,
1715         * src/SDCCBBlock.h: removed remainig parts from old LR code
1716         * src/ds390/ralloc.c,
1717         * src/ds390/gen.c: minor fixes to make it work with new code
1718
1719 2003-10-28 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1720
1721         * as/hc08/asm.h,
1722         * as/hc08/lkrloc.c,
1723         * src/hc08/gen.c,
1724         * src/hc08/ralloc.c: Fix various warnings related to the hc08
1725         * src/SDCCicode.c (geniCodePreInc, geniCodePreDec): Fixed bug #829717
1726         (tweaked fix for bug #818696)
1727
1728 2003-10-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1729
1730         * src/z80/ralloc.c (joinPushes): Fixed bug #828742
1731
1732 2003-10-23 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1733
1734         * src/SDCCmain.c,
1735         * sdccconf_in.h: Fixed bug #828387 (--disable-hc08-port didn't work)
1736         * src/mcs51/gen.c (gencjneshort),
1737         * src/ds390/gen.c (gencjneshort): Made comparison with AOP_IMMD operand
1738         more efficient (per Scott Bronson's suggestion)
1739
1740 2003-10-22 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1741
1742         Extended the semantics of the critical keyword to include
1743         individual statements. See RFE #827755 and #799831
1744         * src/SDCC.y
1745         * src/SDCCicode.c
1746         * src/SDCCopt.c
1747         * src/SDCCast.c
1748         * support/Util/SDCCerr.c
1749         * support/Util/SDCCerr.h
1750         * src/mcs51/gen.c
1751         * src/ds390/gen.c
1752         * src/hc08/gen.c
1753
1754 2003-10-19  Borut Razem <borut.razem AT siol.net>
1755
1756         * src/SDCC.lex: fixed bug #825944 - defined yytext_ptr to make it compile with flex 2.5.31
1757
1758 2003-10-19 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1759
1760         * src/SDCCicode.c (geniCodePreInc, geniCodePreDec, ast2iCode):
1761         Fixed bug #818696
1762         * src/SDCCast.c (ast_print): Fixed --dumptree so that preincrement
1763         and predecrement operand is displayed
1764
1765 2003-10-13 Bernhard Held <bernhard AT bernhardheld.de>
1766
1767         * src/SDCCval.c (valMinus): fixed bug #826041
1768
1769 2003-10-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1770
1771         Some hc08 related updates that I missed earlier
1772         * sim/ucsim/stypes.h
1773         * support/regression/ports/hc08/spec.mk
1774
1775 2003-10-15 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1776
1777         New target "hc08" for the Motorola 68hc08 family of micros
1778
1779         * configure
1780         * configure.in
1781         * Makefile
1782         * src/hc08/*
1783         * src/SDCCmain.c
1784         * src/port.h
1785         * sim/ucsim/hc08.src/*
1786         * sim/ucsim/configure.in
1787         * src/ucsim/configure
1788         * sim/ucsim/packages_in.mk
1789         * as/hc08/*
1790         * as/Makefile
1791         * device/include/mc68hc908qy.h
1792         * device/lib/hc08/*
1793         * device/lib/Makefile.in
1794         * support/regression/ports/hc08/*
1795         * support/regression/Makefile
1796
1797 2003-10-14 Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1798
1799         * src/z80/gen.c: fixed bug revealed by ast_constant_folding.c
1800         regression test
1801         * src/ds390/gen.c (genCast): fixed bug #821957
1802
1803 2003-10-13 Bernhard Held <bernhard AT bernhardheld.de>
1804
1805         * device/lib/logf.c: "fixed" overlay bug
1806         * support/regression/ports/host/spec.mk: added m library
1807         * support/regression/ports/mcs51-stack-auto/spec.mk: added float funcs
1808         * support/regression/tests/float_trans: added (for Eric)
1809
1810 2003-10-12 Bernhard Held <bernhard AT bernhardheld.de>
1811
1812         * src/mcs51/gen.c (genCpl): fixed bug
1813         http://sf.net/mailarchive/message.php?msg_id=6263915
1814
1815 2003-10-10 Bernhard Held <bernhard AT bernhardheld.de>
1816
1817         * src/SDCCast.c (decorateType): added extended constant folding
1818         * src/SDCCsymt.c (computeType): cleanup
1819         * src/SDCCval.c (valShift): minor optimization
1820         * support/regression/tests/ast_constant_folding.c: added
1821
1822 2003-10-09  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1823
1824         * src/SDCCmain.c: removed some unintended changes
1825
1826 2003-10-09  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1827
1828         * src/SDCCmain.c (setParseWithComma): fixed bug #816685
1829         * src/z80/gen.c: fixed part of bug #817589
1830         * src/SDCCsymt.c (checkFunction): fixed bug #817895
1831
1832 2003-10-08 Bernhard Held <bernhard AT bernhardheld.de>
1833
1834         Replaced cast (void **) with (void *) to avoid gcc 3 warning:
1835         * src/SDCCcflow.c
1836         * src/SDCCcse.c
1837         * src/SDCCdflow.c
1838         * src/SDCClabel.c
1839         * src/SDCClrange.c
1840         * src/SDCCmem.c
1841         * src/SDCCopt.c
1842         * src/SDCCpeeph.c
1843         * src/SDCCset.c
1844         * src/avr/ralloc.c
1845         * src/ds390/ralloc.c
1846         * src/izt/ralloc.c
1847         * src/mcs51/ralloc.c
1848         * src/pic/ralloc.c
1849         * src/pic16/ralloc.c
1850         * src/xa51/ralloc.c
1851         * src/z80/ralloc.c
1852         * src/z80/gen.c: removed unused label "release:"
1853
1854 2003-10-06  Borut Razem <borut.razem AT siol.net>
1855
1856         * src/SDCC.lex: removed definition of unused variables
1857           save_optimize and save_options
1858
1859 2003-10-06 Bernhard Held <bernhard AT bernhardheld.de>
1860
1861         * clean.mk: removed '=' in "-maxdepth=1"
1862         * src/SDCCloop.c: replace LRKLAUS with SDCC_LRKLAUS
1863         * src/SDCClrange.c: replace LRKLAUS with SDCC_LRKLAUS
1864
1865 2003-10-06  Borut Razem <borut.razem AT siol.net>
1866
1867         * src/SDCC.lex, src/SDCC.lex: use dbuf for "_asm" definitions;
1868           my_unput() replaced by unput()
1869
1870 2003-10-05 Bernhard Held <bernhard AT bernhardheld.de>
1871
1872         * src/SDCCloop.c (assignmentsToSym, loopInduction): cast argument of
1873         setToNull() to (void *) to avoid gcc3.x's warning: "dereferencing
1874         type-punned pointer will break strict-aliasing rules"
1875         Old LR behaviour is again default; Klaus' LR can be choosen by
1876         defining the environment variable LRKLAUS
1877         * src/SDCCBBlock.h
1878         * src/SDCCloop.c
1879         * src/SDCClrange.c
1880         * src/ds390/ralloc.c (spillThis): applied Klaus' patch
1881         * clean.mk: fixed removal of files in bin/CVS/
1882         * device/lib/clean.mk: fixed removal of directories small and large
1883         * support/Util/SDCCerr.c: changed W_INT_OVL to ERROR_LEVEL_PEDANTIC
1884         * src/SDCCicode.c,
1885         * src/SDCCval.c: removed superflous test for pedantic
1886
1887 2003-10-05  Borut Razem <borut.razem AT siol.net>
1888
1889         * src/SDCC.lex, support/Util/SDCCerr.c, sdcc/support/Util/SDCCerr.h:
1890           Fixed bug #816692: introduced new ERROR_LEVEL_PEDANTIC warning
1891           message "unmatched #pragma SAVE and #pragma RESTORE"
1892
1893 2003-10-04  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
1894
1895         * doc/sdccman.lyx: various additions and updates (interrupts, inline
1896           assembly, critical functions, atomic, nojtbound)
1897
1898 2003-10-04 Bernhard Held <bernhard AT bernhardheld.de>
1899
1900         Applied liferange patch from Klaus Flittner <klaus_flittner AT gmx.de>
1901         * src/SDCCBBlock.h
1902         * src/SDCCloop.c
1903         * src/SDCCloop.h
1904         * src/SDCClrange.c
1905
1906 2003-10-03  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1907
1908         * src/z80/gen.h,
1909         * src/z80/gen.c (aopOp, aopGet, aopPut, genDummyRead),
1910         * src/mcs51/gen.h
1911         * src/mcs51/gen.c (aopOp, aopGet, aopPut, genDummyRead),
1912         * src/ds390/gen.h
1913         * src/ds390/gen.c (aopOp, aopGet, aopPut, genDummyRead),
1914         * src/SDCCicode.c (ast2iCode, geniCodeDummyRead): Fixed bug #663539
1915         * src/SDCCopt.c (killDeadCode): Fixed bugs #663539 & #816705
1916
1917 2003-10-02  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1918
1919         * src/z80/gen.c (genRet): fixed bug #524753
1920         * src/z80/gen.c (genCast): fixed internal error on cast from
1921         pointer to long
1922         * src/z80/gen.c (_saveRegsForCall, emitCall): adapted Johan's
1923         fix for bug #477835 to the z80
1924         * src/z80/gen.c (genZ80code, _vemit2, _emit2): added support
1925         for tracking iCodes in the peephole optimizer for z80
1926
1927 2003-10-01  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1928
1929         * src/SDCCicode.c (geniCodeJumpTable, geniCodeSwitch): fixed
1930         the other part of bug #814548
1931         * src/SDCCpeeph.c (labelInRange): fixed bug #814558
1932
1933 2003-09-30  Bernhard Held <bernhard AT bernhardheld.de>
1934
1935         * src/SDCCcse.c: fixed part of bug #814548
1936
1937 2003-09-28  Borut Razem <borut.razem AT siol.net>
1938
1939         * src/asm.c: rewrite of printILine() to use temporary file instead
1940           a pipe
1941         * src/xa51/main.c: commented out declaration of int rewinds
1942
1943 2003-09-27  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1944
1945         * src/SDCCicode.c (geniCodeJumpTable): Fixed bug #813206
1946
1947 2003-09-26  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1948
1949         * src/SDCCdflow.c (computeDataFlow): Fixed bug #810746
1950         * src/asm.c (printILine): Fixed bug #811015
1951
1952 2003-09-22  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
1953
1954         *link/z80/lklibr.c, as/mcs51/lklibr.c: Improved memory allocation and
1955         freeing.
1956
1957 2003-09-21  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1958
1959         * src/z80/gen.c (setupToPreserveCarry): Fixed bug #796955
1960         * src/z80/gen.c (setupPair, genMovePairPair): Fixed setupPair
1961         to correctly handle general case of AOP_PAIRPTR
1962         * src/z80/gen.c (aopGet, aopPut): Generalized AOP_PAIRPTR handling
1963
1964 2003-09-21  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1965
1966         * src/mcs51/ralloc.c (fillGaps),
1967         * src/ds390/ralloc.c (fillGaps): fixed bug #810093 (yet another
1968         register positioning bug)
1969
1970 2003-09-21  Bernhard Held <bernhard AT bernhardheld.de>
1971
1972         * device/lib/_fsdiv.c: replaced (1<<31) by (1ul<<31)
1973
1974 2003-09-19  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1975
1976         * src/mcs51/gen.c (loadDptrFromOperand, genFarPointerGet,
1977         genCodePointerGet, genGenPointerGet, genFarPointerSet,
1978         genGenPointerSet): handle AOP_DPTR correctly when loading dptr
1979         (ralloc doesn't intentionally do this now, but perhaps later)
1980         * src/mcs51/ralloc.c (serialRegAssign, fillGaps),
1981         * src/ds390/ralloc.c (serialRegAssign, fillGaps): fixed some
1982         register positioning bugs (Fixed bug #762602 and #795325)
1983         * src/SDCCicode.c (geniCodeDerefPtr): Track output class correctly
1984         (Fixed bug #808779)
1985         * src/z80/gen.c: increased _vemit2's buffer[] to handle long
1986         lines that --i-code-in-asm generates
1987
1988 2003-09-18  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
1989
1990         *link/z80/lklibr.c, as/mcs51/lklibr.c: Fixed Linux segfaults when
1991         trying to fclose a FILE* that was already closed.
1992
1993 2003-09-18  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
1994
1995         * src/SDCCsymt.c (structElemType): fixed bug #808291 (members
1996         of const struct should be treated as if const themselves)
1997
1998 2003-09-18  Bernhard Held <bernhard AT bernhardheld.de>
1999
2000         * src/SDCCval.c (valPlus, valMinus): fixed bug #808337
2001
2002 2003-07-06  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2003
2004         * support/librarian/sdcclib.c: Generate correct offsets for libraries with
2005         Unix (/n) and DOS (/r/n) line terminations.
2006
2007 2003-09-17  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2008
2009         * src/SDCCopt.c (cnvFromFloatCast, cnvToFloatCast): fixed
2010         bug #613775
2011
2012 2003-09-16  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2013
2014         * src/mcs51/gen.c (genFunction, genEndFunction),
2015         * src/ds390/gen.c (genFunction, genEndFunction): Moved save
2016         and restore of EA so that stack offsets to parameters are
2017         correct when using both critical and reentrant/stack-auto.
2018         * src/z80/gen.c (aopOp): removed erroneous assertion about sloc
2019         size (can be triggered in error if sloc is shared between
2020         different sized objects)
2021         * device/include/float.h: fixed macros to explicitly use
2022         unsigned long where needed
2023
2024 2003-09-15  Bernhard Held <bernhard AT bernhardheld.de>
2025
2026         Feature req. 799831: added code to allow nesting of critical functions
2027         * src/mcs51/gen.c (genFunction, genEndFunction)
2028         * src/ds390/gen.c (genFunction, genEndFunction)
2029
2030 2003-09-14  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2031
2032         * src/SDCCsymt.c (sclsFromPtr),
2033         * src/SDCCsymt.h,
2034         * src/SDCCast.c (decorateType): fixed bug #462971. Also, better
2035         support for standard C idiom of memory mapped variables; for
2036         example, *((xdata int*)0x1234) = 1 is now internally equivalent
2037         to xdata int at 0x1234 tempvar = 1.
2038         * sim/ucsim/z80.src/inst_xd.cc: fixed bug #805483 with patch
2039         provided by Akiya ISHIDA
2040
2041 2003-09-13  Bernhard Held <bernhard AT bernhardheld.de>
2042
2043         * src/SDCCval.c (cheapestVal): reenabled to reduce int to char
2044         * src/SDCCval.c (constVal): added reduction from int to char
2045         * src/SDCCval.c (valMult, valDiv): fixed sign handling
2046         * src/SDCCval.c (valShift): fixed after change of cheapestVal()
2047         * src/SDCCval.c (valCompare): fixed EQ_OP and NE_OP; they have
2048         to ignore the sign
2049         * support/regression/tests/shifts.c: fixed
2050
2051 2003-09-13  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2052
2053         * src/z80/gen.c (genXor): Fixed bug #805445
2054
2055 2003-09-12  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2056
2057         Fixed bug #621531 (const & volatile confusion in the type chain).
2058         DCL_PTR_CONST, DCL_PTR_VOLATILE, & IS_PTR_CONST now exclusively
2059         refer to the const or volatile state of the pointer itself.
2060
2061         * src/SDCCast.c
2062         * src/SDCCglue.c
2063         * src/SDCCicode.c
2064         * src/SDCCsymt.c
2065         * src/SDCCval.c
2066         * src/SDCC.y
2067         * src/SDCCsymt.h
2068         * src/pic/gen.c
2069         * src/pic/ralloc.c
2070         * src/pic16/gen.c
2071         * src/pic16/ralloc.c
2072         * support/regression/tests/const.c
2073
2074 2003-09-10  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2075
2076         When checking for duplicated modules, use absolute paths
2077         instead of relative paths.  Files changed:
2078
2079         * as/mcs51/lklib.c
2080         * link/z80/lklib.c
2081
2082 2003-09-09  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2083
2084         * src/SDCCicode.c (geniCodeLogic): fixed bug #797572
2085
2086 2003-09-07  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2087
2088         * device/include/string.h: added size_t typedef, changed
2089         prototypes to use size_t, eliminated separate reentrant and
2090         non-reentrant declarations, added _memmove declaration
2091         * device/lib/_memcpy.c: changed to use size_t instead of int,
2092         changed /4 to >>2 to avoid division library call
2093         * device/lib/_memcmp.c,
2094         * device/lib/_memset.c,
2095         * device/lib/_strncat.c,
2096         * device/lib/_strncpy.c,
2097         * device/lib/_strncmp.c: changed to use size_t instead of int
2098         * device/lib/_memmove.c: new file (fixed bug #772294)
2099         * device/lib/Makefile.in: added _memmove.c
2100         * device/lib/z80/asm_strings.s: fixed bug #772290
2101         * support/regression/tests/bitfields.c: attempt to fix host assertion
2102         failure on amd64-unknown-linux2.2
2103
2104 2003-09-06  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2105
2106         * src/z80/gen.c (aopPut, spillPairReg): fixed bug #800998
2107         * src/z80/gen.c (genFunction, genEndFunction): fixed "bug" #774700
2108         * as/z80/asmain.c (main): fixed bug #801766
2109
2110 2003-09-06  Bernhard Held <bernhard AT bernhardheld.de>
2111
2112         * src/SDCCicode.c (ast2iCode): fixed differences in iCode with different
2113         compilers
2114
2115 2003-09-05  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2116
2117         * src/SDCCast.c (isConformingBody): fixed loop reversal bug
2118         reported in bug #800609
2119
2120 2003-09-04  Vangelis Rokas <vrokas AT otenet.gr>
2121
2122         * Top header beautifications in src/pic16 directory:
2123           device.c, device.h, gen.c, gen.h, genarith.c, glue.c, pcode.c,
2124           pcodeflow.c, pcodeflow.h, pcode.h, pcodepeep.c, pcoderegs.c,
2125           pcoderegs.h, ralloc.c, ralloc.h
2126         * main.c: added top header and GPL license notice
2127         * pcode.c: fixed the if-conditional warning
2128  
2129 2003-09-04  Bernhard Held <bernhard AT bernhardheld.de>
2130
2131         * device/lib/_mullong.c: replaced int by short for gcc
2132
2133 2003-08-31  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2134
2135         * src/SDCCpeeph.c (notVolatile, notVolatileVariable): handle IFX
2136         and JUMPTABLE iCodes properly now (worked by accident before)
2137         * src/mcs51/gen.c (leftRightUseAcc),
2138         * src/ds390/gen.c (leftRightUseAcc): handle IFX and JUMPTABLE
2139         iCode properly now. Use getSize instead of nRegs since a & b
2140         aren't part of the nRegs tally.
2141
2142 2003-08-31  Vangelis Rokas <vrokas AT otenet.gr>
2143
2144         * src/pic16/main.c: corrected offsets of interrupt vectors in _pic16_genIVT()
2145         * src/pic16/pcode.c: fix to disable inserting BANKSEL directive
2146           before instructions that use the _STATUS register
2147
2148 2003-08-31  Bernhard Held <bernhard AT bernhardheld.de>
2149
2150         * src/mcs51/gen.c (freeAsmop): fixed off by one in stack offset (AOP_STK)
2151         * src/mcs51/gen.c (genNearPointerSet): added missing opcode for
2152         fetching of the pointer
2153         * src/mcs51/gen.c (genNearPointerGet): added reuse of PREG,
2154         copied from genNearPointerSet()
2155         * src/mcs51/gen.c (genNearPointerGet): don't pop r0/r1, if RESULTONSTACK
2156         * src/mcs51/gen.c: changed order of freeAsmop(left/right/result)-calls.
2157         If they pop r0/r1 they must be called in the opposite order than aopOp().
2158         * device/lib/_mullong.c: fixed for "--model-large --int-long-reent"
2159         (resp. --stack-auto), prepared for --xstack
2160
2161 2003-08-28  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2162
2163         * doc/sdccman.lyx: reverted tables to those in cvs 1.64
2164
2165 2003-08-28  Bernhard Held <bernhard AT bernhardheld.de>
2166
2167         * device/lib/_startup.c: quick & dirty fix for ds390/ds400;
2168         these ports have their own __sdcc_external_start()
2169
2170 2003-08-26  Bernhard Held <bernhard AT bernhardheld.de>
2171
2172         pic patch provided by Slade Rich <slade_rich AT yahoo.com>
2173         * src/pic/glue.c (pic14printPublics): fixed bug introduced when symbol
2174         type for bits was changed. It resulted in bit variables becoming
2175         global, which is not permitted in PIC 14 assembly output.
2176
2177 2003-08-23  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2178
2179         * doc/sdccman.lyx: various additions and updates. Rearranged sections
2180
2181 2003-08-22  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2182
2183         Z80 and MCS51 linkers complaint if a public symbol is defined
2184         in more than one library module:
2185
2186         * as/mcs51/lklib.c
2187         * link/z80/lklib.c
2188         * as/mcs51/Makefile.in
2189
2190 2003-08-22  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2191
2192         A few small changes that speed up the peephole optimizer.
2193
2194         * src/SDCCpeeph.c
2195
2196 2003-08-22  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2197
2198         Try to make the peephole optimizer smarter by maintaining
2199         an association between the assembly source code and the
2200         iCodes that originated them. Put this information to use
2201         with a new peephole rule condition "notVolatile" so that
2202         the rules can be aggressive yet still safe.
2203
2204         * src/SDCCpeeph.c
2205         * src/SDCCpeeph.h
2206         * src/mcs51/gen.c
2207         * src/mcs51/peeph.def
2208
2209 2003-08-20  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2210
2211         Fixed bug #741761
2212
2213         * src/mcs51/gen.c (aopForSym, leftRightUseAcc),
2214         * src/ds390/gen.c (aopForSym, leftRightUseAcc): preserve A and B
2215         if the left or right operand symbols have the accuse flag set.
2216
2217 2003-08-20  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2218
2219         Changed the type of the result of the ! (NOT) operator to char;
2220         previously it returned the same type as the source. This allows
2221         us to eliminate all the genFloatNot functions (all of its target
2222         implementations were very buggy) since !float can use the same
2223         code as !long now.
2224
2225         * src/SDCCicode.c (ast2iCode): ! returns char
2226         * src/mcs51/gen.c (genNot, genNotFloat),
2227         * src/ds390/gen.c (genNot, genNotFloat),
2228         * src/z80/gen.c (genNot, genNotFloat),
2229         * src/pic/gen.c (genNot, genNotFloat),
2230         * src/pic16/gen.c (genNot, genNotFloat): eliminated genNotFloat
2231
2232 2003-08-19  Bernhard Held <bernhard AT bernhardheld.de>
2233
2234         pic patch provided by Slade Rich <slade_rich AT yahoo.com>
2235         1. Interrupt would not compile properly. Ensure PCLATH register is saved
2236            during interrupts. Ensure WSAVE is located at a shared bank address.
2237         2. Fixed page selection in some places
2238         3. Fixed BTFSS/C to where necessary use registers directly and not simply
2239            the registers name strings.
2240         4. Fixed "signed / unsigned compare" compiler warnings.
2241         5. The PIC port manages its own allocation of the general purpose
2242            registers, but makes no attempt to reuse them. As a result when
2243            compiling it soon runs out of general purpose registers. Some
2244            additional code was added to the files pcode.c and device.c to walk
2245            through the function call tree and rename the registers so that they
2246            get reused.
2247
2248         * src/pic/device.c
2249         * src/pic/gen.c
2250         * src/pic/glue.c
2251         * src/pic/pcode.c
2252         * src/pic/pcode.h
2253         * src/pic/ralloc.c
2254         * src/pic/ralloc.h
2255         * src/pic/genarith.c: Fixed problems with PIC 14 port in functions
2256         genPlus() & genMinus() when the result is the same as left or right
2257
2258 2003-08-18  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2259
2260         * src/z80/gen.c (isUnsplitable, fetchPairLong): fixed bug #770454
2261
2262 2003-08-18  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2263
2264         Made bitfield a distinct type from bit so that bitfields
2265         convert as per ANSI C and bits retain their traditional
2266         boolean style behaviour. Implemented bitfield support in
2267         the z80 port.
2268
2269         * src/SDCCsymt.h,
2270         * src/SDCCsymt.c,
2271         * src/SDCCast.c,
2272         * src/cdbFile.c,
2273         * src/mcs51/gen.c,
2274         * src/ds390/gen.c: bit v bitfield split
2275         * src/z80/gen.c: New support for bitfields
2276         * support/regression/tests/bitfields.c: reenabled z80,
2277         added more tests
2278
2279 2003-08-17  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2280
2281         Rules 246.x, 247.x relate to bitfields, the others speed up
2282         access to xdata mapped I/O devices.
2283
2284         * src/mcs51/peeph.def: added 26 peepholes 246.x - 248.x, 180.x
2285
2286 2003-08-16  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2287
2288         Cleaned up genPackBits and genUnpackBits and added two helper
2289         functions, emitPtrByteGet & emitPtrByteSet. Added optimizations
2290         for literal assignments in genPackBits (thanks to Frieder for
2291         reminding me).
2292
2293         * src/mcs51/gen.c
2294         * src/ds390/gen.c
2295
2296 2003-08-16  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2297
2298         Fixed bug #748310 (pointer to function type mishandled when the
2299         function name is omitted). Also fixed a SIGSEGV when a function
2300         attribute (reentrant, etc) is used on a non-function or on a
2301         function but misplaced before the parameter list.
2302
2303         * src/SDCC.y (abstract_declarator, abstract_declaractor2): fixed
2304         bug #748310
2305         * src/SDCC.y (declarator2_function_attributes): avoided SIGSEGV
2306         * support/Util/SDCCerr.h,
2307         * support/Util/SDCCerr.c: Added func attr misuse error msg
2308
2309 2003-08-13  Bernhard Held <bernhard AT bernhardheld.de>
2310
2311         Fixed bug #787649 by anonymous
2312         * src/SDCCglue.c (emitRegularMap): added emission of sloc for func ptr
2313         * src/ds390/gen.c (aopForSym): fixed func ptr in sloc
2314
2315 2003-08-14  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2316
2317         Fixed numerous bitfield problems.
2318
2319         * src/SDCC.y: More bitfield related error checking
2320         * src/SDCCsymt.h,
2321         * src/SDCCsymt.c (compStructSize): fixed bitfield offset calc
2322         * support/Util/SDCCerr.h,
2323         * support/Util/SDCCerr.c: Added & edited some bitfield err msgs
2324         * src/mcs51/gen.c (genPackBits, genUnpackBits): fixed mask bugs
2325         * src/ds390/gen.c (genPackBits, genUnpackBits): fixed mask bugs
2326         * support/regression/tests/bitfields.c: tests added
2327
2328 2003-08-13  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2329
2330         Made the constant following the "interrupt" keyword optional. If
2331         omitted, the function will not automatically be given an entry
2332         in the interrupt vector table (similar to #pragma NOIV, but
2333         less syntacticly kludgy). The interrupt number is also now
2334         range checked. Also fixed a bug in the high order bit example
2335         in the manual.
2336
2337         * src/SDCC.y
2338         * src/SDCCmem.c
2339         * src/SDCCglue.c
2340         * src/SDCCsymt.h
2341         * support/Util/SDCCerr.c
2342         * support/Util/SDCCerr.h
2343         * doc/sdccman.lyx
2344
2345 2003-08-13  Bernhard Held <bernhard AT bernhardheld.de>
2346
2347         * src/SDCCcse.c (algebraicOpts): fix bug converting op from value to type
2348         * src/SDCCicode.c (operandOperation): rewritten some ops
2349         (*, ==, unary_minus) to fix possible overflows and to accord with ANSI
2350         * src/SDCCsymt.c (computeType): literals are handled the same way as any
2351         other type
2352         * src/SDCCval.c (cheapestVal): removed, it doesn't accord with ANSI (can
2353         be re-activated by defining REDUCE_LITERALS)
2354         * src/SDCCval.c (constVal): fixed; hex and octal constants can be
2355         unsigned, but are signed by default
2356         * src/SDCCval.c (constVal): rearranged
2357         * src/SDCCval.c (valMod): preliminary fix
2358         * src/SDCCval.c (valCastLiteral): use TYPE_* types
2359         * support/regression/literalop.c: added, work in progress
2360
2361 2003-08-12  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2362
2363         Generate warnings for useless declarations like "char data;"
2364         that don't do what new users expect.
2365
2366         * src/SDCC.y
2367         * support/Util/SDCCerr.h
2368         * support/Util/SDCCerr.c
2369
2370 2003-08-09  Bernhard Held <bernhard AT bernhardheld.de>
2371
2372         * src/SDCCval.c (valMult): fix overflow detection of negative int
2373
2374 2003-08-07  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2375
2376         * src/z80/ralloc.c (joinPushes): made compatible with new signedness
2377
2378         Changes to support big endian targets:
2379
2380         * src/ports.h
2381         * src/SDCCglue.c
2382         * src/avr/main.c
2383         * src/ds390/main.c
2384         * src/izt/i186.c
2385         * src/mcs51/main.c
2386         * src/pic/main.c
2387         * src/pic16/main.c
2388         * src/xa51/main.c
2389         * src/z80/main.c
2390
2391 2003-08-06  Bernhard Held <bernhard AT bernhardheld.de>
2392
2393         * src/SDCCval.c (cheapestVal): changed behaviour to the same as constVal()
2394         * device/lib/time.c: fixed warning "integer overflow in expression"
2395
2396 2003-08-05  Bernhard Held <bernhard AT bernhardheld.de>
2397
2398         * src/SDCCval.c (cheapestVal, valueFromLit): use TYPE_* types
2399         * src/SDCCval.c (constVal): changed default to signed; hex and octal
2400         constants are unsigned; added recognition of "u" flag for unsigned
2401         * src/SDCCval.c (valMult): fixed signdness, added warning for overflow
2402         * src/SDCCval.c (valDiv, valMod): fixed signdness
2403         * src/SDCCicode.c (operandOperation): fixed critical typo; fixed
2404         signedness of modulo, left and right shift
2405         * support/Util/SDCCerr.c: added warning "integer overflow in expression"
2406         * support/Util/SDCCerr.h: added warning W_INT_OVL
2407         * src/SDCCast.c (decorateType): fixed gcc3.3 warning
2408         * src/SDCCast.c (ast_print): improved output of constants
2409
2410 2003-08-04  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2411
2412         Fixed some warnings when building with MSVC:
2413
2414         * as\mcs51\asdata.c
2415         * as\z80\asdata.c
2416         * as\mcs51\asm.h
2417         * as\z80\asm.h
2418         * link\z80\aslink.h
2419         * link\z80\lkdata.c
2420         * link\z80\lkeval.c
2421         * link\z80\lkgb.c
2422         * link\z80\lkihx.c
2423         * link\z80\lks19.c
2424         * link\z80\lksym.c
2425         * support\cpp2\cpplib.c
2426         * src\ds390\gen.c
2427         * src\mcs51\gen.c
2428     
2429 2003-08-03  Bernhard Held <bernhard AT bernhardheld.de>
2430
2431         * src/SDCCast.c (constExprTree): fix bug #781827 by Carl Worth <cworth AT isi.edu>
2432
2433 2003-08-01  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2434
2435         * support\librarian\clean.mk: Do not remove Makefile.
2436         * support\librarian\Makefile: added.
2437
2438 2003-08-01  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2439
2440         Added librarian to MSVC build:
2441         * all.dsp
2442         * sdcc.dsw
2443         * support\librarian\librarian.dsp
2444
2445         'configure' not needed for librarian, removed:
2446         * support\librarian\configure
2447         * support\librarian\configure.in
2448         * support\librarian\config_in.h
2449         * support\librarian\Makefile.in
2450
2451         Hopefully these ones built the librarian and the rest of sdcc properly:
2452         * Makefile
2453         * Makefile.common.in
2454
2455         Messed up 'configure', so revert to previous version:
2456         * configure
2457         * configure.in
2458
2459 2003-07-31  Bernhard Held <bernhard AT bernhardheld.de>
2460
2461         * src/SDCCicode.c (operandOperation): 3. fix, this time for Alpha; ULONG has 64 bits
2462         there, while the mantissa of a double is "only" 53 bits wide.
2463
2464 2003-07-31  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2465
2466         Adding sdcclib to the build.  MSVC project coming soon.
2467         Files added/changed:
2468
2469         * support\librarian\clean.mk
2470         * support\librarian\configure
2471         * support\librarian\configure.in
2472         * support\librarian\config_in.h
2473         * support\librarian\Makefile.bcc
2474         * support\librarian\Makefile.in
2475         * support\librarian\sdcclib.c
2476         * Makefile.bcc
2477         * Makefile
2478         * Makefile.common.in
2479         * configure
2480         * configure.in
2481
2482 2003-07-29  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2483
2484         Linker now complaints if linked modules have conflicting options, for
2485         example, one compiled using --model-large and another one compiled with
2486         --model-small.  The following files were modified:
2487
2488         * as\mcs51\asdata.c
2489         * as\mcs51\aslink.h
2490         * as\mcs51\asm.h
2491         * as\mcs51\asmain.c
2492         * as\mcs51\asout.c
2493         * as\mcs51\i51pst.c
2494         * as\mcs51\lkdata.c
2495         * as\mcs51\lklibr.c
2496         * as\mcs51\lkmain.c
2497         * as\z80\asdata.c
2498         * as\z80\asm.h
2499         * as\z80\asmain.c
2500         * as\z80\asout.c
2501         * as\z80\z80pst.c
2502         * link\z80\aslink.h
2503         * link\z80\lkdata.c
2504         * link\z80\lklibr.c
2505         * link\z80\lkmain.c
2506         * src\SDCCglue.c
2507
2508 2003-07-28  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2509
2510         *link/z80/aslink.h, link/z80/lklibr.c, as/mcs51/aslink.h,
2511         as/mcs51/lklibr.c: Generate a warning when a library is not found.
2512
2513 2003-07-28  Bernhard Held <bernhard AT bernhardheld.de>
2514
2515         * src/z80/mappings.i: fix _mul[us][int,long] entries
2516
2517 2003-07-26  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2518
2519         *src/SDCCmain.c: do not search for crt0.o when using --nostdlib
2520
2521 2003-07-24  Bernhard Held <bernhard AT bernhardheld.de>
2522
2523         * src/SDCCicode.c (operandOperation): really fixed problem with bitops
2524         * support/regression/tests/bitopcse.c: added
2525         fixed warning:
2526         * src/avr/gen.c:
2527         * src/pic/gen.c:
2528         * src/pic16/gen.c:
2529         * src/z80/gen.c:
2530         * src/xa51/gen.c:
2531
2532 2003-07-24  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2533
2534         added support for new library format to z80, gbz80 linkers:
2535         *link/z80/aslink.h
2536         *link/z80/lklex.c
2537         *link/z80/lklib.c
2538         *link/z80/lklist.c
2539
2540 2003-07-24  Bernhard Held <bernhard AT bernhardheld.de>
2541
2542         * src/SDCCicode.c (operandOperation): fixed problem with bitops and 0xffffffff;
2543         after {double d = 0xffffffff; long l = d;} l will be 0x80000000 (LONG_MIN)
2544
2545 2003-07-23  Bernhard Held <bernhard AT bernhardheld.de>
2546
2547         added DUMMY_READ_VOLATILE:
2548         * src/SDCC.y:
2549         * src/avr/gen.c:
2550         * src/xa51/gen.c:
2551         * src/z80/gen.c:
2552         * src/pic/gen.c:
2553         * src/pic16/gen.c:
2554         * src/mcs51/gen.c:
2555         * src/ds390/gen.c:
2556         * src/SDCCcse.c (algebraicOpts): many improvements
2557         * src/SDCCcse.h: removed algebraicOpts()
2558         * src/SDCCicode.c (picDummyRead): added
2559
2560 2003-07-23  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2561
2562         * as/mcs51/lkmem.c: Changed message "Insufficient DRAM memory" to
2563         "Insufficient space in data memory".
2564
2565 2003-07-20  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2566
2567         * src/mcs51/gen.c: fixed bug #771358
2568         * src/z80/gen.c: fixed bug #759087
2569
2570 2003-07-20  Bernhard Held <bernhard AT bernhardheld.de>
2571
2572         * src/pic16/glue.c: minor cleanup by Vangelis
2573
2574 2003-07-19  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2575
2576         * device/include/regc515c.h: fixed #758477
2577         * device/lib/_gptrget.c: saving some cycles in generic pointer get
2578         * device/lib/_gptrput.c: saved a few bytes
2579         * my tab spacing is 8, yours too?)
2580         * device/lib/_ser.c: process RX bytes earlier than TX bytes
2581         * device/lib/serial.c: process RX bytes earlier than TX bytes
2582         * src/mcs51/gen.c(genGenPointerGet/Set): removed writing of type after postincrement
2583
2584 2003-07-18  Erik Petrich <epetrich AT ivorytower.norman.ok.us>
2585
2586         * src/z80/gen.c: fixed some right shift bugs (#772726 among them)
2587
2588 2003-07-17  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2589
2590     * link/z80/lklibr.c: fixed bug when there is a '.' in a library path.
2591
2592 2003-07-17  Bernhard Held <bernhard AT bernhardheld.de>
2593
2594         * device/lib/Makefile.in: bad fix, reverted to 1.43
2595
2596 2003-07-16  Bernhard Held <bernhard AT bernhardheld.de>
2597
2598         * device/lib/Makefile.in: added missing z80 object files
2599
2600 2003-07-14  Bernhard Held <bernhard AT bernhardheld.de>
2601
2602         * src/SDCCcse.c (algebraicOpts): CSE fun with &|^ and 0x00/0xff literals
2603         pic16 progress by Vangelis:
2604         * src/SDCCglobl.h:
2605         * src/SDCCmain.c:
2606         * src/pic/Makefile:
2607         * src/pic:
2608         * pic/Makefile:
2609         * pic16/device.c:
2610         * pic16/device.h:
2611         * pic16/gen.c:
2612         * pic16/gen.h:
2613         * pic16/genarith.c:
2614         * pic16/glue.c:
2615         * pic16/main.c:
2616         * pic16/pcode.c:
2617         * pic16/pcode.h:
2618         * pic16/pcodepeep.c:
2619         * pic16/peeph.def:
2620
2621 2003-07-13  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2622
2623     * src/SDCCmain.c, src/SDCCglobl.h: added option --no-std-crt0
2624
2625 2003-07-12  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2626
2627     * sdcc.dsw, all.dsp, link/z80/linkgbz80.dsp, as/z80/as-gbz80.dsp:
2628     added gbz80 build to MSVC project.
2629     * src/SDCCmain.c, src/SDCCglue.c, src/z80/main.c, src/z80/z80.dsp,
2630     link/z80/aslink.h, linkz80.dsp: cleaned up z80 and gbz80 asm files
2631     from 8051 stuff and setup so it links using a .lnk file.
2632
2633 2003-07-06  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2634
2635     * support/librarian/sdcclib.c: sdcc librarian.
2636     * as/mcs51/aslink.h, as/mcs51/lklib.c: Support for libraries created
2637     with sdcclib.
2638
2639 2003-07-03  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2640
2641     * as/mcs51/lkmain.c: properly handle extensions in function afile.
2642
2643 2003-07-02  Borut Razem <borut.razem AT siol.net>
2644
2645         * src/port.h, src/SDCCmain.c, src/pic/glue.h, src/pic/main.c,
2646         src/pic16/glue.h, sdcc/src/pic16/main.c, src/izt/i186.c,
2647         src/izt/tlcs900h.c, src/avr/main.c, src/ds390/main.c, src/mcs51/main.c,
2648         src/xa51/main.c, src/z80/main.c:
2649         virtualization of glue() function: each port has it's own glue function,
2650         which is accessed by do_glue function pointer in PORT.general structure
2651
2652 2003-07-01 Kevin Vigor <kevin AT vigor.nu>
2653
2654         * DS800C400 fun, improved ROM interface and tinibios.
2655
2656 2003-06-27 Kevin Vigor <kevin AT vigor.nu>
2657
2658         * More support for DS80C400. Now includes beginning of interface to ROM.
2659
2660 2003-06-25  Bernhard Held <bernhard AT bernhardheld.de>
2661
2662         * src/mcs51/gen.c (gencjneshort): fixed bug #760345
2663
2664 2003-06-20  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2665
2666         * as/mcs51/lkaomf51.c: Make sure the size of the last procedure is correct.
2667
2668 2003-06-19  Borut Razem <borut.razem AT siol.net>
2669
2670         * src/z80/main.c: fixed Z80 port again: missing -k library paths in linker command line
2671
2672 2003-06-19  Borut Razem <borut.razem AT siol.net>
2673
2674         * src/SDCCutil.h, src/SDCCutil.c, src/SDCCglobl.h, src/SDCCmain.c, src/z80/main.c:
2675         fixed Z80 port - crt0.o: cannot open.
2676
2677 2003-06-19  Bernhard Held <bernhard AT bernhardheld.de>
2678
2679         * support/Util/MySystem.c (merge_command): revert bad fix
2680
2681 2003-06-18  Borut Razem <borut.razem AT siol.net>
2682
2683         * src/SDCC.lex, src/SDCCmain.c: fixed some warnings, introduced with changes made 15.06.1003
2684
2685 2003-06-18  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2686
2687         * src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx:
2688         option --use-stdout sends errors to stdout instead of stderr.
2689
2690 2003-06-18  Bernhard Held <bernhard AT bernhardheld.de>
2691
2692         * support/Util/MySystem.c (merge_command): quick fix for Linux segfault with \"cmd\" arg
2693
2694 2003-06-15  Borut Razem <borut.razem AT siol.net>
2695
2696         * support/cpp2/sdcc.h: HAVE_DOS_BASED_FILE_SYSTEM defined for _WIN32
2697         * src/SDCC.lex: cloneXxx and copyAndFreeXxx functions for options and optimize stack handling
2698         * src/SDCCglobl.h, src/SDCCmain.c, src/ds390/main.c, src/mcs51/main.c, src/z80/main.c:
2699         fixed width array of pointers replaced with sets;
2700         multiple include and lib paths ared transferred to preprocessor and linker
2701         * src/SDCCset.c, src/SDCCset.h: added function setFromSetNonRev() and mergeSets()
2702         * src/SDCCsymt.c: reimplemented function inCalleeSaveList() by using sets instead
2703         fixed width array of pointers
2704         * src/SDCCutil.c, src/SDCCutil.h: added functions fputStrSet(), appendStrSet(), joinStrSet();
2705         removed functions addToList(), join(), joinn(), pathCharsEquivalent(), pathCharTransform(),
2706         fixupPath(), getPathDifference()
2707         * src/ds390/gen.c, src/mcs51/gen.c: reimplemented function  inExcludeList() by using sets instead
2708         fixed width array of pointers
2709
2710 2003-06-11  Bernhard Held <bernhard AT bernhardheld.de>
2711
2712         * src/pic16/ralloc.c: fix warnings
2713         * src/pic16/pcode.c: fix warning
2714
2715 2003-06-10  Scott Dattalo  <scott AT dattalo.com>
2716
2717          Scott D. for Vangelis Rokas (vrokas AT otenet.gr). I (scott) don't
2718         know all the details, but essentially this set of changes enable
2719         the pic16 port to generate movff instructions and generate assembler
2720         directives,
2721         * src/SDCCmain.c:
2722         * src/pic16/gen.c:
2723         * src/pic16/glue.c:
2724         * src/pic16/pcode.c:
2725         * src/pic16/device.c:
2726         * src/pic16/main.c:
2727         * src/pic16/pcode.h:
2728         * src/pic16/pcoderegs.c:
2729         * src/pic16/ralloc.c:
2730         * src/pic16/ralloc.h:
2731
2732 2003-06-08  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2733
2734         * support/Util/SDCCerr.c, src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx:
2735         added option --vc, so sdcc errors and warnings are compatible with
2736         Microsoft Visual Studio.
2737
2738 2003-06-07  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2739
2740         * device/lib/_atof.c, device/lib/Makefile.in, device/include/stdlib.h,
2741           device/lib/libfloat.lib: added atof function.
2742
2743 2003-06-04  Bernhard Held <bernhard AT bernhardheld.de>
2744
2745         * doc/sdccman.lyx: updated to Lyx 1.3
2746         * doc/cdbfileformat.lyx: updated to Lyx 1.3
2747         * doc/test_suite_spec.lyx: updated to Lyx 1.3
2748         * doc/Makefile: added fix for the \tabularnewline problem, thanks to Jesus
2749
2750 2003-06-03  Bernhard Held <bernhard AT bernhardheld.de>
2751
2752         * src/SDCCpeeph.c: separate peepRules2pCode() for pic16 by "Vangelis Rokas" <vrokas AT otenet.gr>
2753
2754 2003-06-02  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2755
2756         * doc/sdccman.lyx: cvs revision keywords, passing pdf information in latex preamble,
2757           additions to the "related tools/documentation" section
2758
2759 2003-06-02  Bernhard Held <bernhard AT bernhardheld.de>
2760
2761         * src/SDCCglue.c (tempfileandname): added check for missing TMP/TEMP/TMPDIR variable
2762
2763 2003-05-29  Bernhard Held <bernhard AT bernhardheld.de>
2764
2765         * src/pic/device.c: added 16F819, patch by "David I. Lehn" <dlehn AT vt.edu>
2766         * src/SDCCcse.c (algebraicOpts): fixed "c * 1"
2767
2768 2003-05-28  Bernhard Held <bernhard AT bernhardheld.de>
2769
2770         * doc/sdccman.lyx: fix double dash and other minor things
2771         * doc/Makefile: fix double dash
2772
2773 2003-05-28  Karl Bongers(patches from Martin Helmling)
2774         * debugger/mcs51/sdcdb.c,cmd.c,break.c and .h files. Martin adds
2775           condition and ignore commands.
2776
2777 2003-05-28  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2778
2779         * doc/sdccman.lyx: Changes all over, index improved, smaller margins. The manual
2780           is in parts still quite out of date, I did changes as far as I felt makes sense
2781           for a non-native english speaker.
2782           Please feel free to add to the manual or to correct my changes.
2783         * doc/Makefile: undid touching the date of intermediate tex files.
2784
2785 2003-05-26  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2786
2787         * doc/sdccman.lyx: Manual has an index now
2788
2789 2003-05-25  Bernhard Held <bernhard AT bernhardheld.de>
2790
2791         Finalize muluint/mulsint and mululong/mulslong merging:
2792         * device/lib/_mulint.c
2793         * device/lib/_mullong.c
2794         * device/lib/gbz80/mul.s
2795         * device/lib/gbz80/stubs.s
2796         * device/lib/z80/mul.s
2797         * device/lib/z80/stubs.s
2798         * src/SDCCsymt.c (initCSupport)
2799
2800 2003-05-25  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2801
2802         * as/mcs51/lkaomf51.c: Address space 'z' was missing.
2803         * src/avr/avr.dsp, src/ds390/ds390.dsp, src/mcs51/mcs51.dsp,
2804           src/pic/pic.dsp, src/pic16/pic16.dsp, src/xa51/xa51.dsp,
2805           src/x80/z80.dsp: peep.rul is bigger now, so /Zm1000 is used
2806           instead of /Zm500.
2807
2808 2003-05-25  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
2809
2810         * src/mcs51/peeph.def: added rules 244.x, 245.x. Although they pass
2811           the regression tests I'm not brave enough to enable 245.b, 245.c
2812         * doc/sdccman.lyx: added latex preamble for hyperref package.
2813           Using pdflatex this will give you a hyperlinked pdf file with
2814           bookmarks. (prepend '%' before /usepackage if this breaks something)
2815
2816 2003-05-24  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2817
2818          * doc/sdccman.lyx: updated information about .adb files (fixed bug 742649)
2819          
2820 2003-05-22  Bernhard Held <bernhard AT bernhardheld.de>
2821
2822         * src/pic16/pcode.c (pic16_get_op_from_instruction): fixed a gcc 3.x warning
2823
2824 2003-05-21    <johan AT balder>
2825
2826         * src/SDCCglue.c (printIval): fixed bug #739934
2827
2828 2003-05-19  Bernhard Held <bernhard AT bernhardheld.de>
2829
2830         Applied patch from bug 737905 (renamed yylineo to mylineno):
2831         * src/altlex.c
2832         * src/SDCCast.c
2833         * src/SDCglobl.h
2834         * src/SDCC.lex
2835         * src/SDCCsymt.c
2836         * src/SDCCval.c 
2837         * src/pic16/pcode.c: Cleaned warnings
2838         * src/pic16/pcodeflow.c: Cleaned warnings
2839         * src/pic16/pcoderegs.c: Cleaned warnings
2840
2841 2003-05-19  Scott Dattalo  <scott AT dattalo.com>
2842
2843         * src/pic16/pcode.c: Cleaned warnings
2844         * src/pic16/pcodepeep.c: Cleaned warnings
2845         * src/pic16/ralloc.c: Cleaned warnings
2846
2847 2003-05-19  Bernhard Held <bernhard AT bernhardheld.de>
2848
2849         * doc/sdccman.lyx: fixed bug 739745
2850         * src/pic16/pcode.c (pic16_get_op): fixed warning on alpha
2851
2852 2003-05-18  Bernhard Held <bernhard AT bernhardheld.de>
2853
2854         * src/port.h: removed DEFAULT_PORT, it's not yet pic16 ;-)
2855         it can be defined with CFLAGS when running configure
2856         * src/SDCCmain.c: fixed compiling + linking with object files
2857
2858 2003-05-18  Vangelis Rokas (vrokas AT otenet.gr)
2859
2860         * configure.in: configure for pic16 port,
2861             added --disable-pic16-port
2862         * sdccconf_in.h: added macro OPT_DISABLE_PIC16
2863         * src/SDCCmain.c: linkOptions is changed to set *,
2864             added if/endif conditional macros to remove options help
2865             messages from optionsTable when a port is not configured, added
2866             support for the PIc16 port in the ports table, when executing
2867             the compiler with no port specified on command line, a default
2868             port is selected with the new macro DEFAULT_PORT which is
2869             defined in port.h, in setDefaultOptions() linkOptions is removed
2870             from initialization assignment, since now it is a set,
2871             parseCmdLine uses setParseWithComma for linkOptions, in
2872             linkEdit() linkOptions are accessed with new function indexSet()
2873             which returns the i'th item of a set variable. See SDCCset.c, in
2874             linkEdit() when calling buildCmdLine(), added linkOptions as
2875             last argument. Now users can pass arguments to gplink via the
2876             -Wl option, main() uses pic16glue() to glue up pic16 programs
2877         * src/SDCCpeeph.c: various changes to support pic16
2878         * src/SDCCset.c: added function  void *indexSet(set *, int)  to
2879             return the i'th item of the set
2880         * src/SDCCset.h: added function prototype for indexSet()
2881         * src/SDCCsymt.c: in checkSClass(), added support for PIC16
2882         * src/clean.mk: added pic16 in CLEANALLPORTS variable
2883         * src/port.h: added TARGET_ID_PIC16,TARGET_IS_PIC16 macro,
2884             added macro DEFAULT_PORT
2885         * src/pic/main.c: corrected arguments of gplnk in _linkCmd
2886         * src/pic16/gen.c: bug fix in genCpl(), now the correct code is
2887             generated
2888         * src/pic16/glue.c: commented out some error producing lines
2889         * src/pic16/main.c: __config directives are commented out to stop
2890             gpasm complaining and test the linkage with gplink, _linkCmd and
2891             _asmCmd changed to be more gplink and gpasm friendly
2892         * src/pic16/peeph.def: peep rule 3 is commented out, since it
2893             produced an error when parsed, peep rule 12 is added to utilize
2894             movff, but it is commented out since the pCode does not support
2895             yet a command with 2 address arguments
2896
2897 2003-05-18    <johan AT balder>
2898
2899         * src/ds390/gen.c (genArrayInit): removed obsolete and buggy ARRAYINIT
2900         * src/ds390/main.c (genArrayInit): removed obsolete and buggy ARRAYINIT
2901 2003-05-17  Karl Bongers(apply patches from Martin Helmling)
2902
2903         * debugger/mcs51/sdcdb.c,cmd.c,break.c and .h files.
2904   Added feature to script commands from file.
2905
2906 2003-05-14  Bernhard Held <bernhard AT bernhardheld.de>
2907
2908         * device/lib/_strtok.c: fixed bug #734355 by Lenny Story and Tim Woodall
2909         * src/SDCCutil.c: include ctype.h for win32
2910
2911 2003-05-13  Bernhard Held <bernhard AT bernhardheld.de>
2912
2913         * src/pic16/*: removed CR from many files, reported by Vangelis Rokas
2914
2915 2003-05-12  Karl Bongers(apply development patches from Martin Helmling)
2916
2917         * debugger/mcs51/sdcdb.c,simi.c,cmd.c,break.c and .h files.
2918   Fixed so you can set breakpoints prior to run, run does not stop
2919   on entry now.  Add tbreak.  Other enhancements and fixes for use
2920   with ddd.
2921
2922 2003-05-12  Borut Razem <borut.razem AT siol.net>
2923
2924         * src/SDCCmain.c: fixed the problem with searching the DATADIR as the last resort on *nix
2925
2926 2003-05-11  Borut Razem <borut.razem AT siol.net>
2927
2928         * src/SDCCutil.c: WIN32 version of getBinPath() calls GetModuleFileName() to determine
2929         the path of bin directory, so that PATH is the only env. variable, which has to be set
2930         in case of standard installation.
2931         * src/ds390/ds390.dsp: increased value of /Zm option to 1000
2932         * src/pic/main.c: add quotes to file name parameters for gplink and gpasm
2933         * src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx: added --print-search-dirs command line option
2934
2935 2003-05-04  Bernhard Held <bernhard AT bernhardheld.de>
2936
2937         * src/SDCCmain.c (linkEdit): fixed buffer overflow for gbz80
2938         * support/regression/Makefile: inter-port-clean is no longer nesessary, the
2939         temp files are in the port dir; clean the gen/test directory when
2940         generating new test.c
2941         * support/regression/ports/host/spec.mk: defined OBJEXT for target clean
2942         * support/regression/tests/vaargs.c: fixed gcc 3.3 warning
2943         * support/regression/tests/zeropad.c: added
2944
2945 2003-05-09    <johan AT balder>
2946
2947         * src/SDCCglue.c: fixed bug #597940
2948
2949 2003-05-05  Karl Bongers(apply patches from Martin Helmling)
2950
2951         * debugger/mcs51/sdcdb.c,simi.c,cmd.c,symtab.c and .h files.
2952   cache sfr, optimize next,step, fix off by one sourceline,
2953   support ddd list function.
2954         * sim/ucsim/cmd.src/newcmd.cc - small fix for sdcdb use.
2955
2956 2003-05-04  Bernhard Held <bernhard AT bernhardheld.de>
2957
2958         * support/regression/HTMLgen.py: added compare_s2f()
2959         * support/regression/Makefile: redo 1.27
2960         * support/regression/generate-cases.py: redo 1.5
2961
2962 2003-04-30  Bernhard Held <bernhard AT bernhardheld.de>
2963
2964         * support/regression/tests/float.c: workaround 33 bit hex constant
2965         * support/regression/tests/simplefloat.c: fix division for host
2966
2967 2003-04-29  Scott Dattalo  <scott AT dattalo.com>
2968
2969         * src/pic/pcoderegs.c Applied patch from Jim Hawkridge <jim AT jimhawkridge.uk.eu.org>
2970         that tame's the PIC's over-aggressive optimizer.
2971
2972 2003-04-29  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
2973
2974          * src.dsw, link/z80/aslink.h, link/z80/linkz80.dsp: z80 linker
2975          support for MSVC.
2976          
2977 2003-04-29  Kevin Vigor <kevin AT vigor.nu>
2978
2979         Initial support for DS80C400. "Hello world" runs on TINIm400
2980         (with polled I/O).
2981
2982 2003-04-28  Karl Bongers(apply patches for Martin Helmling)
2983
2984          * debugger/mcs51/sdcdb.c,simi.c,cmd.c,symtab.c and .h files.
2985          * Some notes on ddd usage added in debugger/README
2986          Martin Helmling adding more features and fixes for ddd GUI debugger.
2987          Code added for nexti, stepi, up, down, and other adjustments.
2988
2989 2003-04-28  Scott Dattalo  <scott AT DATTALO.COM>
2990
2991         * src/pic/pCodepeep.c non-wildcard asmops are now handled
2992         * src/pic/peeph.def Added two rules to optimize carry manipulation
2993         * src/pic/* removed debug printfs
2994
2995 2003-04-28  Bernhard Held <bernhard AT bernhardheld.de>
2996
2997         * debugger/mcs51/cmd.c: added header newalloc.h
2998
2999 2003-04-26  Bernhard Held <bernhard AT bernhardheld.de>
3000
3001         * as/Makefile: new EXEEXT
3002         * as/z80/Makefile: remove trailing slash of BUILDIR
3003         * as/z80/clean.mk: new EXEEXT
3004         * Makefile.common.in: add to CFLAGS (and others), don't replace it
3005         * support/cpp2/Makefile.in: new EXEEXT
3006         * src/pic/glue.c (pic14emitRegularMap): fixed warning
3007
3008 2003-04-24  Bernhard Held <bernhard AT bernhardheld.de>
3009
3010         Cygwin's gcc always appends .exe: 'gcc -o a a.c' creates a.exe;
3011         EXEEXT was introduced to fix all related problems with targets
3012         "clean", "install" and "uninstall"; a couple of further flaws
3013         especially with "clean" have been fixed too
3014         * as/mcs51/Makefile.in
3015         * as/mcs51/clean.mk
3016         * as/z80/Makefile
3017         * Makefile
3018         * clean.mk
3019         * debugger/mcs51/Makefile.in
3020         * debugger/mcs51/clean.mk
3021         * link/z80/Makefile
3022         * link/z80/Makefile.in
3023         * link/z80/clean.mk
3024         * link/Makefile
3025         * packihx/Makefile.in
3026         * packihx/clean.mk
3027         * sim/ucsim/Makefile
3028         * sim/ucsim/clean.mk
3029         * sim/ucsim/avr.src/Makefile.in
3030         * sim/ucsim/avr.src/clean.mk
3031         * sim/ucsim/s51.src/Makefile.in
3032         * sim/ucsim/s51.src/clean.mk
3033         * sim/ucsim/xa.src/Makefile.in
3034         * sim/ucsim/xa.src/clean.mk
3035         * sim/ucsim/z80.src/Makefile.in
3036         * sim/ucsim/z80.src/clean.mk
3037         * sim/ucsim/main_in.mk
3038         * sim/ucsim/packages_in.mk
3039         * sim/ucsim/gui.src/Makefile.in
3040         * sim/ucsim/gui.src/serio.src/Makefile.in
3041         * sim/ucsim/gui.src/serio.src/clean.mk
3042         * src/Makefile.in
3043         * src/clean.mk
3044         * support/cpp2/Makefile.in
3045         * support/cpp2/clean.mk
3046         * support/makebin/Makefile
3047         * support/makebin/clean.mk
3048         * support/scripts/sdcc_mingw32: --program-suffix no longer needed
3049         * doc/sdccman.lyx: --program-suffix no longer needed
3050
3051 2003-04-23  Karl Bongers(apply patches for Martin Helmling)
3052
3053          * debugger/mcs51/sdcdb.c,simi.c,cmd.c,..
3054          Martin Helmling added support for ddd GUI debugger.
3055          Code added to display assembly, set variables, and other commands
3056          to interface to ddd.
3057
3058 2003-04-23  Bernhard Held <bernhard AT bernhardheld.de>
3059
3060         * as/Makefile: fix target clean
3061         * as/clean.mk: fix target clean
3062         * as/z80/clean.mk: fix target clean
3063
3064 2003-04-22  Bernhard Held <bernhard AT bernhardheld.de>
3065
3066         * Makefile.common.in: added  AT EXEEXT AT 
3067         * configure.in: removed all mingw32 stuff
3068         * configure: rebuilt from configure.in
3069         * doc/sdccman.lyx: updated section "installation"
3070         * support/scripts/sdcc_mingw32: adapted to configure
3071         * support/scripts/sdcc_cygwin_mingw32: added
3072
3073 2003-04-22  Scott Dattalo  <scott AT dattalo.com>
3074
3075         * src/pic Added object file support for the PIC port
3076         * src/pic Applied patch from Craig Franklin (this started the object file support)
3077         * src/regression Updated the PIC regression tests for object files
3078
3079 2003-04-20  Borut Razem <borut.razem AT siol.net>
3080
3081         * sdcc/as/mcs51/lklex.c: make getfid() more robust and fixed gcc warning:
3082           lklex.c: In function `getfid':
3083           lklex.c:203: warning: array subscript has type `char'
3084         * src/SDCCglobl.h: small change in stack handling macros, to avoid crash when compiled
3085           with MSVC with global optimization enabled (probably an cl compiler bug ;-)
3086         * support/Util/SDCCerr.c, support/Util/SDCCerr.h: added function fatal(), called from
3087           stack handling macros
3088
3089 2003-04-19  Borut Razem <borut.razem AT siol.net>
3090
3091         * "handling space characters in file path" task:
3092         * src/SDCCmacro.c: fixed bug in handlig quote at the end of line
3093         * support/Util/BuildCmd.c: define par as NULL if parameter value is invalid
3094         * support/Util/MySystem.h: make it self-sufficient
3095         * src/avr/main.c, src/ds390/main.c, src/mcs51/main.c, src/pic/main.c, src/xa51/main.c,
3096           src/z80/main.c, sdcc/as/mcs51/lklex.c:
3097           handling space characters in file path
3098         * src/SDCCmain.c: introduced setDataPaths() function, {datadir} macro
3099           (it will be used by assemblers, which have their own includes, e.g. gpasm)
3100         * support/Util/MySystem.c: handling space characters in executable's path
3101
3102 2003-04-19  Bernhard Held <bernhard AT bernhardheld.de>
3103
3104         * as/z80/Makefile: fix permanent rebuild of z80
3105         * sim/ucsim/gui.src/Makefile.in: target "install" builds the same packages as target "all"
3106         * support/regression/tests/bitfields.c: added Johan's bitfields.c
3107
3108 2003-04-18      Kevin Vigor <kevin AT vigor.nu>
3109
3110         * src/SDCCopt.c: add special case optimization to replace modulo by
3111           a power of two with a bitwise AND.
3112
3113 2003-04-18    <johan AT balder>
3114
3115         * src/mcs51/gen.c (getFreePtr): fixed bug #635354
3116
3117 2003-04-17    <johan AT balder>
3118
3119         * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #716790 and removes lot's of redundant register usage around function calls
3120         * src/mcs51/ralloc.c (packRegisters): fixed bug #720667
3121
3122 2003-04-13  Borut Razem <borut.razem AT siol.net>
3123
3124         * doc/sdccman.lyx: updated info about #pragma SAVE/RESTORE nesting
3125         * configure.in, configure: fixed problems on cygwin/WinCVS environmet with ports.* line endings;
3126           fixed mingw problem in adl_NORMALIZE_PATH
3127
3128 2003-04-12  Borut Razem <borut.razem AT siol.net>
3129
3130         * fixed "#pragma SAVE/RESTORE can not be nested":
3131         * src/SDCC.lex: reworked pragma handling functions
3132         * sdcc/src/SDCCglobl.h: reworked stack handling macros
3133         * support/Util/SDCCerr.c, support/Util/SDCCerr.h: added E_STACK_VIOLATION error
3134
3135 2003-04-12  Bernhard Held <bernhard AT bernhardheld.de>
3136
3137         * src/SDCCutil.c (pathEquivalent): defined but not used
3138         * debugger/mcs51/sdcdb.c: replace SDCC_LIB_DIR
3139         * configure.in: remove sdcc_datadir, sdcc_lib_dir and sdcc_include_dir
3140         * configure: rebuilt from configure.in
3141         * sdccconf_in.h: remove SDCC_LIB_DIR and SDCC_INCLUDE_DIR
3142         * sdcc_vc_in.h: remove SDCC_LIB_DIR and SDCC_INCLUDE_DIR
3143         * device/include/Makefile.in: replace sdcc_datadir
3144         * device/lib/Makefile.in: replace sdcc_datadir
3145         * Makefile.common.in: add LDFLAGS from configure
3146         * packihx/Makefile.in: use LDFLAGS
3147         * src/Makefile.in: use LDFLAGS
3148         * support/cpp2/Makefile.in: add LDFLAGS from configure
3149         * support/makebin/Makefile: use LDFLAGS
3150         * .version: bumped version number to 2.3.5
3151
3152 2003-04-12  Borut Razem <borut.razem AT siol.net>
3153
3154         * completed "different paths" task:
3155         * src/SDCCmacro.c: fixed bug in handling quotes
3156         * src/SDCCutil.c, src/SDCCutil.c: rewritten getPrefixFromBinPath()
3157         * src/SDCCmain.c: _discoverPaths() replaced with setBinPaths(), setIncludePath() and setLibPath()
3158
3159 2003-04-12  Bernhard Held <bernhard AT bernhardheld.de>
3160
3161         * src/pic/pcoderegs.c (Remove1pcode): fix warning on alpha
3162
3163 2003-04-11 kevin Vigor <kevin AT vigor.nu>
3164
3165         * ds390/gen.c ds390/peeph.def: fix bug 706781
3166
3167 2003-04-11  Borut Razem <borut.razem AT siol.net>
3168
3169         * support/Util/dbuf.c, support/Util/dbuf.h: update to version 1.1.1 - re-added C++ stuff to make it still more portable
3170
3171 2003-04-10  Scott Dattalo  <scott AT dattalo.com>
3172
3173         * src/pic/* Applied the pointer-to-function patch from Steve Tell.
3174         * src/pic/* Fixed several pointer bugs. (PIC port broke when the ruonly bit was
3175          set - this bit used to not be set...).
3176         * src/pic/gen.c Fixed buf 609268 ==> x = (x+1) & 0xf; generated 
3177           bad code in PIC Port
3178         * src/regression/and2.c added to test bug 609268
3179         * src/regression/Makefile added and2.c to regression test
3180
3181
3182 2003-04-08    <johan AT CP255758-A>
3183
3184         * src/mcs51/gen.c (gen51Code): display reg usage in --icode-in-asm
3185         * src/mcs51/ralloc.c (serialRegAssign): update the registers in use and save some slocs
3186         * src/SDCCicode.h: added riu to show the register usage in --icode-in-asm
3187
3188 2003-04-07  Bernhard Held <bernhard AT bernhardheld.de>
3189
3190         * configure.in: fully support prefix, exec_prefix, datadir, docdir;
3191         fix bug #487815
3192         * support/cpp2/Makefile.in: fix bug #487815
3193         * configure: rebuilt from configure.in
3194         * Makefile.common.in: docdir changed, new path suffixes
3195         * sdccconf_in.h: new RETSIGTYPE, and other PATHs
3196         * sdcc_vc_in.h: reflect changes from sdccconf.h
3197         * src/SDCCglobl.h: remove *SEPARATOR_CHARS, they are now in sdccconf.h
3198         * src/SDCCutil.h: remove BINDIR hack
3199         * doc/sdccman.lyx: update new path hierarchy
3200
3201 2003-04-06    Paul Stoffregen <paul AT pjrc.com>
3202
3203         * src/SDCCpeeph.c: added okToRemoveSLOC test
3204
3205 2003-04-06    Paul Stoffregen <paul AT pjrc.com>
3206
3207         * device/lib/printf_fast.c: added leading zero format ("%06d", etc)
3208
3209 2003-04-06    Paul Stoffregen <paul AT pjrc.com>
3210
3211         * src/SDCCpeeph.c: added labelIsReturnOnly test
3212         * src/mcs51/peeph.def: Peephole 244: replace ljmp to ret with ret
3213
3214 2003-04-05    <johan AT balder>
3215
3216         * src/SDCCcse.c (cseAllBlocks): fixed bug #460088
3217         * src/SDCCloop.c (DEFSETFUNC): fixed bug #460088
3218         * src/SDCCopt.c (eBBlockFromiCode): fixed bug #460088
3219         * src/SDCCast.c: fixed a warning
3220         * src/SDCCast.h: fixed a warning
3221         * src/SDCCicode.c (operandFromAst): fixed a warning
3222
3223 2003-04-04    <johan AT balder>
3224
3225         * src/SDCCloop.c (DEFSETFUNC): undid the fix for bug #519584
3226         * src/SDCCast.c (decorateType): fixed bug #715076
3227         * src/SDCC.y: fixed bug #702907
3228
3229 2003-04-03    <johan AT balder>
3230
3231         * device/lib/_mulint.c (_muluint): new #pragma LESS_PEDANTIC
3232         * src/SDCCopt.c (eBBlockFromiCode): new #pragma LESS_PEDANTIC
3233         * src/SDCCglobl.h (PRAGMA_LESSPEDANTIC): new #pragma LESS_PEDANTIC
3234         * src/SDCC.lex (doPragma): new #pragma LESS_PEDANTIC
3235         * src/SDCCmain.c (parseCmdLine): new #pragma LESS_PEDANTIC
3236
3237 2003-04-03  Bernhard Held <bernhard AT bernhardheld.de>
3238
3239         * _decdptr.c: fix return values
3240         * _gptrget.c: fix return values
3241         * _gptrgetc.c: fix return values
3242         * _gptrput.c: fix return values
3243         * _mulint.c: fix return values
3244         * as/z80/Makefile: fix 'make -j' problem
3245
3246 2003-04-02  Bernhard Held <bernhard AT bernhardheld.de>
3247
3248         * Makefile.common.in: unused PORT, SCC and SAS removed, fixed docdir
3249         * configure.in: big cleanup, updated to autoconf 2.5x
3250         * configure: rebuilt from configure.in
3251         * sdccconf_in.h: new RETSIGTYPE, and other PATHs
3252         * sdcc_vc_in.h: reflect changes from sdccconf.h
3253         * doc/Makefile: fixed a flaw in "make install"
3254
3255 2003-04-02    <johan AT balder>
3256
3257         * src/ds390/gen.c (genCmp): no comments
3258         * src/mcs51/gen.c (genCmp): no comments
3259         * src/SDCCopt.c (eBBlockFromiCode): detect missing return values
3260         * src/SDCCast.c (ast_print): fixed the function type in --dumptree
3261
3262 2003-04-01  Bernhard Held <bernhard AT bernhardheld.de>
3263
3264         * support/regression/generate-cases.py: place generated file in given sub directory
3265         * support/regression/ports/host/spec.mk: prevent removal of testfwk.o
3266         * support/regression/Makefile: improvements for 'make -j';
3267         side effect: it's simpler and faster now
3268
3269 2003-03-31  Borut Razem <borut.razem AT siol.net>
3270
3271         * src/z80/main.c: link-{port} and as-{port} defined without path
3272         * src/src.dsp: support/Util/MySystem.h and src/SDCCutil.h added to project
3273
3274 2003-03-31  Bernhard Held <bernhard AT bernhardheld.de>
3275
3276         * Makefile, src/Makefile.in: add dependencies, so that 'make -j' works
3277
3278 2003-03-30  Borut Razem <borut.razem AT siol.net>
3279
3280         * support/Util/BuildCmd.c, support/Util/BuildCmd.h: rewrite buildCmdLine(),
3281           changed type of list parameter to set
3282         * src/ds390/main.c: changed type of parameter asmOptions to set in _tininative_do_assemble()
3283         * src/port.h: changed type of do_assemble() parameter to set
3284         * src/SDCCmain.c: type of asmOptions changed to set, introduced setParseWithComma(),
3285           sdcpp defined without path, removed variable VersionString, introduced set binPathSet,
3286           definition of "cppoutfilename" macro with NULL value in preProcess()
3287         * src/SDCCglobl.h: included "SDCCset.h", added declaration of setParseWithComma()
3288         * src/SDCCglue.c: removed variable VersionString, inroduced spacesToUnderscores()
3289         * support/Util/MySystem.c, support/Util/MySystem.h: rewrite, char *ExePathList[]
3290           replaced with set *binPathSet
3291         * shash_add() deallocates the item, if allready exsists, before adding the new one
3292         * src/SDCCmacro.c: handling macros with empty or NULL values in _evalMacros()
3293
3294 2003-03-30  Scott Dattalo  <scott AT dattalo.com>
3295
3296         * src/pic/gen.c: Commit patch from Steve Tell <tell AT telltronics.org> that fixes
3297           a nested for loop bug in the PIC port
3298         * src/regression/nestfor.c: new regression test file Steve wrote to test nested
3299           for loops
3300
3301 2003-03-29  Bernhard Held <bernhard AT bernhardheld.de>
3302
3303         * support/Util/dbuf.h: remove C++ stuff to make it portable
3304
3305 2003-03-28  Borut Razem <borut.razem AT siol.net>
3306
3307         * src/SDCC.lex: Fix for bug #711240: dynamic buffer handling of C
3308           literal strings in stringLiteral()
3309         * support/Util/dbuf.c, support/Util/dbuf.h: added: dynamic buffer handling
3310         * src/Makefile.bcc, src/Makefile.in, src\src.dsp: added support/Util/dbuf.c
3311           to the project
3312
3313 2003-03-27  Paul Stoffregen <paul AT pjrc.com>
3314
3315         * src/SDCCpeeph.c (pcDistance): accurate byte distance for mcs51
3316
3317 2003-03-26    <johan AT balder>
3318
3319         * src/mcs51/gen.c (saveRegisters): catched symbol abuse
3320         * src/ds390/gen.c (saveRegisters): catched symbol abuse
3321         * src/SDCCast.c (decorateType): fixed " -v < 3"
3322
3323 2003-03-23  Bernhard Held <bernhard AT bernhardheld.de>
3324
3325         * doc/cdbfile.html: removed, replaced by cdbfileformat.lyx
3326         Added Lenny Story's debug infrastructure changes:
3327         * src/Makefile.in:  added new files cdbFile.c and SDCCdebug.c
3328         * src/Makefile.bcc: added new files cdbFile.c and SDCCdebug.c
3329         * src/cdbFile.c: added
3330         * src/SDCCdebug.c: added
3331         * src/SDCCdebug.h: added
3332         * src/SDCCast.c (createFunction)
3333         * src/SDCCglue.c (emitRegularMap, emitStaticSeg, emitOverlay, glue)
3334         * src/SDCCmain.c (parseCmdLine, main)
3335         * src/SDCCmem.c (redoStackOffsets)
3336         * src/SDCCsymt.c (cdbStructBlock, cdbTypeInfo, cdbSymbol, cdbStruct, cdbStructBlock)
3337         * src/SDCCsymt.h
3338         * src/common.h
3339         * src/avr/gen.c (genAVRCode)
3340         * src/ds390/gen.c (gen390Code)
3341         * src/mcs51/gen.c (gen51Code) 
3342         * src/pic/gen.c (genpic14Code)
3343         * src/pic/glue.c (pic14emitRegularMap, pic14emitStaticSeg, pic14emitOverlay, picglue)
3344         * src/xa51/gen.c (genXA51Code)
3345         * src/SDCCast.c: fixed "void foo(void){char c; -c < 0;}"
3346
3347 2003-03-22  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
3348
3349         * src/mcs51/gen.c (genCodePointerGet): quicker code for bug #700797
3350         * src/mcs51/peeph.def: added rules 177, 241.x to 243, touched 181, 182.x, 193.x
3351
3352 2003-03-22    <johan AT balder>
3353
3354         * src/SDCCicode.c (geniCodeDerefPtr): fixed bug #698231
3355
3356 2003-03-21  Bernhard Held <bernhard AT bernhardheld.de>
3357
3358         * support/scripts/sdcc_mingw32: adapted to configure from autoconf 2.54
3359         * doc/cdbfileformat.lyx: added, written by Lenny Story
3360         * doc/Makefile: added cdbfileformat.lyx
3361         * doc/clean.mk: added cdbfileformat.lyx
3362
3363 2003-03-20  Bernhard Held <bernhard AT bernhardheld.de>
3364
3365         * src/mcs51/peeph.def: fix bug #705773
3366
3367 2003-03-20    <johan AT balder>
3368
3369         An sfr/sbit can have an "at #" AND an initializer
3370         * src/SDCCsymt.c (checkSClass): 
3371         * src/SDCCmem.c (allocGlobal): 
3372         * src/SDCCmem.c (allocLocal):
3373         * src/SDCCast.c (createBlock): 
3374
3375 2003-03-17  Bernhard Held <bernhard AT bernhardheld.de>
3376
3377         * src/ds390/peeph.def: fix bug #704878: added rule 213.b suggested by Jan Rejlek
3378
3379 2003-03-16    <johan AT balder>
3380
3381         Undid the hackup of const and volatile, the problem is much bigger
3382         * src/SDCC.y:1.65
3383         * src/SDCCast.c:1.171
3384         * src/SDCCglue.c:1.138
3385         * src/SDCCicode.c:1.146
3386         * src/SDCCsymt.c:1.150
3387         * src/SDCCval.c:1.65
3388
3389 2003-03-15  Bernhard Held <bernhard AT bernhardheld.de>
3390
3391         * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #703541
3392         * src/ds390/gen.c (genAddrOf): fixed bug #704087
3393
3394 2003-03-13    <johan AT balder>
3395
3396         Hackup const and volatile modifiers in type chains a bit:
3397         * src/SDCC.y:1.63
3398         * src/SDCCast.c:1.169
3399         * src/SDCCglue.c:1.136
3400         * src/SDCCicode.c:1.143
3401         * src/SDCCsymt.c1.146
3402         * src/SDCCsymt.h1.59
3403         * src/SDCCval.c:1.63
3404
3405 2003-03-12    <johan AT balder>
3406
3407         * src/SDCCBBlock.h: more LRH debugging junk
3408         * src/SDCCcflow.h: more LRH debugging junk
3409         * src/SDCCloop.c: more LRH debugging junk
3410         * src/SDCC.y (struct_declaration): fixed bug #697590
3411         * src/SDCCsymt.[hc] (cloneSpec): NEVER EVER use this again
3412         * src/ds390/gen.c (aopForRemat): fixed bug #700031
3413         * src/SDCCglue.c (emitStaticSeg): fixed bug #700797
3414
3415 2003-03-11 Kevin Vigor <kevin AT vigor.nu>
3416         * src/SDCCpeeph.c: quit being lazy and made proper fix (peephole
3417         test function names must now match exactly).
3418         * src/SDCCcse.c: added special case in findCheaperOp to allow
3419         extending a short integer. Makes less awful code for bug 700121 test case.
3420
3421 2003-03-11  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3422
3423         * as/mcs51/lkmain.c: Added ASlink-Warning to messages 
3424         * as/mcs51/lkaomf51.c: Fixed bug when linking asmblink example
3425
3426 2003-03-11 Kevin Vigor <kevin AT vigor.nu>
3427
3428         * src/SDCCpeeph.c: fix so that operandsNotEqualX functions are
3429         actually called (operandsNotEqual() was called for all 
3430         operandsNotEqualX tests).
3431
3432 2003-03-11 Kevin Vigor <kevin AT vigor.nu>
3433
3434         * src/SDCCcse.c: fix findCheaperOp to prevent replacing int types
3435         with shorter literals. Fixes bug 700121.
3436
3437 2003-03-11    <johan AT balder>
3438
3439         * src/SDCCsymt.c (compareType): a (void *) can be assigned to any pointer
3440
3441 2003-03-11  Bernhard Held <bernhard AT bernhardheld.de>
3442
3443         * src/SDCCloop.c (mergeRegions): an evil beast is dead
3444         * src/SDCCmain.c (preProcess): minor cleanup: eliminate preOutName
3445
3446 2003-03-10  Borut Razem <borut.razem AT siol.net>
3447
3448         * src/SDCCmain.c: pipe preprocessor's output
3449         * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
3450         * sdcc_vc_in.h: define pclose as _pclose for WIN32
3451         * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
3452         which closes all pipes in pipeSet set
3453         * src/SDCCset.c: free deleted item in function deleteSetItem()
3454         * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
3455         moved from z80 to src subproject
3456         * .version: increased version number to 2.3.4
3457
3458 2003-03-10  Bernhard Held <bernhard AT bernhardheld.de>
3459
3460         * support/regression/ports/mcs51/spec.mk: increase timeout for CF's sparc to 30s
3461         * support/regression/ports/ds390/spec.mk: increase timeout for CF's sparc to 25s
3462         * support/regression/ports/xa51/spec.mk: fix typo
3463
3464 2003-03-09  Bernhard Held <bernhard AT bernhardheld.de>
3465
3466         * src/SDCCglobl.h: PATH_MAX is already defined in mingw32 headers
3467
3468 2003-03-09  Borut Razem <borut.razem AT siol.net>
3469
3470         * src/SDCCmain.c: pipe preprocessor's output
3471         * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
3472         * sdcc_vc_in.h: define pclose as _pclose for WIN32
3473         * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
3474         which closes all pipes in pipeSet set
3475         * src/SDCCset.c: free deleted item in function deleteSetItem()
3476         * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
3477         moved from z80 to src subproject
3478
3479 2003-03-09  Borut Razem <borut.razem AT siol.net>
3480
3481         * src/SDCCglue.c: re-implemented tempfilename() and tempfile(): using mkstemp() if available
3482         * src/SDCCsymt.h: fixed MSVC and BORLANDC compilation (included SDCCglobl.h instead srccconf.h)
3483         * sdcc_vc_in.h: explicitly undefined HAVE_MKSTEMP which is not available on BORLANDC and MSVC
3484         * src/SDCCset.h: removed inclusion of sdccconf.h or sdcc_vc.h
3485         * src/SDCCglobl.h: unification of WIN32 native definitions
3486
3487 2003-03-09  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
3488
3489         * src/mcs51/gen.c: applied in-/dec patch mentioned on sdcc-devel 2003-03-01
3490
3491 2003-03-08  Bernhard Held <bernhard AT bernhardheld.de>
3492
3493         * src/configure.in:   check for endianess (even while cross-compiling)
3494         * src/configure:      check for endianess (even while cross-compiling)
3495         * src/configure_in.h: check for endianess (even while cross-compiling)
3496         * src/avr/gen.c:        remove old endianess stuff
3497         * src/mcs51/gen.c:      remove old endianess stuff
3498         * src/ds390/gen.c:      remove old endianess stuff
3499         * src/pic/gen.c:        remove old endianess stuff
3500         * src/pic/genarith.c:   remove old endianess stuff
3501         * src/pic/glue.c:       fix endianess check
3502         * src/pic16/gen.c:      remove old endianess stuff
3503         * src/pic16/genarith.c: remove old endianess stuff
3504         * src/pic16/glue.c:     fix endianess check
3505         * src/xa51/gen.c:       remove old endianess stuff
3506         * src/z80/gen.c:        fix endianess check
3507         * src/SDCCglue.c:       fix endianess check
3508         * src/ds390/peeph.def: fix bug 700036
3509
3510 2003-03-08  Bernhard Held <bernhard AT bernhardheld.de>
3511
3512         * src/SDCCsymt.h: use appropriate data-types on host for SDCC's int and long
3513         * src/configure: find appropriate data-types on host for SDCC's int and long
3514         * src/configure.in: find appropriate data-types on host for SDCC's int and long
3515         * src/sdccconf_in.h: find appropriate data-types on host for SDCC's int and long
3516         * src/xa51/gen.c: use %d, not %ld for 4 byte variables
3517
3518 2003-03-07    <johan AT balder>
3519
3520         Just a big NOOP:
3521                 some minor cleanups before the big shot
3522                 OP_DEFS and OP_USES now use Kevin's protection
3523                 new option --nolabelopt
3524
3525         * src/SDCCBBlock.c:
3526         * src/SDCCast.c,:
3527         * src/SDCCcflow.c:
3528         * src/SDCCcse.c:
3529         * src/SDCCicode.c:
3530         * src/SDCCicode.h:
3531         * src/SDCClabel.c:
3532         * src/SDCCloop.c:
3533         * src/SDCCmain.c:
3534         * src/ds390/ralloc.c:
3535         * src/mcs51/ralloc.c:
3536         * src/pic/ralloc.c:
3537         * src/xa51/ralloc.c:
3538         * src/z80/ralloc.c:
3539
3540 2003-03-06  Bernhard Held <bernhard AT bernhardheld.de>
3541
3542         * src/pic/pcode.c (get_op): fix 64 bit warnings
3543         * src/pic/pcode.c (pCode2str): fix 64 bit warnings
3544         * src/SDCChasht.c (newHashTable): fix 64 bit warnings
3545         * src/SDCCsymt.c (checkTypeSanity): fix 64 bit warnings
3546         * support/regression/tests/malloc.c: fix 64 bit warnings
3547
3548 2003-03-04  Bernhard Held <bernhard AT bernhardheld.de>
3549
3550         * src/mcs51/gen.c (genMinus): fixed bug 696436
3551
3552 2003-03-02  Borut Razem <borut.razem AT siol.net>
3553
3554         * src/SDCCmain.c: added BORLANDC, corrected MSVC in printVersionInfo()
3555
3556 2003-02-26  Bernhard Held <bernhard AT bernhardheld.de>
3557
3558         * configure.in: test for mkstemp
3559         * sdccconf_in.h: add HAVE_MKSTEMP
3560
3561 2003-02-24  Bernhard Held <bernhard AT bernhardheld.de>
3562
3563         * device/include/ctype.h: removed warning while using --stack-auto
3564         * device/include/malloc.h: removed warning while using --stack-auto
3565         * device/include/string.h: removed warning while using --stack-auto
3566
3567 2003-02-23  Borut Razem <borut.razem AT siol.net>
3568
3569         * src/asm.h: corrected assertion in function printILine(): _pipe() was not executed on MSVC,
3570         because NDEBUG is defined (see man assert)
3571         * sdcc_vc_in.h: vsnprintf is defined as _vsnprintf on MSVC
3572
3573 2003-02-23  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
3574
3575         * src/mcs51/gen.c (genUminusFloat): avoided dptr in-/decrement for xdata variables
3576         * src/mcs51/peeph.def: added rule suggested by Gernot Fink, white space/comment changes
3577
3578 2003-02-18  Frieder Ferlemann <Frieder.Ferlemann AT web.de>
3579
3580         * src/SDCCpeeph.c: added peephole conditions testing for same arguments
3581         * src/mcs51/peeph.def: added rules 238a-d which remove redundant moves
3582
3583 2003-02-18    <johan AT balder>
3584
3585         * as/mcs51/asmain.c (asmbl): module can start with a digit
3586         * as/z80/asmain.c (asmbl): module can start with a digit
3587
3588 2003-02-16  Bernhard Held <bernhard AT bernhardheld.de>
3589
3590         * sim/ucsim/mkecho: inserted #!/bin/sh for Cygwin, so that it's executable
3591         * src/asm.c: fix pipe() for Mingw32
3592
3593 2003-02-15  Bernhard Held <bernhard AT bernhardheld.de>
3594
3595         * src/SDCCglue.h: make tmpfileNameSet available for preOutName
3596         * src/SDCCmain.c (preProcess): make sure, that preOutName will be deleted;
3597         make -V work again; --c1mode reads now from stdin
3598         * doc/sdccman.lyx: added --c1mode
3599         * support/Util/SDCCerr.c: new messages for c1 mode
3600         * support/Util/SDCCerr.h: new messages for c1 mode
3601         * src/SDCC.lex (checkCurrFile): test if fullSrcFileName is NULL for c1mode
3602
3603 2003-02-15    <johan AT balder>
3604
3605         * src/asm.c: new options: --no-c-code-in-asm and --i-code-in-asm
3606
3607 2003-02-14  Bernhard Held <bernhard AT bernhardheld.de>
3608
3609         * doc/sdccman.lyx: Environment variables, -o and other minor things
3610
3611 2003-02-14    <johan AT balder>
3612
3613         * src/xa51/main.c: before anyone really tries to use it :)
3614
3615         * Install doc's in share/sdcc/doc
3616         * removed some obsolete files
3617         * Do a proper make distclean and uninstall
3618         M Makefile.common.in
3619         R sdccbuild.sh
3620         M as/Makefile
3621         M device/include/Makefile.in
3622         M device/lib/Makefile.in
3623         M doc/sdccman.lyx
3624         M link/Makefile
3625         M sim/ucsim/doc/Makefile.in
3626         M src/clean.mk
3627         R src/avr/peeph.rul
3628         R src/xa51/peeph.rul
3629         M support/cpp2/Makefile.in
3630         M support/makebin/Makefile
3631
3632
3633 2003-02-13  Bernhard Held <bernhard AT bernhardheld.de>
3634
3635         * support/regression/ports/host/spec.mk: use cc as host compiler for max osx
3636
3637 2003-02-10  Borut Razem <borut.razem AT siol.net>
3638
3639         * doc/bccinst.txt, packihx/packihx.c, sdcc_vc_in.h, src/SDCCset.h,
3640         support/cpp2/config.in: Borland C++ build doesn't depend on Cygwin configure
3641         * Bcc.ini, Makefile.bcc, as/mcs51/Makefile.bcc,
3642         device/examples/ds390/tinitalk/Makefile.bcc, packihx/Makefile.bcc,
3643         support/cpp2/Makefile.bcc, src/Makefile.bcc, src/avr/Makefile.bcc,
3644         src/ds390/Makefile.bcc, src/izt/Makefile.bcc, src/mcs51/Makefile.bcc,
3645         src/pic/Makefile.bcc, src/pic16/Makefile.bcc, src/xa15/Makefile.bcc,
3646         src/z80/Makefile.bcc: Borland Makefile cleanup
3647         * as/z80/Makefile.bcc: Added Borland Makefile
3648         * support/cpp2/borland.h: Removed
3649
3650 2003-02-10  Bernhard Held <bernhard AT bernhardheld.de>
3651
3652         * doc/sdccman.lyx: new pragma NOIV by "Johannes Stezenbach" <js AT convergence.de>
3653         * src/SDCC.lex: new pragma NOIV
3654         * src/SDCCglobl.h: new pragma NOIV
3655         * src/SDCCmem.c: new pragma NOIV
3656
3657 2003-02-09  Bernhard Held <bernhard AT bernhardheld.de>
3658
3659         * src/SDCCmain.c: signal handling is switched off by SDCC_LEAVE_SIGNALS
3660
3661 2003-02-09  Bernhard Held <bernhard AT bernhardheld.de>
3662
3663         * src/SDCCmain.c: signal handling is switched off by --debug
3664         * doc/Makefile: small fix for install; use clean.mk again
3665         * doc/clean.mk: clean *.pdf and *.html too
3666
3667 2003-02-08  Bernhard Held <bernhard AT bernhardheld.de>
3668
3669         * device/lib/_mulint.c: small fix for large/ds390 --int-long-reent resp. --stack-auto
3670         * device/lib/printfl.c: fix a ds390 bug by making it portable
3671         * src/SDCCsymt.c (initCSupport): fix compile warning on Cygwin
3672         * src/SDCCopt.c (cnvToFloatCast): fix compile warning on Cygwin
3673         * src/SDCCopt.c (cnvFromFloatCast): fix compile warning on Cygwin
3674         * debugger/mcs51/cmd.c: converted multi-line string literals
3675         * sim/ucsim/globals.cc: converted multi-line string literals
3676         * src/SDCCmain.c: introduced signal handler to remove temp files
3677         * doc/Makefile: small tweaks, implement clean
3678         * doc: removed generated files
3679
3680 2003-02-05  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3681
3682         * as/mcs51/aslink.h, as/mcs51/lkihx.c, as/mcs51/lkrloc.c:  Applied
3683         patch from Jan Rejlek <jr AT apex-lib.cz> to fix Bug 677692: "Extended
3684         Address Record is not correctly generated for DS390."
3685
3686 2003-02-02  Borut Razem <borut.razem AT siol.net>
3687
3688         * Makefile.bcc: removed non existing cpp project and non compilable izt project from makefile
3689         * as/mcs51/asm.h: fixed compilation with Borland C
3690         * support/cpp2/Makefile.bcc: added rule to generate auto-host.h
3691         * support/cpp2/auto-host_vc_in.h: fixed compilation with Borland C
3692         * src/mcs51/mcs51a.dsp: corrected misspelled project name from msc51a to mcs51a
3693         * src/avr/Makefile.bcc, src/ds390/Makefile.bcc, src/izt/Makefile.bcc,
3694         src/mcs51/Makefile.bcc, src/pic16/Makefile.bcc, src/xa51/Makefile.bcc,
3695         src/z80/Makefile.bcc: delete $(LIB) only if exist
3696         * src/Makefile.bcc, src/pic/Makefile.bcc:  fixed compilation with Borland C
3697
3698 2003-02-02  Bernhard Held <bernhard AT bernhardheld.de>
3699
3700         * device/include/malloc.h: introduced NULL
3701         * device/include/string.h: introduced NULL
3702         * device/include/stdlib.h: introduced NULL
3703         * device/lib/_memcpy.c: removed NULL
3704         * device/lib/_strcat.c: removed NULL
3705         * device/lib/_strchr.c: removed NULL
3706         * device/lib/_strcmp.c: removed NULL
3707         * device/lib/_strcpy.c: removed NULL
3708         * device/lib/_strcspn.c: removed NULL
3709         * device/lib/_strlen.c: removed NULL
3710         * device/lib/_strncat.c: removed NULL
3711         * device/lib/_strncmp.c: removed NULL
3712         * device/lib/_strncpy.c: removed NULL
3713         * device/lib/_strpbrk.c: removed NULL
3714         * device/lib/_strrchr.c: removed NULL
3715         * device/lib/_strspn.c: removed NULL
3716         * device/lib/_strstr.c: removed NULL
3717         * device/lib/_strtok.c: removed NULL
3718         * device/lib/malloc.c: removed NULL, include own header
3719
3720 2003-02-02    <johan AT balder>
3721
3722         * 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
3723         * support/regression/fwk/lib/testfwk.c: div and mod isn't broken anymore
3724         * regressions ds390/spec.mk and mcs51/spec.mk (timeout): my good old balder isn't fast enough for some tests
3725         * src/z80/gen.c (genZ80Code): added c-lines in asm comments
3726         * as/z80/asm.h (NINPUT): increased for long c-comments in regression tests
3727         * src/z80/gen.c (genRightShiftLiteral): fixed the (char)(-3)>>8 (I think)
3728
3729 2003-02-01  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3730
3731         * src/SDCCmain.c: Fixed bug 678574: "ds390: ASlink-Error-Stack overlaps
3732         area 'DATA'"
3733
3734 2003-02-01    <johan AT balder>
3735
3736         * src/SDCCval.c (valBitwise): fixed Karl's "2 | (1<<8)"
3737
3738 2003-01-31    <johan AT CP255758-A>
3739
3740         * src/ds390/main.c (_ds390_genAssemblerPreamble): applied Jan Rejlek's >64K startup patch
3741
3742 2003-01-30    <johan AT balder>
3743
3744         * src/SDCCBBlock.c: automatic bug detection
3745         * src/SDCCicode.c: automatic bug detection
3746
3747 2003-01-29  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3748
3749         * src/SDCCglobl.h:   now --xram-size 0 works
3750         * src/SDCCmain.c:    now --xram-size 0 works
3751
3752 2003-01-29    <johan AT balder>
3753
3754         * src/almosteverything: changed OP_DEFS and OP_USES from macros to functions to catch symbol abuse (a hot topic in the bug list :)
3755
3756 2003-01-29  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3757
3758         * as/mcs51/aslink.h: Added options --xram-size and --code-size 
3759         * as/mcs51/lkdata.c: Added options --xram-size and --code-size 
3760         * as/mcs51/lkmain.c: Added options --xram-size and --code-size 
3761         * as/mcs51/lkmem.c:  Added options --xram-size and --code-size 
3762         * src/SDCCglobl.h:   Added options --xram-size and --code-size 
3763         * src/SDCCmain.c:    Added options --xram-size and --code-size 
3764
3765 2003-01-28  Bernhard Held <bernhard AT bernhardheld.de>
3766
3767         * src/ds390/gen.c: fix deps by replacing <common.h> with "common.h"
3768         * src/SDCC.lex: rename P_OVERLAY to P_OVERLAY_ for cross-gcc 3.2 MINGW32
3769
3770 2003-01-27    <johan AT balder>
3771
3772         * src/SDCC.y: fixed bug #613764
3773
3774 2003-01-26    <johan AT balder>
3775
3776         * src/SDCClrange.c:  fixed Bernhard's "char * code ptr = &c"
3777         * src/SDCCsymt.h: fixed bug #673374
3778         * src/SDCCglue.c: fixed bug #661910
3779         * src/SDCCast.c: fixed bug #458099 and 673374
3780
3781 2003-01-26  Bernhard Held <bernhard AT bernhardheld.de>
3782
3783         * as/mcs51/strcmpi.c: added, provides Aurelien Jarno's as_strcmpi(); strcmpi() is not ANSI
3784         * as/mcs51/strcmpi.h: added
3785         * as/mcs51/asm.h: remove ugly "#define strcmpi strcmp"
3786         * as/mcs51/aslink.h: remove ugly "#define strcmpi strcmp"
3787         * as/mcs51/asmain.c: strcmpi -> as_strcmpi
3788         * as/mcs51/assym.c: strcmpi -> as_strcmpi
3789         * as/mcs51/lkmem.c: strcmpi -> as_strcmpi
3790         * as/mcs51/lknoice.c: strcmpi -> as_strcmpi
3791         * as/mcs51/lksym.c: strcmpi -> as_strcmpi
3792         * as/mcs51/Makefile.aslink: new module strcmpi
3793         * as/mcs51/Makefile.asx8051: new module strcmpi
3794         * as/mcs51/Makefil.bcc: new module strcmpi
3795         * as/mcs51/Makefile.in: new module strcmpi
3796         * sim/ucsim/s51.src/uc390.cc (get_mem_size): make RAM big enough for tinibios
3797
3798 2003-01-26    <johan AT balder>
3799
3800         * src/SDCCglue.c: reverted back to 1.124
3801         * src/SDCCast.c: reverted back to 1.156
3802         * src/mcs51/gen.c (aopGet): applied Frieder's efficiency patch
3803
3804 2003-01-25    <johan AT balder>
3805
3806         * src/SDCCglue.c: A better fix for bug #661910
3807         * src/SDCCast.c: A better fix for bug #661910
3808         * src/SDCCglue.c (emitRegularMap): That was a little too efficient
3809
3810 2003-01-24  Bernhard Held <bernhard AT bernhardheld.de>
3811
3812         * src/Makefile.in: remove spawn.o
3813         * src/SDCCmain.c: remove spawn.h
3814         * src/SDCCmain.c (printVersionInfo): report MINGW32 instead of UNIX
3815         * src/spawn.c: removed
3816         * src/spawn.h: removed
3817         * support/regression/ports/ds390/spec.mk: link with -r
3818
3819 2003-01-24    <johan AT CP255758-A>
3820
3821         * src/ds390/gen.c (aopOp): fixed bug #667458
3822         * src/SDCCglue.c (emitRegularMap): fixed bug #458099 again
3823         * src/SDCCast.c (createIvalCharPtr): fixed bug #661910
3824         (createIvalCharPtr): an ival doesn't always have a storage class anymore
3825
3826 2003-01-24  Bernhard Held <bernhard AT bernhardheld.de>
3827
3828         * src/mcs51/peeph.def: better assembler identation by Frieder
3829         * src/mcs51/gen.c: better assembler identation by Frieder
3830
3831 2003-01-22  Bernhard Held <bernhard AT bernhardheld.de>
3832
3833         * as/z80/string.h: removed for gcc 3.2
3834         * support/makebin/makebin.c: #include <string.h> for gcc 3.2
3835         * src/pic/pcode.c (get_op_from_instruction): fix concatenation of string literals with __FUNCTION__ for gcc 3.2
3836
3837 2003-01-19  Bernhard Held <bernhard AT bernhardheld.de>
3838
3839         * src/SDCCmain.c (linkEdit): rename mem and map files even in case of failure
3840         * src/SDCCpeeph.c (replaceRule): fix bug #663503
3841         * support/regression/Makefile: separate temp files for ports
3842         * support/regression/generate-cases.py: separate temp files for ports
3843         * src/mcs51/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
3844         * src/ds390/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
3845
3846 2003-01-19  Bernhard Held <bernhard AT bernhardheld.de>
3847
3848         * moved tinitalk to device/examples/ds390
3849
3850 2003-01-14  Bernhard Held <bernhard AT bernhardheld.de>
3851
3852         * as/mcs51/lkmem.c: rflag is for DS390
3853         * src/SDCCglobl.h: removed out_name and options stackOnData, genericPtr
3854         * src/SDCCmain.c (optionsTable, setDefaultOptions): removed --stack-after-data and --generic
3855                          (linkEdit): move mem- and map-files the same way as ihx-files
3856         * src/z80/main.c (_setDefaultOptions): removed --generic
3857         * src/SDCCmain.c (_processC1Arg, parseCmdLine, main): --c1mode works again
3858         * src/SDCCglue.c (createInterruptVect, glue): --c1mode works again
3859         * src/pic/glue.c (picglue): --c1mode works again
3860         * src/pic16/glue.c (pic16glue): --c1mode works again
3861         * src/asm.c (printCLine): fix #660034
3862
3863 2003-01-13  Bernhard Held <bernhard AT bernhardheld.de>
3864
3865         * src/ds390/peeph.def: fix #123; add 14 rules by Fiorenzo D. Ramaglia <fd.ramaglia AT tin.it>, 1 by Frieder
3866         * src/mcs51/peeph.def: fix #123; add 14 rules by Fiorenzo, 1 by Frieder
3867         * src/mcs51/gen.c (genFunction): emit r0 instead of ar0 by Fiorenzo
3868         * as/mcs51/lkmem (summary): better fix for sp problem
3869         * src/SDCCglue.c (glue): __start_stack - 1, saves 1 byte!
3870         * src/ds390/main.c (_ds390_finaliseOptions, _tininative_finaliseOptions): stack_loc = 0x400008
3871         * support/regression/ports/*/spec.mk: moving testfwk-object to port dir allow parallel execution of regression tests
3872                                               remove --stack-after-data
3873
3874 2003-01-12  Bernhard Held <bernhard AT bernhardheld.de>
3875
3876         * src/SDCCmain.c (main): port->finaliseOptions() moved for z80 linking
3877         * src/SDCCutil.c (join): ugly bug: missing '\0'
3878         * as/mcs51/lkmem.c (summary): sp on address 7 is safe
3879
3880 2003-01-11  Bernhard Held <bernhard AT bernhardheld.de>
3881
3882         * src/SDCCmain.c (assemble, linkEdit): preparations for -o
3883         * src/port.h: typo
3884         * src/pic/main.c (_asmCmd): gpasm supports -o
3885         * src/z80/main.c: more general macros
3886         * device/lib/Makefile.in: remove intermediate files
3887
3888 2003-01-11  Bernhard Held <bernhard AT bernhardheld.de>
3889
3890         * .version: Bumped version number to 2.3.3
3891         * src/SDCCBBlock.c: new option -o
3892         * src/SDCCglobl.h: new option -o
3893         * src/SDCCglue.c: new option -o
3894         * src/SDCCmain.c: new option -o
3895         * src/asm.c: new option -o
3896         * src/ds390/main.c: new option -o
3897         * src/pic/glue.c: new option -o
3898         * src/pic/pcode.c: new option -o
3899         * src/pic/ralloc.c: new option -o
3900         * src/pic16/glue.c: new option -o
3901         * src/pic16/pcode.c: new option -o
3902         * src/pic16/ralloc.c: new option -o
3903         * src/z80/main.c: new option -o
3904         * device/lib/Makefile.in: use -o
3905         * support/regression/ports/ds390/spec.mk: use -o
3906         * support/regression/ports/gbz80/spec.mk: use -o
3907         * support/regression/ports/mcs51/spec.mk: use -o
3908         * support/regression/ports/mcs51-stack-auto/spec.mk: use -o
3909         * support/regression/ports/z80/spec.mk: use -o
3910         * support/regression/ports/ucz80/spec.mk: use -o
3911         * support/regression/ports/xa51/spec.mk: use -o
3912         * support/regression/fwk/lib/timeout.c: fix usage string
3913
3914 2003-01-09  Bernhard Held <bernhard AT bernhardheld.de>
3915         * src/mcs51/gen.c (genPlus): replaced "mov b,acc" by "mov b,a" Fiorenzo D. Ramaglia <fd.ramaglia AT tin.it>
3916         
3917 2003-01-07    <johan AT balder>
3918
3919         * src/SDCCast.c (decorateType): fixed bug #600035
3920
3921 2003-01-07  Bernhard Held <bernhard AT bernhardheld.de>
3922         * as/mcs51/lkmem.c: added several l-modifiers to printf to remove warnings
3923         * as/mcs51/lkaomf51.c: #include <ctype.h> to remove warnings
3924         * src/pic/main.c (_hasNativeMulFor): outcommented unused variables to remove warnings
3925         * src/pic/pcode.c: outcommented unused variable to remove warnings
3926         * src/pic/ralloc.c: outcommented unused variable to remove warnings
3927
3928 2003-01-06    <karl AT turbobit.com>
3929         * sim/ucsim/cmd.src/command.cc: fixed so "break xram r 0x7654" works again in
3930    regression tests.
3931
3932 2003-01-06    <johan AT balder>
3933
3934         * src/SDCCicode.c: fixed array add
3935
3936 2002-01-05  Bernhard Held <bernhard AT bernhardheld.de>
3937         * src/SDCCmacro.c: MAX_STRING_LENGTH increased to 2048; was too small for regression tests
3938         * support/regression/ports/host/support.c: #include <stdarg.h> for gcc 3.2
3939
3940 2003-01-04    <johan AT balder>
3941
3942         * src/SDCCval.c (getNelements): fixed the initialized array of structures
3943
3944 2002-12-29  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3945         * as/mcs51/Makefile.bcc: fixed typo lkomf51.o -> lkaomf51.o
3946
3947 2002-12-28  Bernhard Held <bernhard AT bernhardheld.de>
3948         * src/mcs51/peeph.def: added rules 234 and 235 from Frieder Ferlemann <frieder.ferlemann AT web.de>
3949         * support/regression/tests/bug-524697.c: fit mem usage into 8032
3950
3951 2002-12-28  Bernhard Held <bernhard AT bernhardheld.de>
3952         * src/mcs51/gen.c (aopGetUsesAcc): inserted missing "return FALSE"
3953
3954 2002-12-27  Bernhard Held <bernhard AT bernhardheld.de>
3955         * as/mcs51/Makefile.in: fixed typo lkomf51.o -> lkaomf51.o
3956
3957 2002-12-26  Bernhard Held <bernhard AT bernhardheld.de>
3958         * src/mcs51/main.c: removed {bindir}{sep} from aslink
3959
3960 2002-12-10  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3961
3962     * in \sdcc\as\mcs51\ changed these files in order to create an
3963     aomf51 file: aslink.h, lkdta.c, lklex.c, lklibr.c, lklist.c,
3964     lkmain.c.  Also added: lkmem.c and lkaomf51.c.  Changed the 
3965     following files to include the previous two files: aslink.dsp,
3966     Makefile.aslink, Makefile.bcc, and Makefile.in.
3967
3968     * Changed \sdcc\src\SDCCmain.c so it creates files with extension
3969     .adb instead of .cdb
3970     
3971 2002-11-09  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3972
3973         * \sdcc\as\mcs51\lklist.c: Now reports memory usage using the
3974         value from option --iram-size.
3975
3976 2002-09-20  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3977
3978         * \sdcc\as\mcs51\lklist.c: added boundary check before using
3979         dram[] array.
3980
3981 2002-09-18    <wiml AT hhhh.org>
3982
3983         * SDCClrange.h: exposed setFromRange() and setToRange()
3984         * mcs51/ralloc.c: fixed over-eager packRegsForSupport() and
3985           packRegsForAccUse() (bug 542397)
3986         * mcs51/gen.c: MOVA() is now a function to avoid calling aopGet()
3987           multiple times and emitting the fetch operations more than once
3988           added aopGetUsesAcc() function to allow binary operators to
3989           fetch their operands in the correct order; made genMinus() emit
3990           compact code for X = LITERAL - Y 
3991
3992 2002-09-00  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3993         * \sdcc\as\mcs51\lklist.c: Fixed incorrect number of parameters to
3994         sprintf() in line 1267.
3995
3996 2002-09-08  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
3997         * \sdcc\src\SDCCglue.c: Generate areas REG_BANK_[0-3] only for 8051
3998         like ports.
3999
4000 2002-09-04  Jesus Calvino-Fraga <jesusc AT ece.ubc.ca>
4001         Changes to aslink (All the changes are marked with 'JCF'):
4002
4003         * \sdcc\as\mcs51\aslink.h: External definition of sflag and
4004         summary().
4005
4006         * \sdcc\as\mcs51\lkarea.c: Computes the size of area BSEG_BYTES from
4007         area BSEG.  Also moves, if possible, the DATA area down into the internal
4008         ram so more space is available.
4009
4010         * \sdcc\as\mcs51\lkdata.c: Definition of memory summary output flag
4011         sflag.
4012
4013         * \sdcc\as\mcs51\lklist.c: For the BSEG area report the size in bits,
4014         not bytes.  Function summary() which creates a memory usage summary
4015         file with extension .mem.  Reports of overlaping stack and small stack
4016         size.  If the space for the stack is less than 16 bytes aslink trows a
4017         warning.
4018         
4019         * \sdcc\as\mcs51\lkmain.c: Creation of some of the default areas for
4020         the 8051.  Option 'y' for memory summary output file.
4021
4022         Changes to sdcc (All the changes are marked with 'JCF'):
4023
4024         * \sdcc\src\SDCCglobl.h: External definition of RegBankUsed[4].
4025
4026         * \sdcc\src\SDCCglue.c:  If a register bank is used, creates an
4027         overlaying area for it (uses RegBankUsed[4]).
4028
4029         * \sdcc\src\SDCCmain.c: Definition RegBankUsed[4]; marks register
4030         bank zero as used by default.  By default aslink locates the stack
4031         (equivalent to --stack-after-data).  Pass option 'y' to aslink for
4032         the creation of the .mem file.  Delegates the allocation of data area
4033         to aslink (it is not longer 0x30 by default).  If --stack-loc passes
4034         the begining of the stack area to aslink.
4035
4036         * \sdcc\src\SDCCmem.c:  If a register bank is used, marks it so
4037         glue() in SDCCglue.c creates an area for it.
4038         
4039 2002-09-03  Borut Razem <borut.razem AT siol.net>
4040         * sdcc/src/SDCCglue.c, sdcc/src/SDCCglue.h, sdcc/src/SDCCmain.c,
4041         sdcc/src/pic/glue.c:
4042         introduced atexit() handler for teporay files removal in case of
4043         errors, assertions, ...
4044
4045 2002-08-29  Borut Razem <borut.razem AT siol.net>
4046         * sdcc/support/cpp2/auto-host_vc_in.h:
4047         re-definition of O_BINARY and other O_XXX as _O_BINARY and _O_XXX, so the problem
4048         with the returned value from read() in sdcc/support/cpp2/cppfiles.c is solved for MSC.
4049         Maybe there is a similar problem with BORLANDC? It should be checked!
4050
4051         * sdcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c, sdcc/src/z80/ralloc.c:
4052         corrected improper use of assert: the assignment to clr variable was done inside the assert.
4053         In case that NDEBUG was defined, the assert macro was substituted with no-op, so the assignment
4054         was not executed, and the compiler (cl) launched a warning:
4055         ralloc.c(1442) : warning C4700: local variable 'clr' used without having been initialized
4056
4057 2002-08-28  Bernhard Held <bernhard AT bernhardheld.de>
4058         * src/SDCCglue.c (printIvalArray): iterative calculation of array length
4059
4060 2002-08-28  Jesus Calvino-Fraga and Borut Razem <borut.razem AT siol.net>
4061         * sdcc/sdcc.dsw: added sdcpp, sdcppa, yacc, conf projects
4062
4063         * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
4064           sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp,
4065           sdcc/src/xa51/xa51.dsp, sdcc/src/avr/avra.dsp,
4066           sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
4067           sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp,
4068           sdcc/src/xa51/xa51a.dsp, sdcc/as/as_z80.dsp,
4069           sdcc/as/aslink.dsp, sdcc/as/asx8051.dsp, sdcc/packihx/packihx.dsp:
4070         - added Release configuration in VS projects
4071         - review of compiler an linker options
4072         - VC .exe files are generated in bin_vc directory, not to interfere
4073           with binaries generated from other projects (cygwin, mingw, bcc ...)
4074
4075         * sdcc/src/yacc.dsp: added
4076
4077         * sdcc/config.dsp, sdcc/configure_vc.awk, sdcc/sdcc_vc_in.h:
4078         added - genarate sdcc_vc.h using sdcc_vc_in.h as template
4079         and insert the version number definitions from .version 
4080
4081         * sdcc/support/cpp2/sdcpp.dsp: added - VC project for sdcpp
4082
4083         * sdcc/support/cpp2/sdcppa.dsp, sdcc/support/cpp2/auto-host_vc_in.h:
4084         added - genarate auto-host.h using auto-host_vc_in.h as template
4085
4086         * sdcc/sdcc_vc.h,
4087         removed from CVS, generated automatically
4088
4089 2002-08-25  Bernhard Held <bernhard AT bernhardheld.de>
4090         * support/scripts/inc2h.pl: use gputils or gpasm (from Nathan Hurst)
4091
4092 2002-08-11  Borut Razem <borut.razem AT siol.net>
4093         * support/Util/NewAlloc.c: removed unneeded #include "sdccconf.h" (suggested by Jesus Calvino-Fraga)
4094
4095 2002-08-10  Borut Razem <borut.razem AT siol.net>
4096         * src/SDCCmain.c (main):
4097         file preOutName was unlinked before closed. This seems to be OK on UNIX and cygwin
4098         platforms, but it doesn't work with Visual Studio: the opened file can not be removed.
4099         The consequence was that some temporary files were not removed.
4100
4101         * src/SDCCglue.c:
4102         unification of code in functions tempfilename() and tempfile():
4103         function tempnam() is defined in Visual Studio 6.0 and .NET
4104
4105         * sdcc/sdcc.dsw: removed project sdcpp, added project xa51a
4106
4107         * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
4108           sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp:
4109         - removed compiler command line option /WX: Treats all warnings as errors
4110         - update a list of source files, included into the project
4111
4112         * sdcc/src/avr/avra.dsp, sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
4113           sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp:
4114         changed project type to Generic Project so that can be correcly converted to VS.NET project
4115
4116         * sdcc/as/mcs51/asm.h: definition of PATH_MAX for MSC
4117
4118         * sdcc/src/SDCCast.c: solved MSC error in function decorateType()
4119
4120         * sdcc/src/SDCC.y: added missing ending ';' to rules to get rid of bison warnings
4121
4122         * dcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c:
4123         added return 0 statements after assert() to make compiler happy
4124
4125         * sdcc/src/xa51/peeph.rul, sdcc/src/xa51/peeph.def, sdcc/src/z80/ralloc.c:
4126         added newline in the def file to keep MSC compiler satisfied
4127
4128         * sdcc/src/z80/gen.c:
4129         - function strcasecmp() is not defined in MSC (and probably also in BORLANDC),
4130           so it is replaced with STRCASECMP, which is defined as stricmp in case of MSC and BORLANDC
4131         - solved MSC error in function aopDump()
4132
4133         * sdcc_vc.h: define PREFIX as "\\sdcc"
4134
4135 2002-07-18  Bernhard Held <bernhard AT bernhardheld.de>
4136         * src/SDCCast.c (decorateType): fixed access to array of structures http://sourceforge.net/mailarchive/forum.php?thread_id=902690&forum_id=4107
4137
4138 2002-06-22  Scott Dattalo <scott AT dattalo.com>
4139         * src/pic/*: Numerous bug fixes. Flow analysis has been enhanced. 
4140         - Rewrote the register banking algorithm. 
4141         - Added pCode live-range analysis to registers (for now, only non-used and 
4142         singly-used registers optimized away)
4143
4144         * src/pic/pcoderegs.[ch]: Added new files for pCode live-range analysis
4145
4146         * support/scripts/inc2h.pl Kevin L. Pauba <klpauba AT cox.net> submitted this perl script for converting MicroChip include files into SDCC Pic include files.
4147         
4148 2002-05-10  Scott Dattalo <scott AT dattalo.com>
4149         * src/pic/*: Added support for multiplication. Fixed many,many bugs.
4150         
4151 2002-04-22  Michael Hope  <michaelh AT vroom>
4152
4153         * device/lib/z80/printf.c: Changed emitter to volatile to work around a pcall bug.
4154
4155         * configure.in (DD_COPT): Added include support required for gbdk.
4156
4157         * .version: Bumped version number just to increase it.
4158
4159         * src/SDCCmain.c: Added -nostdinc to the default options.
4160
4161 2002-04-15  Michael Hope  <michaelh AT vroom>
4162
4163         * device/lib/z80/printf.c (sprintf): Added.
4164
4165         * src/z80/ralloc.c (packRegisters): Disabled pack HL use for GB as it's broken.
4166
4167         * src/z80/peeph.def: Added transpose redundent load rule.
4168
4169         * src/z80/main.c: Added force callee saves for jaune.
4170
4171         * src/port.h: Removed the i186 and tlcs-900h ports as they weren't being being developed.
4172
4173         * src/SDCCmain.c: Pulled the options definition out so that you can add port specific options without changing the main file.
4174
4175 2002-03-28  Johan Knol  <johan AT balder>
4176
4177         * src/SDCCval.c: fixed bug #532436
4178
4179 2002-03-14  Scott Dattalo <scott AT dattalo.com>
4180         * /src/port.h:
4181         Added "char *Processor" field to the port structure.
4182
4183         * /src/SDCCmain.c:
4184         Added -p option. Allows port dependent processor to be specified.
4185
4186         * all ports:
4187         Initialized the new field char *Processor field to NULL in all ports
4188
4189         * /src/pic/*:
4190         Compiler generated registers for interrupt context saving
4191         were not getting allocated.
4192                 
4193 2002-03-16  Sandeep Dutta  <sandeep AT ddi.com>
4194
4195         * /src/SDCCast.c:
4196         Fixed left shift. Will promote the left side of a left shift
4197         if a) left shifting more than size of operand or b) when assigned
4198         to something size > size of left side
4199
4200 2002-03-14  Scott Dattalo <scott AT dattalo.com>
4201         * src/pic/*
4202         tons of changes. Register allocation has been 
4203         rewritten. Added customization for the various PICs. Flow
4204         analysis is restructured. ...
4205
4206         * src/pic/device.h:
4207         Added
4208
4209         * src/pic/device.c:
4210         Added. device.c is a PIC port hack to accomodate variations
4211         in PIC devices.
4212
4213 2002-03-13  Michael Hope  <michaelh AT vroom>
4214
4215         * src/z80/gen.c (genGenPointerGet): Fixed a bug where a pointer in HL is dereferenced into HL but HL is not spilled.  Yeah.
4216
4217 2002-03-04  johanknol  <johanknol AT manik>
4218
4219         * /src/SDCCval.c: fixed
4220
4221         const unsigned char arr[][2] = { { 0, 1 } };
4222         t18.c:1: error: Initializer element is not constant
4223
4224 2002-03-04  bela  <bela AT manik>
4225
4226         * /device/include/mcs51reg.h:
4227         ds89c420 register definition update
4228
4229 2002-03-03    <johan AT FRIJA>
4230
4231         * support/Util/SDCCerr.c: did something, but don't no why anymore
4232
4233         * support/regression/tests/bug-524691.c: made it a little less shy 
4234
4235         * src/SDCCast.c (decorateType): fixed bug #524697
4236
4237         * src/SDCCast.c: made some lineno improvements
4238
4239         * src/SDCCval.c (getNelements): changed warning to error
4240
4241         * src/SDCCglue.c (printIvalArray): changed warning to error
4242
4243         * src/SDCCicode.c: fixed a warning for mingw
4244
4245         * src/SDCCast.c (decorateType): fixed the << promotion for ops
4246
4247         * src/SDCCicode.c (geniCodeDivision): divide is shift only for unsigned (bug #524685)
4248
4249 2002-03-02  Sandeep Dutta  <sandeep AT ddi.com>
4250
4251         * src/ds390/peeph.def:
4252         Added some more peephole rules
4253
4254         * src/ds390/gen.c: Various fixes & enhancements
4255
4256         * src/SDCClrange.c, src/SDCClrange.h:
4257         functions "alldefsoutofrange" and "notusedinblock" moved to SDCClrange.c
4258
4259         * src/ds390/ralloc.c:
4260         various fixes & enhancements (ds390) specific
4261
4262         * src/avr/ralloc.c, src/mcs51/ralloc.c, src/pic/ralloc.c, src/xa51/ralloc.c, src/z80/ralloc.c:
4263         Functions "allDefsOutOfRange" & "notUsedinBlock" moved to SDCClrange.c
4264         from rallocs.
4265
4266         * sdcc/src/SDCCcse.c: Better fix for bug # 514308
4267
4268 2002-03-02    <johan AT FRIJA>
4269
4270         * src/SDCCast.c (decorateType): fixed bug #524708
4271
4272         * src/SDCCval.c (floatFromVal): fixed the literal void (whatever that may be)
4273
4274         * src/SDCCicode.c (geniCodePtrPtrSubtract): fixed bug #524691
4275
4276 2002-03-01  Michael Hope  <michaelh AT vroom>
4277
4278         * src/SDCCsymt.c (initCSupport): Removed managling of support function names.
4279
4280         * src/z80/ralloc.c (packRegsForIYUse): Fixed fp bug where four byte operands were packed into IY.
4281
4282 2002-03-01    <johan AT FRIJA>
4283
4284         * src/SDCCglue.c (printIvalPtr): fixed bug #524211
4285
4286         * src/SDCCast.c (decorateType): fixed bug #524209
4287
4288         * src/SDCCval.c (valNot): fixed bug #524195
4289
4290 2002-02-26    <johan AT balder>
4291
4292         * src/xa51/gen.c: fixed a warning
4293
4294         * src/SDCCglue.c (printIvalFuncPtr): fixed bug #522534
4295
4296         * src/SDCCast.c (decorateType): fixed bug #522534
4297
4298 2002-02-23    <johan AT balder>
4299
4300         * src/SDCCdflow.c (computeDataFlow): fixed bug #460088
4301
4302 2002-02-22    <johan AT balder>
4303
4304         * src/SDCCast.c: fixed bug #514865
4305
4306         * src/SDCCy.c ("SDCC.y"): fixed bug #516625
4307
4308 2002-02-21  Sandeep Dutta  <sandeep AT ddi.com>
4309
4310         * sdcc/src/SDCCloop.c:
4311         Previous fix was not good. basic blocks that have "break" or "return" are
4312         not really partof a loop , but live ranges used in these blocks should
4313         be live thru the entire loop, so set partOfLoop but don't add them to
4314         loop region
4315
4316 2002-02-21    <johan AT FRIJA>
4317
4318         * src/SDCCcse.c: fixed bug #514308
4319
4320 2002-02-20  Sandeep Dutta  <sandeep AT ddi.com>
4321
4322         * src/SDCCloop.c:
4323         Fixed BUG #519583. If a conditional block ended in a return/break
4324         statement inside a loop, it was not being considered part of the loop.
4325
4326         * src/SDCCcflow.c: Removed fix (Fixed in SDCCloop.c)
4327
4328 2002-02-10  Karl Bongers <karl AT turbobit.com>
4329
4330         * debugger/*:
4331         Fixed up SDCDB debugger somewhat.  Updated debugger/README
4332         with lots of comments and notes.
4333
4334         * device/examples/test2.c:
4335         Fix bug, "red" variable not being initialized(compiler complained).
4336
4337         * device/examples/Makefile, examples/test3.c:
4338         Add Makefile in device/examples folder, compiles test3.c
4339         for use as a multiple module SDCDB test case.
4340
4341         * sim/ucsim/cmd.src/cmdset.cc:
4342         Took out debug printfs in ucsim "next" command.
4343
4344         * sim/ucsim/xa.src:
4345         Karl and Johan start ucsim XA support.  Most dissassembly working,
4346         about 75% emulation done(plenty of work remaining).
4347
4348         * sim/ucsim/z80.src:
4349         Add Z80 support to ucsim, add test-ucz80 regression test,
4350         notice ucsim/z80 emulation fails on examples/test3.c/itoa code.
4351         Notice z80 compiler fails on examples/test3.c/crc code.
4352
4353 2002-01-30  Sandeep Dutta  <sandeep AT ddi.com>
4354
4355         * src/mcs51/gen.c, src/mcs51/main.c, src/mcs51/ralloc.c:
4356         Added support for --parms-in-bank1
4357
4358         * src/ds390/peeph.def:
4359         added a few more peephole optimzations
4360
4361         * src/ds390/main.c:
4362         1) added __builtin_inp & __builtin_outp used to read in data of given length
4363            from a memory mapped port
4364         2) added __builtin_memcmp
4365         3) added __builtin_swapw swap bytes of a short
4366
4367         * src/ds390/gen.c, src/ds390/gen.h, src/ds390/ralloc.c:
4368         1) handle multiple send & receives from register bank1
4369         2) ralloc can now allocate DPTR1 to some liveRanges
4370
4371         * src/SDCCsymt.c, src/SDCCsymt.h:
4372         changes to handle multiple sends & receives
4373
4374         * src/SDCCptropt.h:
4375         added some pointer arithmetic optimization
4376
4377         * src/SDCCptropt.c:
4378         added some pointer arithmetic optimizations but not stable yet so not
4379         called from anywhere (will get this working shortly)
4380
4381         * src/SDCCopt.c: fixed for multiple sends & receives
4382
4383         * src/SDCCmain.c:
4384         1) added options --parms-in-bank1 (ds390/mcs51) & --protect-sp-update
4385         2) preprocessing done AFTER port->finalizeoptions . This allows ports to
4386            set preprocessor defines (depending on options)
4387
4388         * src/SDCCicode.c, src/SDCCicode.h:
4389         changes made to handle multiple sends & receives
4390
4391         * src/SDCCglobl.h:
4392         Added options --protect-sp-update (ds390) and --parms-in-bank1 (ds390/mcs51)
4393
4394         * src/SDCCcse.c, src/SDCCcse.h:
4395         added function findbackward def (to be used in upcoming optimization)
4396
4397         * src/SDCCcflow.c, src/SDCCcflow.h:
4398         added function returnAtEnd - to determine if a basic block terminates with
4399         a RETURN iCode
4400
4401         * src/SDCCast.c, src/SDCCast.h:
4402         added option parms-in-bank1
4403
4404         * device/lib/_divsint.c, device/lib/_divslong.c, device/lib/_divuint.c 
4405         * device/lib/_divulong.c, device/lib/_modsint.c, device/lib/_modslong.c 
4406         * device/lib/_modulong.c, device/lib/_mulint.c, device/lib/_mullong.c:
4407         adjusted for --parms-in-bank1 option
4408
4409         * device/include/string.h:
4410         donot redefine "reentrant" keyword
4411
4412         * device/include/ds80c390.h: Added some more SFRs
4413
4414 2002-01-28  Bernhard Held  <bernhard AT bernhardheld.de>
4415
4416         * sim/ucsim: Merged branch ucsim-034-pre3 to main trunk; new version 0.4 
4417
4418 2002-01-26  Bernhard Held  <bernhard AT bernhardheld.de>
4419
4420         * src/SDCCast.c (funcOfType): fix usage of double --float-reent
4421
4422 2002-01-22  Bernhard Held  <bernhard AT bernhardheld.de>
4423
4424         * support/regression/fwk/lib/testfwk.c (main): Removed workaround for bug #505387
4425
4426 2002-01-18  Paul Stoffregen  <paul AT pjrc.com>
4427
4428         * Added --xram-movc option
4429
4430 2002-01-13  Bernhard Held  <bernhard AT bernhardheld.de>
4431
4432         * support/regression/Makefile: don't include test-mcs51-stack-auto in target all
4433
4434 2002-01-11  Johan Knol
4435
4436         * Added math lib of Jesus Calvino-Fraga
4437
4438 2002-01-08  Bernhard Held  <bernhard AT bernhardheld.de>
4439
4440         * src/SDCCmain.c (processFile): fix processing of ../../src.c
4441         * support/regression/Makefile: new target test-mcs51-stack-auto
4442         * support/regression/ports/mcs51-stack-auto/spec.mk: added
4443
4444 2002-01-04  Bernhard Held  <bernhard AT bernhardheld.de>
4445
4446         * src/SDCCglue.h: printIvalCharPtr(), not printIvalChar()
4447
4448 2002-01-04  Bernhard Held  <bernhard AT bernhardheld.de>
4449
4450         * support/regression/ports/mcs51/support.c: correct setup of timer / UART
4451
4452 2002-01-03  Bernhard Held  <bernhard AT bernhardheld.de>
4453
4454         * src/SDCCsymt.c (processFuncArgs): fix #498307 by Johan
4455
4456         * src/SDCCglue.h: add definition for printIvalChar()
4457
4458 2002-01-02  Bernhard Held  <bernhard AT bernhardheld.de>
4459
4460         * src/SDCCast.c: fix #498138 by Johan
4461
4462         * src/SDCCglue.c: fix #498138 by Johan
4463
4464 2002-01-02  Bernhard Held  <bernhard AT bernhardheld.de>
4465
4466         * support/regression/Makefile: fix clean
4467
4468         * support/regression/ports/ds390/support.c: fix transmission of last character
4469
4470 2001-12-29  Sandeep Dutta  <sandeep AT ddi.com>
4471
4472         * /sdcc/src/ds390/gen.c:
4473         a) improved computing address of stack variable
4474         b) took out some #if 0 code
4475         c) improved parmBytes adjustment
4476         d) improved genPlusIncr & genMinusIncr
4477         e) genCmp could generate bad code (when left assigned to DPTR)
4478         f) Fixed bug in hasInc
4479
4480         * /sdcc/src/ds390/ralloc.c:
4481         a) packRegsForSupport could mess up live information (Fixed)
4482         b) packRegsDPTRuse could be incorrect for left & right shift
4483
4484         * /sdcc/src/mcs51/ralloc.c:
4485         packRegsForSupport could mess up the live information (Fixed)
4486
4487         * /sdcc/src/mcs51/gen.c: Fixed a bug in hasInc
4488
4489         * /sdcc/src/SDCCast.c:
4490         can reverse a loop even if function call is present as long
4491         as the loop control variable is local & is not passed as parameter
4492
4493 2001-12-24  Sandeep Dutta  <sandeep AT ddi.com>
4494
4495         * /sdcc/ChangeLog: *** empty log message ***
4496
4497         * /sdcc/src/ds390/gen.c, /sdcc/src/ds390/main.c:
4498         More builtin function additions for TININative
4499
4500         * /sdcc/src/ds390/ralloc.c:
4501         Had broken the regression testsuite
4502
4503         * /sdcc/src/SDCCast.c: Fixed a bug in dumptree
4504
4505         * /sdcc/src/SDCCsymt.c, /sdcc/src/SDCCsymt.h:
4506         Added funcattr hasStackParms will be set for reentrant functions when there
4507         are paramteres on the stack, this helps in minimizing frame pointer generation
4508         typeFromStr can handle function pointers now
4509
4510         * /sdcc/doc/builtins.txt, /sdcc/doc/TININative.txt:
4511         *** empty log message ***
4512
4513 2001-12-24  Sandeep Dutta  <sandeep AT ddi.com>
4514
4515         * /src/ds390/gen.c, /src/ds390/main.c:
4516         More builtin function additions for TININative
4517
4518         * /src/ds390/ralloc.c:
4519         Had broken the regression testsuite
4520
4521         * /src/SDCCast.c: Fixed a bug in dumptree
4522
4523         * /src/SDCCsymt.c, /src/SDCCsymt.h:
4524         Added funcattr hasStackParms will be set for reentrant functions when there
4525         are paramteres on the stack, this helps in minimizing frame pointer generation
4526         typeFromStr can handle function pointers now
4527
4528         * /doc/builtins.txt, /doc/TININative.txt:
4529         *** empty log message ***
4530
4531
4532 2001-12-24  Sandeep Dutta  <sandeep AT ddi.com>
4533
4534         * /src/ds390/gen.c, /src/ds390/main.c, /src/ds390/peeph.def, /src/ds390/ralloc.c:
4535         ALPHA version for -mTININative
4536
4537         * /src/izt/i186.c, /src/izt/tlcs900h.c, /src/mcs51/main.c, /src/pic/main.c, /src/z80/main.c, /src/avr/main.c:
4538         updated to reflect changes in the port structure
4539
4540         * /src/port.h:
4541         added function do_assemble (similar to do_link) if non-null this function
4542         will be called to do assembly (-mTININative) requires a multi command
4543         assembly
4544         added function genAssemblerEnd will be called to generate assembler Epilogue
4545
4546         * /src/SDCCsymt.c:
4547         added _JavaNative to debug info printing
4548
4549         * /src/SDCCmain.c: added option --tini-libid
4550         added port->do_assemble function (-mTININative) has a multi command assemble
4551
4552         * /src/SDCCglue.c: Disabled "constExpr" check
4553         added port->genAssemblerEnd function
4554
4555         * /src/SDCCglobl.h: Added option --tini-libid value
4556
4557         * /src/SDCCast.h:
4558         tookout optimizeCompare from the header (has no external references)
4559
4560         * /src/SDCCast.c: made one more function "static"
4561
4562 2001-12-23  Michael Hope  <michaelh AT juju.net.nz>
4563
4564         * src/z80/mappings.i: Added z80asm support.
4565
4566         * src/z80/main.c: Added z80asm support on --asm=z80asm
4567
4568         * src/z80/gen.c: Fixed asm portability issues.
4569
4570         * src/asm.c (tvsprintf): Removed old code, added 'N' for function name.  For extern support.
4571
4572         * src/SDCCglue.c (printExterns): Added global/extern split.
4573
4574 2001-12-17  Bernhard Held  <bernhard AT bernhardheld.de>
4575
4576         * support/regression/Makefile: added test for mcs51 model large
4577
4578         * support/regression/ports/mcs51-large/spec.mk: added test for mcs51 model large
4579
4580         * support/regression/ports/gbz80/spec.mk: added -mgbz80
4581
4582 2001-12-05  Michael Hope  <michaelh AT juju.net.nz>
4583
4584         * src/diff.1 (Index): Many, many optmisiations.  Dhrystone up to 201.
4585
4586 1904-01-06  Michael Hope  <michaelh AT juju.net.nz>
4587
4588         * src/z80/ralloc.c (packRegsForIYUse): Fixed the case where an operand is in direct space.
4589
4590         * src/z80/gen.c (makeFreePairId): Optimised IY load by using a spare pair.
4591
4592 2001-12-02  Bernhard Held  <bernhard AT bernhardheld.de>
4593
4594         * src/mcs51/gen.c (genFunction): avoid excess "inc sp"
4595
4596         * support/regression/tests/simplefloat.c: Port to mcs51.
4597
4598 2001-11-25  Michael Hope  <michaelh AT juju.net.nz>
4599         * support/regression/tests/bug-485362.c: Added.
4600
4601         * support/regression/tests/simplefloat.c (testDivNearOne): Added.
4602
4603         * src/z80/gen.c (aopOp): Fixed case where left and result are in the same spill loc and they have different sizes.
4604
4605         * src/z80/peeph.def: Added rules for optimising two byte compares on the same thing, and to optimise two ptr assign.
4606
4607         * src/z80/gen.c (aopDump): Added a dump function.
4608
4609 2001-11-25  Bernhard Held  <bernhard AT bernhardheld.de>
4610         * sim/ucsim/s51.src/glob.cc: DS390 SFRs and bits added.
4611
4612         * sim/ucsim/s51.src/port.cc: Port 4 and 5 added.
4613
4614         * sim/ucsim/s51.src/regs51.h: DS390 SFRs added.
4615
4616         * sim/ucsim/s51.src/uc390.cc: Some details improved, CKRDY works for tinibios.
4617
4618         * sim/ucsim/s51.src/uc390cl.h: Work in progress.
4619
4620         * sim/ucsim/sim.src/uccl.h: 6 ports for DS390.
4621
4622         * support/regression/fwk/lib/testfwk.c: Run with tinibios.
4623
4624         * support/regression/ports/mcs51/spec.mk: Fine tuninig.
4625
4626         * support/regression/ports/ds390/support.c: Use tinibios.
4627
4628         * support/regression/ports/ds390/spec.mk: Fine tuning, use tinibios.
4629
4630 2001-11-23  Michael Hope  <michaelh AT juju.net.nz>support/regression/tests/bug-460010.c
4631
4632         * src/z80/ralloc.c (packRegsForHLUse3): Changed to not pack into HL if anything is in direct space.
4633         (packRegsForHLUse3): Added packing support for send, cast, and return value from a call.
4634
4635         * src/z80/peeph.def: Added rules for optimising pushes of part of a pair.
4636
4637         * src/z80/gen.c (emitCall): Changed the stack fixup to not use HL.
4638
4639 2001-11-18  Michael Hope  <michaelh AT juju.net.nz>
4640
4641         * src/z80/gen.c (genCmp): Fixed compare on unsigned.
4642
4643         * src/z80/ralloc.c (packRegsForHLUse3): Created and optimised.
4644         (packRegsForIYUse): Created and optimised.
4645
4646 2001-11-07  Michael Hope  <michaelh AT juju.net.nz>
4647
4648         * support/regression/tests/float.c (testFloatAdd): Fixed up warning.
4649 2001-11-18  Bernhard Held  <bernhard AT bernhardheld.de>
4650
4651         * sdcc/support/regression/tests/bug-460010.c: fix seg violation on host
4652
4653         * sdcc/support/regression/tests/muldiv.c: fix output on mcs51
4654
4655         * sdcc/support/regression/tests/stacks.c: fix DSEG overflow on mcs51
4656
4657 2001-11-07  Bernhard Held  <bernhard AT bernhardheld.de>
4658
4659         * sdcc/sim/device/lib/_gptrget.c: mem region 5 (idata) added
4660
4661         * sdcc/sim/device/lib/_gptrput.c: mem region 5 (idata) added
4662
4663 2001-11-07  Bernhard Held  <bernhard AT bernhardheld.de>
4664
4665         * sdcc/sim/ucsim/globals.cc: New: IXRAM.
4666
4667         * sdcc/sim/ucsim/stypes.h: New: IXRAM.
4668
4669         * sdcc/sim/ucsim/s51.src/uc390.cc: New: IXRAM.
4670
4671 2001-11-07  Michael Hope  <michaelh AT juju.net.nz>
4672
4673         * src/z80/ralloc.c (packRegsForHLUse): Banned IFXs from being packed into HL.
4674         (packRegsForHLUse): Added rule to pack address of/pointer get for itemps into HL for the Z80.
4675         (packRegsForAccUse2): Added rule to pack hbit IFXs into A.
4676
4677         * src/z80/main.c (_setDefaultOptions): Made float code re-entrant by default.
4678
4679         * src/z80/gen.c (aopGetLitWordLong): Added word support for floats.
4680         (genNotFloat): Added.
4681         (genUminusFloat): Added.
4682
4683         * device/lib/z80/Makefile: Added floating pt stubs.
4684
4685         * device/lib/Makefile.in (Z80SOURCES): Added floating pt support.
4686
4687         * src/z80/gen.c (genIpush): Fixed up a push of one byte when left is in a pair.
4688
4689         * device/lib/_fsadd.c (__fsadd): Fixed up return where the numbers are hugely different.
4690
4691 2001-11-07  Bernhard Held  <bernhard AT bernhardheld.de>
4692
4693         * sdcc/sim/ucsim/s51.src/glob.cc: Minor fix.
4694
4695         * sdcc/sim/ucsim/s51.src/regs51.h: Minor fix.
4696
4697         * sdcc/support/regression/Makefile: Add port ds390.
4698
4699         * sdcc/support/regression/ports/mcs51/spec.mk: Minor change.
4700
4701         * sdcc/support/regression/ports/z80/spec.mk: Minor change.
4702
4703         * sdcc/support/regression/ports/ds390/spec.mk: Added.
4704
4705         * sdcc/support/regression/ports/ds390/support.c: Added.
4706
4707         * sdcc/support/regression/ports/ds390/uCsim.cmd: Added.
4708
4709         * sdcc/support/regression/ports/mcs51/timeout.c: Cut.
4710
4711         * sdcc/support/regression/fwk/lib/timeout.c: Paste.
4712
4713 2001-11-04  Michael Hope  <michaelh AT juju.net.nz>
4714
4715         * device/include/malloc.h: Added z80 and gbz80 support.
4716
4717         * device/lib/gbz80/heap.s: Added.
4718
4719         * device/lib/z80/heap.s: Added.
4720
4721         * device/lib/malloc.c: Added z80 and gbz80 support.
4722
4723         * support/regression/tests/malloc.c (testMalloc): Added.
4724
4725         * src/SDCCmain.c (parseCmdLine): Added support for -Wp.
4726
4727         * support/regression/tests/bug-478094.c: Added.
4728
4729         * src/z80/gen.c (commitPair): Fixed silly gbz80/z80 commit to static bug.
4730
4731 2001-11-04  Bernhard Held  <bernhard AT bernhardheld.de>
4732
4733         * sdcc/sim/ucsim/s51.src/uc390cl.h: Improvement for ds390 to run regression tests
4734
4735         * sdcc/sim/ucsim/s51.src/uc390.h: Improvement for ds390 to run regression tests
4736
4737         * sdcc/sim/ucsim/s51.src/regs51.h: Improvement for ds390 to run regression tests
4738
4739         * sdcc/sim/ucsim/s51.src/glob.cc: Improvement for ds390 to run regression tests
4740
4741         * sdcc/support/regression/tests/bug-460010.c: Small change for ds390
4742
4743 2001-11-04  Michael Hope  <michaelh AT juju.net.nz>
4744
4745         * src/z80/peeph-gbz80.def: Removed a bad sub optimisation.
4746
4747 2001-11-03  Michael Hope  <michaelh AT juju.net.nz>
4748
4749         * support/regression/tests/bug-477927.c: Added.
4750
4751         * src/z80/peeph.def: Added minor rules.
4752
4753         * src/z80/gen.c (genPlusIncr): Added an extra plusinc rule.
4754
4755         * src/z80/peeph.def: Added jump optimisation modification.
4756
4757 2001-11-01  Michael Hope  <michaelh AT juju.net.nz>
4758
4759         * src/SDCCmain.c (linkEdit): Added runtime path detection to the mcs51 port.
4760
4761 2001-10-30  Michael Hope  <michaelh AT juju.net.nz>
4762
4763         * support/regression/tests/funptrs.c: Added.
4764
4765 2001-10-29  Michael Hope  <michaelh AT juju.net.nz>
4766
4767         * src/z80/ralloc.c (packRegsForHLUse): Fixed up bad spill due to pushing one byte via HL.
4768
4769 2001-10-28  Michael Hope  <michaelh AT juju.net.nz>
4770
4771         * src/z80/gen.c (genArrayInit): Made it work for on stack arrays.
4772
4773         * src/z80/main.c (gbz80_port =): Added rle support to the gbz80 port.
4774
4775         * src/z80/gen.c (genMinus): Fixed for where the result is one byte.
4776         (movLeft2ResultLong): Created.
4777
4778         * src/z80/ralloc.c (packRegsForHLUse): Added a couple of simple cases for the GB.
4779         (joinPushes): Added.  Joins two char pushes into a word push.
4780
4781 2001-10-27  Michael Hope  <michaelh AT juju.net.nz>
4782
4783         * support/cpp2/Makefile.in (install): Added creation of dest dir.
4784
4785         * support/makebin/Makefile (install): Added creation of dest dir.
4786
4787 2001-10-24 Karl Bongers <karl AT turbobit.com>
4788
4789         * configure.in, configure, Makefile, support/cpp: Removed cpp folder, since we have new cpp2 preprocessor code.
4790
4791 2001-10-21  Michael Hope  <michaelh AT juju.net.nz>
4792
4793         * src/z80/ralloc.c: Turned off faulty pack for one use.
4794
4795         * src/z80/peeph-gbz80.def: Removed redundent restart options.
4796
4797         * src/z80/gen.c (genMult): Added native mul for constants on the z80 and gbz80.
4798
4799 2001-10-21  Bernhard Held  <bernhard AT bernhardheld.de>
4800
4801         * support/regression/Makefile: Improved clean
4802
4803         * support/regression/ports/gbz80/spec.mk: Added clean
4804
4805         * support/regression/ports/host/spec.mk: Added clean
4806
4807         * support/regression/ports/z80/spec.mk: Added clean
4808
4809         * support/regression/ports/mcs51/spec.mk: Added clean, little improvements
4810
4811         * support/regression/ports/mcs51/timeout.c: little improvements
4812
4813 2001-10-17  Michael Hope  <michaelh AT juju.net.nz>
4814
4815         * device/lib/malloc.c (MEMHEADER): Fixed against new pedantic pointers.
4816
4817         * support/regression/fwk/include/testfwk.h: Fixed up to use function pts correctly.
4818
4819         * support/regression/generate-cases.py: Fixed up to use function pts correctly.
4820
4821 2001-10-16  Bernhard Held  <bernhard AT bernhardheld.de>
4822
4823         * support/regression/port/mcs51/spec.mk: add timeout for uCsim
4824
4825         * support/regression/port/mcs51/timeout.c: add timeout for uCsim
4826
4827 2001-10-13  Michael Hope  <michaelh AT juju.net.nz>
4828         * src/z80/gen.c (emitCall): Fixed up missing spill of HL when used to assign the result value.
4829
4830         * src/z80/ralloc.c: Turned off pack for one use as it's quite broken.
4831
4832         * src/SDCCmain.c (linkEdit): Added support for passing a legacy command line through the processor.
4833
4834         * src/mcs51/main.c (_linkCmd): Added bin path to command.
4835
4836         * src/SDCCmain.c (initValues): Added support for when it it called just to link.
4837
4838         * as/mcs51/lklibr.c (libfil;): Turned off 'library file' message.
4839
4840         * src/SDCCval.c (constVal): Fixed usage of 'L' modifier problems on ppc.
4841
4842         * support/regression/tests/longor.c: Added.
4843
4844 2001-10-11  Bernhard Held  <bernhard AT bernhardheld.de>
4845
4846         * as/mcs51/asdata.c: replaced FILENAME_MAX with PATH_MAX
4847
4848         * as/mcs51/aslink.h: define PATH_MAX
4849
4850         * as/mcs51/asm.h: define PATH_MAX
4851
4852         * as/mcs51/asmain.c: replaced FILENAME_MAX with PATH_MAX
4853
4854         * as/mcs51/asnoice.c: replaced FILENAME_MAX with PATH_MAX
4855
4856         * as/mcs51/lklex.c: replaced FILENAME_MAX with PATH_MAX
4857
4858         * as/mcs51/lkmain.c: replaced FILENAME_MAX with PATH_MAX
4859
4860         * src/SDCCglobl.h: define PATH_MAX
4861
4862         * src/SDCCmacro.c: replaced FILENAME_MAX with PATH_MAX
4863
4864         * src/SDCCmain.c: replaced FILENAME_MAX with PATH_MAX
4865
4866 2001-10-11  Michael Hope  <michaelh AT juju.net.nz>
4867
4868         * src/z80/gen.c (gencjneshort): Fixed
4869
4870         * src/z80/ralloc.c (packRegsForHLUse): Added pack into HL for cast then ipush.
4871
4872 2001-10-09  Michael Hope  <michaelh AT juju.net.nz>
4873
4874         * support/regression/tests/bug-469671.c: Added.
4875
4876         * src/z80/gen.c (shiftIntoPair): Fixed up warning.
4877
4878 2001-10-08  Michael Hope  <michaelh AT juju.net.nz>
4879
4880         * src/SDCCmain.c: Added --fommit-frame-pointer option and implemented in the z80 port.
4881
4882         * src/z80/gen.c (genPlus): Fixed to work with extended stack.  Also fixed genMinus, genCmp.  genUMinus is still left.
4883
4884 2001-10-08  Bernhar Held  <bernhard AT bernhardheld.de>
4885
4886         * src/SDCCmain.c (preProcess): added define SDCC_NOOVERLAY
4887
4888         * src/device/lib/_mulint.c  : removed hint: nooverlay bug
4889
4890         * src/device/lib/_mullong.c : removed hint: nooverlay bug
4891
4892         * src/device/lib/_divuint.c : removed hint: nooverlay bug
4893
4894         * src/device/lib/_divulong.c: removed hint: nooverlay bug
4895
4896         * src/device/lib/_moduint.c : removed hint: nooverlay bug
4897
4898         * src/device/lib/_modulong.c: removed hint: nooverlay bug
4899
4900 2001-10-07  Michael Hope  <michaelh AT juju.net.nz>
4901
4902         * 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.
4903
4904         * support/Util/NewAlloc.c (freeTrace): Changed free for the gc case to not free at all.  Fixes runtime segfault.
4905
4906         * support/regression/tests/scott-compare3.c (c_abcd): Fixed up casts.
4907
4908 2001-10-07    <johan AT FRIJA>
4909
4910         * device/lib/gets.c (gets): fixed the return value.
4911
4912 2001-10-06  Michael Hope  <michaelh AT juju.net.nz>
4913         * src/SDCCmain.c (WRITE_SEG_LOC): Fixed up to use Safe_strdup.
4914
4915         * 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.
4916
4917         * 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.
4918
4919         * src/z80/gen.c (genZ80Code): Added de-allocation via trace support.
4920
4921         * src/pic/gen.c: Removed Safe_strdup.
4922
4923         * configure.in: Added option to enable libgc support.
4924
4925         * src/SDCCbitv.c (bitVectnBitsOn): Optimised.
4926         (bitVectUnion): Optimised.
4927         (bitVectIntersect): Optimised.
4928         (bitVectBitsInCommon): Optimised.
4929         (bitVectCplAnd): Optimised.
4930
4931         * support/makebin/makebin.c (usage): Removed getopt as mingw32 doesn't have it.  Sigh.
4932
4933 2001-10-03 Bernhard Held <bernhard AT bernhardheld.de>
4934
4935         * src/SDCCmain.c: distinguish between assembler debug and plain options
4936
4937         * src/avr/main.c:   remove standard assembler options
4938
4939         * src/ds390/main.c: remove standard assembler options
4940
4941         * src/mcs51/main.c: remove standard assembler options
4942
4943         * src/port.h: removed "PENDING" comment
4944
4945 2001-10-03 Bernhard Held <bernhard AT bernhardheld.de>
4946
4947         * src/device/lib/_mulint.c  : new, with assember functions
4948
4949         * src/device/lib/_mullong.c : new, with assember functions
4950
4951         * src/device/lib/_divuint.c : with assember functions
4952
4953         * src/device/lib/_divsint.c : with assember functions
4954
4955         * src/device/lib/_divulong.c: with assember functions
4956
4957         * src/device/lib/_divslong.c: with assember functions
4958
4959         * src/device/lib/_moduint.c : with assember functions
4960
4961         * src/device/lib/_modsint.c : with assember functions
4962
4963         * src/device/lib/_modulong.c: with assember functions
4964
4965         * src/device/lib/_modslong.c: with assember functions
4966
4967         * src/device/lib/libint.lib:  replaced _muluint.c  and _mulsint.c  by _mulint.c
4968
4969         * src/device/lib/liblong.lib: replaced _mululong.c and _mulslong.c by _mullong.c
4970
4971         * src/device/lib/Makefile.in: replaced _muluint.c  and _mulsint.c  by _mulint.c
4972                                       replaced _mululong.c and _mulslong.c by _mullong.c
4973
4974 2001-10-03 Bernhard Held <bernhard AT bernhardheld.de>
4975
4976         * src/SDCCsymt.c: sequence of specifiers in pintTypeChain() corrected
4977
4978 2001-10-01 Bernhard Held <bernhard AT bernhardheld.de>
4979
4980         * src/SDCCglue.c: test, if win32api is available for MINGW
4981
4982 2001-10-01 Bernhard Held <bernhard AT bernhardheld.de>
4983
4984         * src/SDCCsymt.c: no more _modifier in printTypeChain()
4985         * support/regression/tests/driverstruct.c: REENTRANT for mcs51
4986         * support/regression/ports/gbz80/spec.mk: removed GENERIC
4987         * support/regression/ports/host/spec.mk: removed GENERIC
4988         * support/regression/ports/mcs51/spec.mk: removed GENERIC
4989         * support/regression/ports/z80/spec.mk: removed GENERIC
4990
4991 2001-10-01  Michael Hope  <michaelh AT juju.net.nz>
4992
4993         * support/regression/fwk/lib/testfwk.c (__printf): Removed GENERIC.
4994
4995         * support/regression/tests/bug-467035.c: Created.
4996
4997 2001-10-01    <johan AT FRIJA>
4998
4999         * src/SDCC.y: fixed bug #466586 part 1
5000
5001 2001-10-01  Johan Knol <johan.knol AT iduna.nl>
5002
5003         * SDCCicode.c: z80 has no generic pointers
5004         * removed -s from strip in all Makefile(.in)'s. It is not needed, but Solaris chocks on it.
5005         
5006 2001-09-30  Michael Hope  <michaelh AT juju.net.nz>
5007
5008         * sim/ucsim/cmd.src/Makefile.in ($(PRJDIR)/libcmd.a): Changed all ar references to $(AR) for Solaris.
5009
5010 2001-09-29  Michael Hope  <michaelh AT juju.net.nz>
5011
5012         * Makefile (sdcc-libs): Added makebin to the list of standard targets.
5013
5014         * support/regression/ports/z80/spec.mk: Updated to use env for sdcc bin dir for automatic regression.
5015
5016 2001-09-25  Michael Hope  <michaelh AT juju.net.nz>
5017
5018         * configure.in: Fixed up so that ucsim is only configured once.
5019
5020         * support/cpp2/configure.in: Fixed to use the program transform to append the .exe for the win32 build.
5021
5022         * src/SDCCutil.c (getPrefixFromBinPath): Fixed up to work with win32 in all of its glory.
5023         (getPathDifference): As above.
5024
5025         * src/SDCCmain.c (preProcess): Changed to use a temporary file in a proper temp directory.  Fixed case where pre-processing only.
5026
5027         * src/SDCCglue.c (tempfilename): Added function for pre-processor.
5028
5029 2001-09-23  Michael Hope  <michaelh AT juju.net.nz>
5030         * .version: Updated to 2.3.1
5031
5032         * src/z80/main.c (z80_port =): Added macro based linker and assembler command line support.
5033         Added copyright header.
5034
5035         * src/SDCCmain.c: Shifted various functions into SDCCutil.c
5036         (assemble): Added support for macro based assembler commands.
5037         (linkEdit): Added support for macro based linker commands.
5038         (preProcess): Changed the pre-processor to use macros.
5039         (_setPaths): Added functionality to autodetect the include, lib and bin dir paths.
5040         (_discoverPaths): Added support for overriding the install directory using the SDCCDIR env variable.
5041
5042         * device/lib/z80/crt0.s: Added module name for debugging.
5043
5044 2001-09-20  Michael Hope  <michaelh AT juju.net.nz>
5045
5046         * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
5047
5048         * src/SDCChasht.c (hTabDeleteByKey): Fixed delete as it would delete the last item from a bucket even if it wasn't the real one.
5049
5050         * src/SDCCglue.c: Moved gc_strdup to SDCCutil.c
5051
5052         * src/Makefile.in: Added SDCCmacro and SDCCutil
5053
5054 2001-09-19  Michael Hope  <michaelh AT juju.net.nz>
5055
5056         * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
5057
5058 2001-09-16    <johan AT FRIJA>
5059
5060         * 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.
5061
5062 2001-09-15    <johan AT FRIJA>
5063
5064         * src/mcs51/ralloc.c: (findAssignToSym): fixed bug #460662 part 1
5065         * src/ds390/ralloc.c (findAssignToSym): fixed bug #460662 part 1
5066
5067 2001-09-11    <johan AT FRIJA>
5068
5069         * src/SDCCval.c (valDiv Mod Minus Plus Shift): keep litteral expressions as small as possible (bug #460010)
5070
5071 2001-09-10  Michael Hope  <michaelh AT juju.net.nz>
5072
5073         * support/regression/tests/bug-460444.c: Added test case.
5074
5075         * src/z80/gen.c (genOr): bug 460444: if (a ^ lit) was broken for &, |, and ^.
5076         (genCast): Added justification for all of the asserts.
5077
5078 2001-09-10  Bernhard Held <bernhard AT bernhardheld.de>
5079
5080         * support/regression/support.c: _xdata replaced by xdata
5081
5082         * support/regression/spec.mk: removed _generic
5083
5084 2001-09-09  Michael Hope  <michaelh AT juju.net.nz>
5085
5086         * src/pic/ralloc.c (debugLogRegType): Removed some old types to get it to compile.
5087
5088         * src/z80/gen.c (shiftR2Left2Result): Improved the case when v = v >> n for small values of n to use less code space and time.
5089         (genrshTwo): Fixed v = v >> n where v is a negative int and n is > 8: bug 460010.
5090
5091         * src/z80/peeph.def: Added a rule to optimise shift then compare.
5092
5093         * support/regression/tests/bug-460000.c (testShiftByParam): Added test case.
5094
5095         * support/regression/tests/bug-460010.c: Added test case.
5096
5097         * support/regression/Makefile (test-host): Removed a silly 'clean' target when testing against gcc.
5098
5099 2001-09-09  Bernhard Held <bernhard AT bernhardheld.de>
5100
5101         * support/regression/Makefile: inter-port-clean adjusted for mcs51
5102
5103         * support/regression/testfwk.c: removed workaround for bug #436344
5104
5105         * support/regression/tests/bp.c: use less memory with mcs51
5106
5107         * support/regression/tests/bug-441448.c: use less memory
5108
5109         * support/regression/tests/ports/mcs51/spec.mk: cleanup, use --stack-after-data
5110
5111         * support/regression/collate-results.py: typo
5112
5113 2001-09-08  Michael Hope  <michaelh AT juju.net.nz>
5114
5115         * support/regression/tests/fetchoverlap.c: Added new test case.
5116
5117         * support/regression/tests/bp.c: Added new test case.
5118
5119         * support/regression/tests/bug-448984.c: Added new test case.
5120
5121         * support/regression/tests/pow2shifts.c: Added new test case.
5122
5123         * src/z80/gen.c: Turned off the noise it normally generates for the release.
5124         (genlshTwo): Fixed right shift for count > 8.
5125
5126         * src/z80/ralloc.c: Disabled most of the ACC packing rules as they weren't getting hit and weren't at all safe.
5127
5128 2001-09-08    <johan AT FRIJA>
5129
5130         * src/SDCCicode.c (geniCodeCall): a CPOINTER can be used as a function
5131
5132 2001-09-07    <johan AT FRIJA>
5133
5134         * src/SDCCicode.c (newiCodeCondition): fixed bug #456235 (1.77)
5135
5136         * src/SDCCglue.c (emitRegularMap): only delete a symbol when it is a symbol
5137
5138 2001-09-06    <johan AT FRIJA>
5139
5140         * src/SDCC.y: this could be a fix for bug #458744 (1.37)
5141         * bernhard noted me at this: "() equals to (void)" (1.38)
5142
5143 2001-09-05    <johan AT FRIJA>
5144
5145         * src/SDCCglue.c (emitRegularMap): a fix for bug #458099/2
5146
5147 2001-09-04    <johan AT FRIJA>
5148
5149         * src/SDCCsymt.c (checkSClass): a fix for bug #458099/1
5150
5151
5152 2001-09-04  Paul Stoffregen  <paul AT pjrc.com>
5153
5154         * pragma noinduction broke memcpy on mcs51 large model.  Moved it inside z80 optimization
5155
5156 2001-09-03  Michael Hope  <michaelh AT juju.net.nz>
5157
5158         * link/z80/aslink.h: Fixed path for PATH_MAX
5159
5160 2001-09-02  Michael Hope  <michaelh AT juju.net.nz>
5161
5162         * src/z80/gen.c (fetchLitPair): Changed so that it properly caches direct space references.
5163
5164         * support/regression/tests/addsub.c: Added cases to cover all the +, - combinations.
5165
5166         * support/regression/tests/uminus.c: Added a test for the unary minus operator.
5167
5168         * 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.
5169
5170 2001-09-01  Michael Hope  <michaelh AT juju.net.nz>
5171
5172         * src/z80/gen.c: Fixed up generator to pass the regresion tests, specifically fixing loads for longs, genCmp, and turned on the map file.
5173         (genCmp): Fixed up genCmp for the GB with longs.
5174
5175         * device/lib/gbz80/Makefile: Fixed up all the libraries to pass the regression tests.
5176
5177         * support/regression/ports/host/spec.mk: Updated to compile with the new type specifiers.
5178
5179         * device/lib/Makefile.in (Z80SOURCES): Removed old _mululong, _mulslong, and unneeded _mulint.
5180
5181         * device/lib/_mullong.c (_mulslong): Changed to actually return a value :)
5182
5183 2001-08-30  Paul Stoffregen  <paul AT pjrc.com>
5184
5185         * added peepholes 223 to 231 to mcs51 port.  These improve code when using large model.
5186
5187 2001-08-30  Michael Hope  <michaelh AT juju.net.nz>
5188
5189         * 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.
5190
5191         * src/z80/gen.c (genPlus): Changed bad long add for gb to a fall through.
5192
5193 2001-08-29  Michael Hope  <michaelh AT juju.net.nz>
5194
5195         * link/z80/aslink.h: Fixed long file name support.  Is now based off PATH_MAX instead of a constant.
5196
5197         * src/z80/gen.c: Fixed add and sub for the case where left or right are in static space.
5198
5199 2001-08-30 Bernhard Held   <bernhard AT bernhardheld.de>
5200
5201   * sim/ucsim/configure:    little improvement of Cygwin-detection      
5202   * sim/ucsim/configure.in: little improvement of Cygwin-detection      
5203   * sim/ucsim/cmd.src/newcmdcl.h: include <sys/types.h> to define fd_set automated build
5204   * support/regression/tests/bug-221100.c: small changes for mcs51
5205   * support/regression/tests/bug-221168.c: small changes for mcs51
5206   * support/regression/tests/bug-227710.c: small changes for mcs51
5207   * support/regression/tests/staticinit.c: small changes for mcs51
5208   * as/mcs51/aslink.h: accept everything as symbol name in rel-files, bug fix ID 452601
5209   * as/mcs51/lklex.c:  accept everything as symbol name in rel-files, bug fix ID 452601
5210   * as/mcs51/lksym.c:  accept everything as symbol name in rel-files, bug fix ID 452601