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