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