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