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