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