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