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