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