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