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