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