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