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