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