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