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