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