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