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