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