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