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