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