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