Fixed bug #748310 (pointer to function type mishandled when the
[fw/sdcc] / ChangeLog
1 2003-08-16  Erik Petrich <epetrich@ivorytower.norman.ok.us>
2
3         Fixed bug #748310 (pointer to function type mishandled when the
4         function name is omitted). Also fixed a SIGSEGV when a function
5         attribute (reentrant, etc) is used on a non-function or on a
6         function but misplaced before the parameter list.
7
8         * src/SDCC.y (abstract_declarator, abstract_declaractor2): fixed
9         bug #748310
10         * src/SDCC.y (declarator2_function_attributes): avoided SIGSEGV
11         * support/Util/SDCCerr.h,
12         * support/Util/SDCCerr.c: Added func attr misuse error msg
13
14 2003-08-13  Bernhard Held <bernhard@bernhardheld.de>
15
16         Fixed bug #787649 by anonymous
17         * src/SDCCglue.c (emitRegularMap): added emission of sloc for func ptr
18         * src/ds390/gen.c (aopForSym): fixed func ptr in sloc
19
20 2003-08-14  Erik Petrich <epetrich@ivorytower.norman.ok.us>
21
22         Fixed numerous bitfield problems.
23
24         * src/SDCC.y: More bitfield related error checking
25         * src/SDCCsymt.h,
26         * src/SDCCsymt.c (compStructSize): fixed bitfield offset calc
27         * support/Util/SDCCerr.h,
28         * support/Util/SDCCerr.c: Added & edited some bitfield err msgs
29         * src/mcs51/gen.c (genPackBits, genUnpackBits): fixed mask bugs
30         * src/ds390/gen.c (genPackBits, genUnpackBits): fixed mask bugs
31         * support/regression/tests/bitfields.c: tests added
32
33 2003-08-13  Erik Petrich <epetrich@ivorytower.norman.ok.us>
34
35         Made the constant following the "interrupt" keyword optional. If
36         omitted, the function will not automatically be given an entry
37         in the interrupt vector table (similar to #pragma NOIV, but
38         less syntacticly kludgy). The interrupt number is also now
39         range checked. Also fixed a bug in the high order bit example
40         in the manual.
41
42         * src/SDCC.y
43         * src/SDCCmem.c
44         * src/SDCCglue.c
45         * src/SDCCsymt.h
46         * support/Util/SDCCerr.c
47         * support/Util/SDCCerr.h
48         * doc/sdccman.lyx
49
50 2003-08-13  Bernhard Held <bernhard@bernhardheld.de>
51
52         * src/SDCCcse.c (algebraicOpts): fix bug converting op from value to type
53         * src/SDCCicode.c (operandOperation): rewritten some ops
54         (*, ==, unary_minus) to fix possible overflows and to accord with ANSI
55         * src/SDCCsymt.c (computeType): literals are handled the same way as any
56         other type
57         * src/SDCCval.c (cheapestVal): removed, it doesn't accord with ANSI (can
58         be re-activated by defining REDUCE_LITERALS)
59         * src/SDCCval.c (constVal): fixed; hex and octal constants can be
60         unsigned, but are signed by default
61         * src/SDCCval.c (constVal): rearranged
62         * src/SDCCval.c (valMod): preliminary fix
63         * src/SDCCval.c (valCastLiteral): use TYPE_* types
64         * support/regression/literalop.c: added, work in progress
65
66 2003-08-12  Erik Petrich <epetrich@ivorytower.norman.ok.us>
67
68         Generate warnings for useless declarations like "char data;"
69         that don't do what new users expect.
70
71         * src/SDCC.y
72         * support/Util/SDCCerr.h
73         * support/Util/SDCCerr.c
74
75 2003-08-09  Bernhard Held <bernhard@bernhardheld.de>
76
77         * src/SDCCval.c (valMult): fix overflow detection of negative int
78
79 2003-08-07  Erik Petrich <epetrich@ivorytower.norman.ok.us>
80
81         * src/z80/ralloc.c (joinPushes): made compatible with new signedness
82
83         Changes to support big endian targets:
84
85         * src/ports.h
86         * src/SDCCglue.c
87         * src/avr/main.c
88         * src/ds390/main.c
89         * src/izt/i186.c
90         * src/mcs51/main.c
91         * src/pic/main.c
92         * src/pic16/main.c
93         * src/xa51/main.c
94         * src/z80/main.c
95
96 2003-08-06  Bernhard Held <bernhard@bernhardheld.de>
97
98         * src/SDCCval.c (cheapestVal): changed behaviour to the same as constVal()
99         * device/lib/time.c: fixed warning "integer overflow in expression"
100
101 2003-08-05  Bernhard Held <bernhard@bernhardheld.de>
102
103         * src/SDCCval.c (cheapestVal, valueFromLit): use TYPE_* types
104         * src/SDCCval.c (constVal): changed default to signed; hex and octal
105         constants are unsigned; added recognition of "u" flag for unsigned
106         * src/SDCCval.c (valMult): fixed signdness, added warning for overflow
107         * src/SDCCval.c (valDiv, valMod): fixed signdness
108         * src/SDCCicode.c (operandOperation): fixed critical typo; fixed
109         signedness of modulo, left and right shift
110         * support/Util/SDCCerr.c: added warning "integer overflow in expression"
111         * support/Util/SDCCerr.h: added warning W_INT_OVL
112         * src/SDCCast.c (decorateType): fixed gcc3.3 warning
113         * src/SDCCast.c (ast_print): improved output of constants
114
115 2003-08-04  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
116
117         Fixed some warnings when building with MSVC:
118
119         * as\mcs51\asdata.c
120         * as\z80\asdata.c
121         * as\mcs51\asm.h
122         * as\z80\asm.h
123         * link\z80\aslink.h
124         * link\z80\lkdata.c
125         * link\z80\lkeval.c
126         * link\z80\lkgb.c
127         * link\z80\lkihx.c
128         * link\z80\lks19.c
129         * link\z80\lksym.c
130         * support\cpp2\cpplib.c
131         * src\ds390\gen.c
132         * src\mcs51\gen.c
133     
134 2003-08-03  Bernhard Held <bernhard@bernhardheld.de>
135
136         * src/SDCCast.c (constExprTree): fix bug #781827 by Carl Worth <cworth@isi.edu>
137
138 2003-08-01  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
139
140         * support\librarian\clean.mk: Do not remove Makefile.
141         * support\librarian\Makefile: added.
142
143 2003-08-01  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
144
145         Added librarian to MSVC build:
146         * all.dsp
147         * sdcc.dsw
148         * support\librarian\librarian.dsp
149
150         'configure' not needed for librarian, removed:
151         * support\librarian\configure
152         * support\librarian\configure.in
153         * support\librarian\config_in.h
154         * support\librarian\Makefile.in
155
156         Hopefully these ones built the librarian and the rest of sdcc properly:
157         * Makefile
158         * Makefile.common.in
159
160         Messed up 'configure', so revert to previous version:
161         * configure
162         * configure.in
163
164 2003-07-31  Bernhard Held <bernhard@bernhardheld.de>
165
166         * src/SDCCicode.c (operandOperation): 3. fix, this time for Alpha; ULONG has 64 bits
167         there, while the mantissa of a double is "only" 53 bits wide.
168
169 2003-07-31  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
170
171         Adding sdcclib to the build.  MSVC project coming soon.
172         Files added/changed:
173
174         * support\librarian\clean.mk
175         * support\librarian\configure
176         * support\librarian\configure.in
177         * support\librarian\config_in.h
178         * support\librarian\Makefile.bcc
179         * support\librarian\Makefile.in
180         * support\librarian\sdcclib.c
181         * Makefile.bcc
182         * Makefile
183         * Makefile.common.in
184         * configure
185         * configure.in
186
187 2003-07-29  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
188
189         Linker now complaints if linked modules have conflicting options, for
190         example, one compiled using --model-large and another one compiled with
191         --model-small.  The following files were modified:
192
193         * as\mcs51\asdata.c
194         * as\mcs51\aslink.h
195         * as\mcs51\asm.h
196         * as\mcs51\asmain.c
197         * as\mcs51\asout.c
198         * as\mcs51\i51pst.c
199         * as\mcs51\lkdata.c
200         * as\mcs51\lklibr.c
201         * as\mcs51\lkmain.c
202         * as\z80\asdata.c
203         * as\z80\asm.h
204         * as\z80\asmain.c
205         * as\z80\asout.c
206         * as\z80\z80pst.c
207         * link\z80\aslink.h
208         * link\z80\lkdata.c
209         * link\z80\lklibr.c
210         * link\z80\lkmain.c
211         * src\SDCCglue.c 
212
213 2003-07-28  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
214
215         *link/z80/aslink.h, link/z80/lklibr.c, as/mcs51/aslink.h,
216         as/mcs51/lklibr.c: Generate a warning when a library is not found.
217
218 2003-07-28  Bernhard Held <bernhard@bernhardheld.de>
219
220         * src/z80/mappings.i: fix _mul[us][int,long] entries
221
222 2003-07-26  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
223
224         *src/SDCCmain.c: do not search for crt0.o when using --nostdlib
225
226 2003-07-24  Bernhard Held <bernhard@bernhardheld.de>
227
228         * src/SDCCicode.c (operandOperation): really fixed problem with bitops
229         * support/regression/tests/bitopcse.c: added
230         fixed warning:
231         * src/avr/gen.c:
232         * src/pic/gen.c:
233         * src/pic16/gen.c:
234         * src/z80/gen.c:
235         * src/xa51/gen.c:
236
237 2003-07-24  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
238
239         added support for new library format to z80, gbz80 linkers:
240         *link/z80/aslink.h
241         *link/z80/lklex.c
242         *link/z80/lklib.c
243         *link/z80/lklist.c
244
245 2003-07-24  Bernhard Held <bernhard@bernhardheld.de>
246
247         * src/SDCCicode.c (operandOperation): fixed problem with bitops and 0xffffffff;
248         after {double d = 0xffffffff; long l = d;} l will be 0x80000000 (LONG_MIN)
249
250 2003-07-23  Bernhard Held <bernhard@bernhardheld.de>
251
252         added DUMMY_READ_VOLATILE:
253         * src/SDCC.y:
254         * src/avr/gen.c:
255         * src/xa51/gen.c:
256         * src/z80/gen.c:
257         * src/pic/gen.c:
258         * src/pic16/gen.c:
259         * src/mcs51/gen.c:
260         * src/ds390/gen.c:
261         * src/SDCCcse.c (algebraicOpts): many improvements
262         * src/SDCCcse.h: removed algebraicOpts()
263         * src/SDCCicode.c (picDummyRead): added
264
265 2003-07-23  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
266
267         * as/mcs51/lkmem.c: Changed message "Insufficient DRAM memory" to
268         "Insufficient space in data memory".
269
270 2003-07-20  Erik Petrich <epetrich@ivorytower.norman.ok.us>
271
272         * src/mcs51/gen.c: fixed bug #771358
273         * src/z80/gen.c: fixed bug #759087
274
275 2003-07-20  Bernhard Held <bernhard@bernhardheld.de>
276
277         * src/pic16/glue.c: minor cleanup by Vangelis
278
279 2003-07-19  Frieder Ferlemann <Frieder.Ferlemann@web.de>
280
281         * device/include/regc515c.h: fixed #758477
282         * device/lib/_gptrget.c: saving some cycles in generic pointer get
283         * device/lib/_gptrput.c: saved a few bytes
284         * my tab spacing is 8, yours too?)
285         * device/lib/_ser.c: process RX bytes earlier than TX bytes
286         * device/lib/serial.c: process RX bytes earlier than TX bytes
287         * src/mcs51/gen.c(genGenPointerGet/Set): removed writing of type after postincrement
288
289 2003-07-18  Erik Petrich <epetrich@ivorytower.norman.ok.us>
290
291         * src/z80/gen.c: fixed some right shift bugs (#772726 among them)
292
293 2003-07-17  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
294
295     * link/z80/lklibr.c: fixed bug when there is a '.' in a library path.
296
297 2003-07-17  Bernhard Held <bernhard@bernhardheld.de>
298
299         * device/lib/Makefile.in: bad fix, reverted to 1.43
300
301 2003-07-16  Bernhard Held <bernhard@bernhardheld.de>
302
303         * device/lib/Makefile.in: added missing z80 object files
304
305 2003-07-14  Bernhard Held <bernhard@bernhardheld.de>
306
307         * src/SDCCcse.c (algebraicOpts): CSE fun with &|^ and 0x00/0xff literals
308         pic16 progress by Vangelis:
309         * src/SDCCglobl.h:
310         * src/SDCCmain.c:
311         * src/pic/Makefile:
312         * src/pic:
313         * pic/Makefile:
314         * pic16/device.c:
315         * pic16/device.h:
316         * pic16/gen.c:
317         * pic16/gen.h:
318         * pic16/genarith.c:
319         * pic16/glue.c:
320         * pic16/main.c:
321         * pic16/pcode.c:
322         * pic16/pcode.h:
323         * pic16/pcodepeep.c:
324         * pic16/peeph.def:
325
326 2003-07-13  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
327
328     * src/SDCCmain.c, src/SDCCglobl.h: added option --no-std-crt0
329
330 2003-07-12  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
331
332     * sdcc.dsw, all.dsp, link/z80/linkgbz80.dsp, as/z80/as-gbz80.dsp:
333     added gbz80 build to MSVC project.
334     * src/SDCCmain.c, src/SDCCglue.c, src/z80/main.c, src/z80/z80.dsp,
335     link/z80/aslink.h, linkz80.dsp: cleaned up z80 and gbz80 asm files
336     from 8051 stuff and setup so it links using a .lnk file.
337
338 2003-07-06  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
339
340     * support/librarian/sdcclib.c: sdcc librarian.
341     * as/mcs51/aslink.h, as/mcs51/lklib.c: Support for libraries created
342     with sdcclib.
343
344 2003-07-03  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
345
346     * as/mcs51/lkmain.c: properly handle extensions in function afile.
347
348 2003-07-02  Borut Razem <borut.razem@siol.net>
349
350         * src/port.h, src/SDCCmain.c, src/pic/glue.h, src/pic/main.c,
351         src/pic16/glue.h, sdcc/src/pic16/main.c, src/izt/i186.c,
352         src/izt/tlcs900h.c, src/avr/main.c, src/ds390/main.c, src/mcs51/main.c,
353         src/xa51/main.c, src/z80/main.c:
354         virtualization of glue() function: each port has it's own glue function,
355         which is accessed by do_glue function pointer in PORT.general structure
356
357 2003-07-01 Kevin Vigor <kevin@vigor.nu>
358
359         * DS800C400 fun, improved ROM interface and tinibios.
360
361 2003-06-27 Kevin Vigor <kevin@vigor.nu>
362
363         * More support for DS80C400. Now includes beginning of interface to ROM.
364
365 2003-06-25  Bernhard Held <bernhard@bernhardheld.de>
366
367         * src/mcs51/gen.c (gencjneshort): fixed bug #760345
368
369 2003-06-20  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
370
371         * as/mcs51/lkaomf51.c: Make sure the size of the last procedure is correct.
372
373 2003-06-19  Borut Razem <borut.razem@siol.net>
374
375         * src/z80/main.c: fixed Z80 port again: missing -k library paths in linker command line
376
377 2003-06-19  Borut Razem <borut.razem@siol.net>
378
379         * src/SDCCutil.h, src/SDCCutil.c, src/SDCCglobl.h, src/SDCCmain.c, src/z80/main.c:
380         fixed Z80 port - crt0.o: cannot open.
381
382 2003-06-19  Bernhard Held <bernhard@bernhardheld.de>
383
384         * support/Util/MySystem.c (merge_command): revert bad fix
385
386 2003-06-18  Borut Razem <borut.razem@siol.net>
387
388         * src/SDCC.lex, src/SDCCmain.c: fixed some warnings, introduced with changes made 15.06.1003
389
390 2003-06-18  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
391
392         * src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx:
393         option --use-stdout sends errors to stdout instead of stderr.
394
395 2003-06-18  Bernhard Held <bernhard@bernhardheld.de>
396
397         * support/Util/MySystem.c (merge_command): quick fix for Linux segfault with \"cmd\" arg
398
399 2003-06-15  Borut Razem <borut.razem@siol.net>
400
401         * support/cpp2/sdcc.h: HAVE_DOS_BASED_FILE_SYSTEM defined for _WIN32
402         * src/SDCC.lex: cloneXxx and copyAndFreeXxx functions for options and optimize stack handling
403         * src/SDCCglobl.h, src/SDCCmain.c, src/ds390/main.c, src/mcs51/main.c, src/z80/main.c:
404         fixed width array of pointers replaced with sets;
405         multiple include and lib paths ared transferred to preprocessor and linker
406         * src/SDCCset.c, src/SDCCset.h: added function setFromSetNonRev() and mergeSets()
407         * src/SDCCsymt.c: reimplemented function inCalleeSaveList() by using sets instead
408         fixed width array of pointers
409         * src/SDCCutil.c, src/SDCCutil.h: added functions fputStrSet(), appendStrSet(), joinStrSet();
410         removed functions addToList(), join(), joinn(), pathCharsEquivalent(), pathCharTransform(),
411         fixupPath(), getPathDifference()
412         * src/ds390/gen.c, src/mcs51/gen.c: reimplemented function  inExcludeList() by using sets instead
413         fixed width array of pointers
414
415 2003-06-11  Bernhard Held <bernhard@bernhardheld.de>
416
417         * src/pic16/ralloc.c: fix warnings
418         * src/pic16/pcode.c: fix warning
419
420 2003-06-10  Scott Dattalo  <scott@dattalo.com>
421
422          Scott D. for Vangelis Rokas (vrokas@otenet.gr). I (scott) don't
423         know all the details, but essentially this set of changes enable
424         the pic16 port to generate movff instructions and generate assembler
425         directives,
426         * src/SDCCmain.c:
427         * src/pic16/gen.c:
428         * src/pic16/glue.c:
429         * src/pic16/pcode.c:
430         * src/pic16/device.c:
431         * src/pic16/main.c:
432         * src/pic16/pcode.h:
433         * src/pic16/pcoderegs.c:
434         * src/pic16/ralloc.c:
435         * src/pic16/ralloc.h:
436
437 2003-06-08  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
438
439         * support/Util/SDCCerr.c, src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx:
440         added option --vc, so sdcc errors and warnings are compatible with
441         Microsoft Visual Studio.
442
443 2003-06-07  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
444
445         * device/lib/_atof.c, device/lib/Makefile.in, device/include/stdlib.h,
446           device/lib/libfloat.lib: added atof function.
447
448 2003-06-04  Bernhard Held <bernhard@bernhardheld.de>
449
450         * doc/sdccman.lyx: updated to Lyx 1.3
451         * doc/cdbfileformat.lyx: updated to Lyx 1.3
452         * doc/test_suite_spec.lyx: updated to Lyx 1.3
453         * doc/Makefile: added fix for the \tabularnewline problem, thanks to Jesus
454
455 2003-06-03  Bernhard Held <bernhard@bernhardheld.de>
456
457         * src/SDCCpeeph.c: separate peepRules2pCode() for pic16 by "Vangelis Rokas" <vrokas@otenet.gr>
458
459 2003-06-02  Frieder Ferlemann <Frieder.Ferlemann@web.de>
460
461         * doc/sdccman.lyx: cvs revision keywords, passing pdf information in latex preamble,
462           additions to the "related tools/documentation" section
463
464 2003-06-02  Bernhard Held <bernhard@bernhardheld.de>
465
466         * src/SDCCglue.c (tempfileandname): added check for missing TMP/TEMP/TMPDIR variable
467
468 2003-05-29  Bernhard Held <bernhard@bernhardheld.de>
469
470         * src/pic/device.c: added 16F819, patch by "David I. Lehn" <dlehn@vt.edu>
471         * src/SDCCcse.c (algebraicOpts): fixed "c * 1"
472
473 2003-05-28  Bernhard Held <bernhard@bernhardheld.de>
474
475         * doc/sdccman.lyx: fix double dash and other minor things
476         * doc/Makefile: fix double dash
477
478 2003-05-28  Karl Bongers(patches from Martin Helmling)
479         * debugger/mcs51/sdcdb.c,cmd.c,break.c and .h files. Martin adds
480           condition and ignore commands.
481
482 2003-05-28  Frieder Ferlemann <Frieder.Ferlemann@web.de>
483
484         * doc/sdccman.lyx: Changes all over, index improved, smaller margins. The manual
485           is in parts still quite out of date, I did changes as far as I felt makes sense
486           for a non-native english speaker.
487           Please feel free to add to the manual or to correct my changes.
488         * doc/Makefile: undid touching the date of intermediate tex files.
489
490 2003-05-26  Frieder Ferlemann <Frieder.Ferlemann@web.de>
491
492         * doc/sdccman.lyx: Manual has an index now
493
494 2003-05-25  Bernhard Held <bernhard@bernhardheld.de>
495
496         Finalize muluint/mulsint and mululong/mulslong merging:
497         * device/lib/_mulint.c
498         * device/lib/_mullong.c
499         * device/lib/gbz80/mul.s
500         * device/lib/gbz80/stubs.s
501         * device/lib/z80/mul.s
502         * device/lib/z80/stubs.s
503         * src/SDCCsymt.c (initCSupport)
504
505 2003-05-25  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
506
507         * as/mcs51/lkaomf51.c: Address space 'z' was missing.
508         * src/avr/avr.dsp, src/ds390/ds390.dsp, src/mcs51/mcs51.dsp,
509           src/pic/pic.dsp, src/pic16/pic16.dsp, src/xa51/xa51.dsp,
510           src/x80/z80.dsp: peep.rul is bigger now, so /Zm1000 is used
511           instead of /Zm500.
512
513 2003-05-25  Frieder Ferlemann <Frieder.Ferlemann@web.de>
514
515         * src/mcs51/peeph.def: added rules 244.x, 245.x. Although they pass
516           the regression tests I'm not brave enough to enable 245.b, 245.c
517         * doc/sdccman.lyx: added latex preamble for hyperref package.
518           Using pdflatex this will give you a hyperlinked pdf file with
519           bookmarks. (prepend '%' before /usepackage if this breaks something)
520
521 2003-05-24  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
522
523          * doc/sdccman.lyx: updated information about .adb files (fixed bug 742649)
524          
525 2003-05-22  Bernhard Held <bernhard@bernhardheld.de>
526
527         * src/pic16/pcode.c (pic16_get_op_from_instruction): fixed a gcc 3.x warning
528
529 2003-05-21    <johan@balder>
530
531         * src/SDCCglue.c (printIval): fixed bug #739934
532
533 2003-05-19  Bernhard Held <bernhard@bernhardheld.de>
534
535         Applied patch from bug 737905 (renamed yylineo to mylineno):
536         * src/altlex.c
537         * src/SDCCast.c
538         * src/SDCglobl.h
539         * src/SDCC.lex
540         * src/SDCCsymt.c
541         * src/SDCCval.c 
542         * src/pic16/pcode.c: Cleaned warnings
543         * src/pic16/pcodeflow.c: Cleaned warnings
544         * src/pic16/pcoderegs.c: Cleaned warnings
545
546 2003-05-19  Scott Dattalo  <scott@dattalo.com>
547
548         * src/pic16/pcode.c: Cleaned warnings
549         * src/pic16/pcodepeep.c: Cleaned warnings
550         * src/pic16/ralloc.c: Cleaned warnings
551
552 2003-05-19  Bernhard Held <bernhard@bernhardheld.de>
553
554         * doc/sdccman.lyx: fixed bug 739745
555         * src/pic16/pcode.c (pic16_get_op): fixed warning on alpha
556
557 2003-05-18  Bernhard Held <bernhard@bernhardheld.de>
558
559         * src/port.h: removed DEFAULT_PORT, it's not yet pic16 ;-)
560         it can be defined with CFLAGS when running configure
561         * src/SDCCmain.c: fixed compiling + linking with object files
562
563 2003-05-18  Vangelis Rokas (vrokas@otenet.gr)
564
565         * configure.in: configure for pic16 port,
566             added --disable-pic16-port
567         * sdccconf_in.h: added macro OPT_DISABLE_PIC16
568         * src/SDCCmain.c: linkOptions is changed to set *,
569             added if/endif conditional macros to remove options help
570             messages from optionsTable when a port is not configured, added
571             support for the PIc16 port in the ports table, when executing
572             the compiler with no port specified on command line, a default
573             port is selected with the new macro DEFAULT_PORT which is
574             defined in port.h, in setDefaultOptions() linkOptions is removed
575             from initialization assignment, since now it is a set,
576             parseCmdLine uses setParseWithComma for linkOptions, in
577             linkEdit() linkOptions are accessed with new function indexSet()
578             which returns the i'th item of a set variable. See SDCCset.c, in
579             linkEdit() when calling buildCmdLine(), added linkOptions as
580             last argument. Now users can pass arguments to gplink via the
581             -Wl option, main() uses pic16glue() to glue up pic16 programs
582         * src/SDCCpeeph.c: various changes to support pic16
583         * src/SDCCset.c: added function  void *indexSet(set *, int)  to
584             return the i'th item of the set
585         * src/SDCCset.h: added function prototype for indexSet()
586         * src/SDCCsymt.c: in checkSClass(), added support for PIC16
587         * src/clean.mk: added pic16 in CLEANALLPORTS variable
588         * src/port.h: added TARGET_ID_PIC16,TARGET_IS_PIC16 macro,
589             added macro DEFAULT_PORT
590         * src/pic/main.c: corrected arguments of gplnk in _linkCmd
591         * src/pic16/gen.c: bug fix in genCpl(), now the correct code is
592             generated
593         * src/pic16/glue.c: commented out some error producing lines
594         * src/pic16/main.c: __config directives are commented out to stop
595             gpasm complaining and test the linkage with gplink, _linkCmd and
596             _asmCmd changed to be more gplink and gpasm friendly
597         * src/pic16/peeph.def: peep rule 3 is commented out, since it
598             produced an error when parsed, peep rule 12 is added to utilize
599             movff, but it is commented out since the pCode does not support
600             yet a command with 2 address arguments
601
602 2003-05-18    <johan@balder>
603
604         * src/ds390/gen.c (genArrayInit): removed obsolete and buggy ARRAYINIT
605         * src/ds390/main.c (genArrayInit): removed obsolete and buggy ARRAYINIT
606 2003-05-17  Karl Bongers(apply patches from Martin Helmling)
607
608         * debugger/mcs51/sdcdb.c,cmd.c,break.c and .h files.
609   Added feature to script commands from file.
610
611 2003-05-14  Bernhard Held <bernhard@bernhardheld.de>
612
613         * device/lib/_strtok.c: fixed bug #734355 by Lenny Story and Tim Woodall
614         * src/SDCCutil.c: include ctype.h for win32
615
616 2003-05-13  Bernhard Held <bernhard@bernhardheld.de>
617
618         * src/pic16/*: removed CR from many files, reported by Vangelis Rokas
619
620 2003-05-12  Karl Bongers(apply development patches from Martin Helmling)
621
622         * debugger/mcs51/sdcdb.c,simi.c,cmd.c,break.c and .h files.
623   Fixed so you can set breakpoints prior to run, run does not stop
624   on entry now.  Add tbreak.  Other enhancements and fixes for use
625   with ddd.
626
627 2003-05-12  Borut Razem <borut.razem@siol.net>
628
629         * src/SDCCmain.c: fixed the problem with searching the DATADIR as the last resort on *nix
630
631 2003-05-11  Borut Razem <borut.razem@siol.net>
632
633         * src/SDCCutil.c: WIN32 version of getBinPath() calls GetModuleFileName() to determine
634         the path of bin directory, so that PATH is the only env. variable, which has to be set
635         in case of standard installation.
636         * src/ds390/ds390.dsp: increased value of /Zm option to 1000
637         * src/pic/main.c: add quotes to file name parameters for gplink and gpasm
638         * src/SDCCglobl.h, src/SDCCmain.c, doc/sdccman.lyx: added --print-search-dirs command line option
639
640 2003-05-04  Bernhard Held <bernhard@bernhardheld.de>
641
642         * src/SDCCmain.c (linkEdit): fixed buffer overflow for gbz80
643         * support/regression/Makefile: inter-port-clean is no longer nesessary, the
644         temp files are in the port dir; clean the gen/test directory when
645         generating new test.c
646         * support/regression/ports/host/spec.mk: defined OBJEXT for target clean
647         * support/regression/tests/vaargs.c: fixed gcc 3.3 warning
648         * support/regression/tests/zeropad.c: added
649
650 2003-05-09    <johan@balder>
651
652         * src/SDCCglue.c: fixed bug #597940
653
654 2003-05-05  Karl Bongers(apply patches from Martin Helmling)
655
656         * debugger/mcs51/sdcdb.c,simi.c,cmd.c,symtab.c and .h files.
657   cache sfr, optimize next,step, fix off by one sourceline,
658   support ddd list function.
659         * sim/ucsim/cmd.src/newcmd.cc - small fix for sdcdb use.
660
661 2003-05-04  Bernhard Held <bernhard@bernhardheld.de>
662
663         * support/regression/HTMLgen.py: added compare_s2f()
664         * support/regression/Makefile: redo 1.27
665         * support/regression/generate-cases.py: redo 1.5
666
667 2003-04-30  Bernhard Held <bernhard@bernhardheld.de>
668
669         * support/regression/tests/float.c: workaround 33 bit hex constant
670         * support/regression/tests/simplefloat.c: fix division for host
671
672 2003-04-29  Scott Dattalo  <scott@dattalo.com>
673
674         * src/pic/pcoderegs.c Applied patch from Jim Hawkridge <jim@jimhawkridge.uk.eu.org>
675         that tame's the PIC's over-aggressive optimizer.
676
677 2003-04-29  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
678
679          * src.dsw, link/z80/aslink.h, link/z80/linkz80.dsp: z80 linker
680          support for MSVC.
681          
682 2003-04-29  Kevin Vigor <kevin@vigor.nu>
683
684         Initial support for DS80C400. "Hello world" runs on TINIm400
685         (with polled I/O).
686
687 2003-04-28  Karl Bongers(apply patches for Martin Helmling)
688
689          * debugger/mcs51/sdcdb.c,simi.c,cmd.c,symtab.c and .h files.
690          * Some notes on ddd usage added in debugger/README
691          Martin Helmling adding more features and fixes for ddd GUI debugger.
692          Code added for nexti, stepi, up, down, and other adjustments.
693
694 2003-04-28  Scott Dattalo  <scott@DATTALO.COM>
695
696         * src/pic/pCodepeep.c non-wildcard asmops are now handled
697         * src/pic/peeph.def Added two rules to optimize carry manipulation
698         * src/pic/* removed debug printfs
699
700 2003-04-28  Bernhard Held <bernhard@bernhardheld.de>
701
702         * debugger/mcs51/cmd.c: added header newalloc.h
703
704 2003-04-26  Bernhard Held <bernhard@bernhardheld.de>
705
706         * as/Makefile: new EXEEXT
707         * as/z80/Makefile: remove trailing slash of BUILDIR
708         * as/z80/clean.mk: new EXEEXT
709         * Makefile.common.in: add to CFLAGS (and others), don't replace it
710         * support/cpp2/Makefile.in: new EXEEXT
711         * src/pic/glue.c (pic14emitRegularMap): fixed warning
712
713 2003-04-24  Bernhard Held <bernhard@bernhardheld.de>
714
715         Cygwin's gcc always appends .exe: 'gcc -o a a.c' creates a.exe;
716         EXEEXT was introduced to fix all related problems with targets
717         "clean", "install" and "uninstall"; a couple of further flaws
718         especially with "clean" have been fixed too
719         * as/mcs51/Makefile.in
720         * as/mcs51/clean.mk
721         * as/z80/Makefile
722         * Makefile
723         * clean.mk
724         * debugger/mcs51/Makefile.in
725         * debugger/mcs51/clean.mk
726         * link/z80/Makefile
727         * link/z80/Makefile.in
728         * link/z80/clean.mk
729         * link/Makefile
730         * packihx/Makefile.in
731         * packihx/clean.mk
732         * sim/ucsim/Makefile
733         * sim/ucsim/clean.mk
734         * sim/ucsim/avr.src/Makefile.in
735         * sim/ucsim/avr.src/clean.mk
736         * sim/ucsim/s51.src/Makefile.in
737         * sim/ucsim/s51.src/clean.mk
738         * sim/ucsim/xa.src/Makefile.in
739         * sim/ucsim/xa.src/clean.mk
740         * sim/ucsim/z80.src/Makefile.in
741         * sim/ucsim/z80.src/clean.mk
742         * sim/ucsim/main_in.mk
743         * sim/ucsim/packages_in.mk
744         * sim/ucsim/gui.src/Makefile.in
745         * sim/ucsim/gui.src/serio.src/Makefile.in
746         * sim/ucsim/gui.src/serio.src/clean.mk
747         * src/Makefile.in
748         * src/clean.mk
749         * support/cpp2/Makefile.in
750         * support/cpp2/clean.mk
751         * support/makebin/Makefile
752         * support/makebin/clean.mk
753         * support/scripts/sdcc_mingw32: --program-suffix no longer needed
754         * doc/sdccman.lyx: --program-suffix no longer needed
755
756 2003-04-23  Karl Bongers(apply patches for Martin Helmling)
757
758          * debugger/mcs51/sdcdb.c,simi.c,cmd.c,..
759          Martin Helmling added support for ddd GUI debugger.
760          Code added to display assembly, set variables, and other commands
761          to interface to ddd.
762
763 2003-04-23  Bernhard Held <bernhard@bernhardheld.de>
764
765         * as/Makefile: fix target clean
766         * as/clean.mk: fix target clean
767         * as/z80/clean.mk: fix target clean
768
769 2003-04-22  Bernhard Held <bernhard@bernhardheld.de>
770
771         * Makefile.common.in: added @EXEEXT@
772         * configure.in: removed all mingw32 stuff
773         * configure: rebuilt from configure.in
774         * doc/sdccman.lyx: updated section "installation"
775         * support/scripts/sdcc_mingw32: adapted to configure
776         * support/scripts/sdcc_cygwin_mingw32: added
777
778 2003-04-22  Scott Dattalo  <scott@dattalo.com>
779
780         * src/pic Added object file support for the PIC port
781         * src/pic Applied patch from Craig Franklin (this started the object file support)
782         * src/regression Updated the PIC regression tests for object files
783
784 2003-04-20  Borut Razem <borut.razem@siol.net>
785
786         * sdcc/as/mcs51/lklex.c: make getfid() more robust and fixed gcc warning:
787           lklex.c: In function `getfid':
788           lklex.c:203: warning: array subscript has type `char'
789         * src/SDCCglobl.h: small change in stack handling macros, to avoid crash when compiled
790           with MSVC with global optimization enabled (probably an cl compiler bug ;-)
791         * support/Util/SDCCerr.c, support/Util/SDCCerr.h: added function fatal(), called from
792           stack handling macros
793
794 2003-04-19  Borut Razem <borut.razem@siol.net>
795
796         * "handling space characters in file path" task:
797         * src/SDCCmacro.c: fixed bug in handlig quote at the end of line
798         * support/Util/BuildCmd.c: define par as NULL if parameter value is invalid
799         * support/Util/MySystem.h: make it self-sufficient
800         * src/avr/main.c, src/ds390/main.c, src/mcs51/main.c, src/pic/main.c, src/xa51/main.c,
801           src/z80/main.c, sdcc/as/mcs51/lklex.c:
802           handling space characters in file path
803         * src/SDCCmain.c: introduced setDataPaths() function, {datadir} macro
804           (it will be used by assemblers, which have their own includes, e.g. gpasm)
805         * support/Util/MySystem.c: handling space characters in executable's path
806
807 2003-04-19  Bernhard Held <bernhard@bernhardheld.de>
808
809         * as/z80/Makefile: fix permanent rebuild of z80
810         * sim/ucsim/gui.src/Makefile.in: target "install" builds the same packages as target "all"
811         * support/regression/tests/bitfields.c: added Johan's bitfields.c
812
813 2003-04-18      Kevin Vigor <kevin@vigor.nu>
814
815         * src/SDCCopt.c: add special case optimization to replace modulo by
816           a power of two with a bitwise AND.
817
818 2003-04-18    <johan@balder>
819
820         * src/mcs51/gen.c (getFreePtr): fixed bug #635354
821
822 2003-04-17    <johan@balder>
823
824         * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #716790 and removes lot's of redundant register usage around function calls
825         * src/mcs51/ralloc.c (packRegisters): fixed bug #720667
826
827 2003-04-13  Borut Razem <borut.razem@siol.net>
828
829         * doc/sdccman.lyx: updated info about #pragma SAVE/RESTORE nesting
830         * configure.in, configure: fixed problems on cygwin/WinCVS environmet with ports.* line endings;
831           fixed mingw problem in adl_NORMALIZE_PATH
832
833 2003-04-12  Borut Razem <borut.razem@siol.net>
834
835         * fixed "#pragma SAVE/RESTORE can not be nested":
836         * src/SDCC.lex: reworked pragma handling functions
837         * sdcc/src/SDCCglobl.h: reworked stack handling macros
838         * support/Util/SDCCerr.c, support/Util/SDCCerr.h: added E_STACK_VIOLATION error
839
840 2003-04-12  Bernhard Held <bernhard@bernhardheld.de>
841
842         * src/SDCCutil.c (pathEquivalent): defined but not used
843         * debugger/mcs51/sdcdb.c: replace SDCC_LIB_DIR
844         * configure.in: remove sdcc_datadir, sdcc_lib_dir and sdcc_include_dir
845         * configure: rebuilt from configure.in
846         * sdccconf_in.h: remove SDCC_LIB_DIR and SDCC_INCLUDE_DIR
847         * sdcc_vc_in.h: remove SDCC_LIB_DIR and SDCC_INCLUDE_DIR
848         * device/include/Makefile.in: replace sdcc_datadir
849         * device/lib/Makefile.in: replace sdcc_datadir
850         * Makefile.common.in: add LDFLAGS from configure
851         * packihx/Makefile.in: use LDFLAGS
852         * src/Makefile.in: use LDFLAGS
853         * support/cpp2/Makefile.in: add LDFLAGS from configure
854         * support/makebin/Makefile: use LDFLAGS
855         * .version: bumped version number to 2.3.5
856
857 2003-04-12  Borut Razem <borut.razem@siol.net>
858
859         * completed "different paths" task:
860         * src/SDCCmacro.c: fixed bug in handling quotes
861         * src/SDCCutil.c, src/SDCCutil.c: rewritten getPrefixFromBinPath()
862         * src/SDCCmain.c: _discoverPaths() replaced with setBinPaths(), setIncludePath() and setLibPath()
863
864 2003-04-12  Bernhard Held <bernhard@bernhardheld.de>
865
866         * src/pic/pcoderegs.c (Remove1pcode): fix warning on alpha
867
868 2003-04-11 kevin Vigor <kevin@vigor.nu>
869
870         * ds390/gen.c ds390/peeph.def: fix bug 706781
871
872 2003-04-11  Borut Razem <borut.razem@siol.net>
873
874         * support/Util/dbuf.c, support/Util/dbuf.h: update to version 1.1.1 - re-added C++ stuff to make it still more portable
875
876 2003-04-10  Scott Dattalo  <scott@dattalo.com>
877
878         * src/pic/* Applied the pointer-to-function patch from Steve Tell.
879         * src/pic/* Fixed several pointer bugs. (PIC port broke when the ruonly bit was
880          set - this bit used to not be set...).
881         * src/pic/gen.c Fixed buf 609268 ==> x = (x+1) & 0xf; generated 
882           bad code in PIC Port
883         * src/regression/and2.c added to test bug 609268
884         * src/regression/Makefile added and2.c to regression test
885
886
887 2003-04-08    <johan@CP255758-A>
888
889         * src/mcs51/gen.c (gen51Code): display reg usage in --icode-in-asm
890         * src/mcs51/ralloc.c (serialRegAssign): update the registers in use and save some slocs
891         * src/SDCCicode.h: added riu to show the register usage in --icode-in-asm
892
893 2003-04-07  Bernhard Held <bernhard@bernhardheld.de>
894
895         * configure.in: fully support prefix, exec_prefix, datadir, docdir;
896         fix bug #487815
897         * support/cpp2/Makefile.in: fix bug #487815
898         * configure: rebuilt from configure.in
899         * Makefile.common.in: docdir changed, new path suffixes
900         * sdccconf_in.h: new RETSIGTYPE, and other PATHs
901         * sdcc_vc_in.h: reflect changes from sdccconf.h
902         * src/SDCCglobl.h: remove *SEPARATOR_CHARS, they are now in sdccconf.h
903         * src/SDCCutil.h: remove BINDIR hack
904         * doc/sdccman.lyx: update new path hierarchy
905
906 2003-04-06    Paul Stoffregen <paul@pjrc.com>
907
908         * src/SDCCpeeph.c: added okToRemoveSLOC test
909
910 2003-04-06    Paul Stoffregen <paul@pjrc.com>
911
912         * device/lib/printf_fast.c: added leading zero format ("%06d", etc)
913
914 2003-04-06    Paul Stoffregen <paul@pjrc.com>
915
916         * src/SDCCpeeph.c: added labelIsReturnOnly test
917         * src/mcs51/peeph.def: Peephole 244: replace ljmp to ret with ret
918
919 2003-04-05    <johan@balder>
920
921         * src/SDCCcse.c (cseAllBlocks): fixed bug #460088
922         * src/SDCCloop.c (DEFSETFUNC): fixed bug #460088
923         * src/SDCCopt.c (eBBlockFromiCode): fixed bug #460088
924         * src/SDCCast.c: fixed a warning
925         * src/SDCCast.h: fixed a warning
926         * src/SDCCicode.c (operandFromAst): fixed a warning
927
928 2003-04-04    <johan@balder>
929
930         * src/SDCCloop.c (DEFSETFUNC): undid the fix for bug #519584
931         * src/SDCCast.c (decorateType): fixed bug #715076
932         * src/SDCC.y: fixed bug #702907
933
934 2003-04-03    <johan@balder>
935
936         * device/lib/_mulint.c (_muluint): new #pragma LESS_PEDANTIC
937         * src/SDCCopt.c (eBBlockFromiCode): new #pragma LESS_PEDANTIC
938         * src/SDCCglobl.h (PRAGMA_LESSPEDANTIC): new #pragma LESS_PEDANTIC
939         * src/SDCC.lex (doPragma): new #pragma LESS_PEDANTIC
940         * src/SDCCmain.c (parseCmdLine): new #pragma LESS_PEDANTIC
941
942 2003-04-03  Bernhard Held <bernhard@bernhardheld.de>
943
944         * _decdptr.c: fix return values
945         * _gptrget.c: fix return values
946         * _gptrgetc.c: fix return values
947         * _gptrput.c: fix return values
948         * _mulint.c: fix return values
949         * as/z80/Makefile: fix 'make -j' problem
950
951 2003-04-02  Bernhard Held <bernhard@bernhardheld.de>
952
953         * Makefile.common.in: unused PORT, SCC and SAS removed, fixed docdir
954         * configure.in: big cleanup, updated to autoconf 2.5x
955         * configure: rebuilt from configure.in
956         * sdccconf_in.h: new RETSIGTYPE, and other PATHs
957         * sdcc_vc_in.h: reflect changes from sdccconf.h
958         * doc/Makefile: fixed a flaw in "make install"
959
960 2003-04-02    <johan@balder>
961
962         * src/ds390/gen.c (genCmp): no comments
963         * src/mcs51/gen.c (genCmp): no comments
964         * src/SDCCopt.c (eBBlockFromiCode): detect missing return values
965         * src/SDCCast.c (ast_print): fixed the function type in --dumptree
966
967 2003-04-01  Bernhard Held <bernhard@bernhardheld.de>
968
969         * support/regression/generate-cases.py: place generated file in given sub directory
970         * support/regression/ports/host/spec.mk: prevent removal of testfwk.o
971         * support/regression/Makefile: improvements for 'make -j';
972         side effect: it's simpler and faster now
973
974 2003-03-31  Borut Razem <borut.razem@siol.net>
975
976         * src/z80/main.c: link-{port} and as-{port} defined without path
977         * src/src.dsp: support/Util/MySystem.h and src/SDCCutil.h added to project
978
979 2003-03-31  Bernhard Held <bernhard@bernhardheld.de>
980
981         * Makefile, src/Makefile.in: add dependencies, so that 'make -j' works
982
983 2003-03-30  Borut Razem <borut.razem@siol.net>
984
985         * support/Util/BuildCmd.c, support/Util/BuildCmd.h: rewrite buildCmdLine(),
986           changed type of list parameter to set
987         * src/ds390/main.c: changed type of parameter asmOptions to set in _tininative_do_assemble()
988         * src/port.h: changed type of do_assemble() parameter to set
989         * src/SDCCmain.c: type of asmOptions changed to set, introduced setParseWithComma(),
990           sdcpp defined without path, removed variable VersionString, introduced set binPathSet,
991           definition of "cppoutfilename" macro with NULL value in preProcess()
992         * src/SDCCglobl.h: included "SDCCset.h", added declaration of setParseWithComma()
993         * src/SDCCglue.c: removed variable VersionString, inroduced spacesToUnderscores()
994         * support/Util/MySystem.c, support/Util/MySystem.h: rewrite, char *ExePathList[]
995           replaced with set *binPathSet
996         * shash_add() deallocates the item, if allready exsists, before adding the new one
997         * src/SDCCmacro.c: handling macros with empty or NULL values in _evalMacros()
998
999 2003-03-30  Scott Dattalo  <scott@dattalo.com>
1000
1001         * src/pic/gen.c: Commit patch from Steve Tell <tell@telltronics.org> that fixes
1002           a nested for loop bug in the PIC port
1003         * src/regression/nestfor.c: new regression test file Steve wrote to test nested
1004           for loops
1005
1006 2003-03-29  Bernhard Held <bernhard@bernhardheld.de>
1007
1008         * support/Util/dbuf.h: remove C++ stuff to make it portable
1009
1010 2003-03-28  Borut Razem <borut.razem@siol.net>
1011
1012         * src/SDCC.lex: Fix for bug #711240: dynamic buffer handling of C
1013           literal strings in stringLiteral()
1014         * support/Util/dbuf.c, support/Util/dbuf.h: added: dynamic buffer handling
1015         * src/Makefile.bcc, src/Makefile.in, src\src.dsp: added support/Util/dbuf.c
1016           to the project
1017
1018 2003-03-27  Paul Stoffregen <paul@pjrc.com>
1019
1020         * src/SDCCpeeph.c (pcDistance): accurate byte distance for mcs51
1021
1022 2003-03-26    <johan@balder>
1023
1024         * src/mcs51/gen.c (saveRegisters): catched symbol abuse
1025         * src/ds390/gen.c (saveRegisters): catched symbol abuse
1026         * src/SDCCast.c (decorateType): fixed " -v < 3"
1027
1028 2003-03-23  Bernhard Held <bernhard@bernhardheld.de>
1029
1030         * doc/cdbfile.html: removed, replaced by cdbfileformat.lyx
1031         Added Lenny Story's debug infrastructure changes:
1032         * src/Makefile.in:  added new files cdbFile.c and SDCCdebug.c
1033         * src/Makefile.bcc: added new files cdbFile.c and SDCCdebug.c
1034         * src/cdbFile.c: added
1035         * src/SDCCdebug.c: added
1036         * src/SDCCdebug.h: added
1037         * src/SDCCast.c (createFunction)
1038         * src/SDCCglue.c (emitRegularMap, emitStaticSeg, emitOverlay, glue)
1039         * src/SDCCmain.c (parseCmdLine, main)
1040         * src/SDCCmem.c (redoStackOffsets)
1041         * src/SDCCsymt.c (cdbStructBlock, cdbTypeInfo, cdbSymbol, cdbStruct, cdbStructBlock)
1042         * src/SDCCsymt.h
1043         * src/common.h
1044         * src/avr/gen.c (genAVRCode)
1045         * src/ds390/gen.c (gen390Code)
1046         * src/mcs51/gen.c (gen51Code) 
1047         * src/pic/gen.c (genpic14Code)
1048         * src/pic/glue.c (pic14emitRegularMap, pic14emitStaticSeg, pic14emitOverlay, picglue)
1049         * src/xa51/gen.c (genXA51Code)
1050         * src/SDCCast.c: fixed "void foo(void){char c; -c < 0;}"
1051
1052 2003-03-22  Frieder Ferlemann <Frieder.Ferlemann@web.de>
1053
1054         * src/mcs51/gen.c (genCodePointerGet): quicker code for bug #700797
1055         * src/mcs51/peeph.def: added rules 177, 241.x to 243, touched 181, 182.x, 193.x
1056
1057 2003-03-22    <johan@balder>
1058
1059         * src/SDCCicode.c (geniCodeDerefPtr): fixed bug #698231
1060
1061 2003-03-21  Bernhard Held <bernhard@bernhardheld.de>
1062
1063         * support/scripts/sdcc_mingw32: adapted to configure from autoconf 2.54
1064         * doc/cdbfileformat.lyx: added, written by Lenny Story
1065         * doc/Makefile: added cdbfileformat.lyx
1066         * doc/clean.mk: added cdbfileformat.lyx
1067
1068 2003-03-20  Bernhard Held <bernhard@bernhardheld.de>
1069
1070         * src/mcs51/peeph.def: fix bug #705773
1071
1072 2003-03-20    <johan@balder>
1073
1074         An sfr/sbit can have an "at #" AND an initializer
1075         * src/SDCCsymt.c (checkSClass): 
1076         * src/SDCCmem.c (allocGlobal): 
1077         * src/SDCCmem.c (allocLocal): 
1078         * src/SDCCast.c (createBlock): 
1079
1080 2003-03-17  Bernhard Held <bernhard@bernhardheld.de>
1081
1082         * src/ds390/peeph.def: fix bug #704878: added rule 213.b suggested by Jan Rejlek
1083
1084 2003-03-16    <johan@balder>
1085
1086         Undid the hackup of const and volatile, the problem is much bigger
1087         * src/SDCC.y:1.65
1088         * src/SDCCast.c:1.171
1089         * src/SDCCglue.c:1.138
1090         * src/SDCCicode.c:1.146
1091         * src/SDCCsymt.c:1.150
1092         * src/SDCCval.c:1.65
1093
1094 2003-03-15  Bernhard Held <bernhard@bernhardheld.de>
1095
1096         * src/mcs51/ralloc.c (packRegsForAssign): fixed bug #703541
1097         * src/ds390/gen.c (genAddrOf): fixed bug #704087
1098
1099 2003-03-13    <johan@balder>
1100
1101         Hackup const and volatile modifiers in type chains a bit:
1102         * src/SDCC.y:1.63
1103         * src/SDCCast.c:1.169
1104         * src/SDCCglue.c:1.136
1105         * src/SDCCicode.c:1.143
1106         * src/SDCCsymt.c1.146
1107         * src/SDCCsymt.h1.59
1108         * src/SDCCval.c:1.63
1109
1110 2003-03-12    <johan@balder>
1111
1112         * src/SDCCBBlock.h: more LRH debugging junk
1113         * src/SDCCcflow.h: more LRH debugging junk
1114         * src/SDCCloop.c: more LRH debugging junk
1115         * src/SDCC.y (struct_declaration): fixed bug #697590
1116         * src/SDCCsymt.[hc] (cloneSpec): NEVER EVER use this again
1117         * src/ds390/gen.c (aopForRemat): fixed bug #700031
1118         * src/SDCCglue.c (emitStaticSeg): fixed bug #700797
1119
1120 2003-03-11 Kevin Vigor <kevin@vigor.nu>
1121         * src/SDCCpeeph.c: quit being lazy and made proper fix (peephole
1122         test function names must now match exactly).
1123         * src/SDCCcse.c: added special case in findCheaperOp to allow
1124         extending a short integer. Makes less awful code for bug 700121 test case.
1125
1126 2003-03-11  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1127
1128         * as/mcs51/lkmain.c: Added ASlink-Warning to messages 
1129         * as/mcs51/lkaomf51.c: Fixed bug when linking asmblink example
1130
1131 2003-03-11 Kevin Vigor <kevin@vigor.nu>
1132
1133         * src/SDCCpeeph.c: fix so that operandsNotEqualX functions are
1134         actually called (operandsNotEqual() was called for all 
1135         operandsNotEqualX tests).
1136
1137 2003-03-11 Kevin Vigor <kevin@vigor.nu>
1138
1139         * src/SDCCcse.c: fix findCheaperOp to prevent replacing int types
1140         with shorter literals. Fixes bug 700121.
1141
1142 2003-03-11    <johan@balder>
1143
1144         * src/SDCCsymt.c (compareType): a (void *) can be assigned to any pointer
1145
1146 2003-03-11  Bernhard Held <bernhard@bernhardheld.de>
1147
1148         * src/SDCCloop.c (mergeRegions): an evil beast is dead
1149         * src/SDCCmain.c (preProcess): minor cleanup: eliminate preOutName
1150
1151 2003-03-10  Borut Razem <borut.razem@siol.net>
1152
1153         * src/SDCCmain.c: pipe preprocessor's output
1154         * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
1155         * sdcc_vc_in.h: define pclose as _pclose for WIN32
1156         * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
1157         which closes all pipes in pipeSet set
1158         * src/SDCCset.c: free deleted item in function deleteSetItem()
1159         * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
1160         moved from z80 to src subproject
1161         * .version: increased version number to 2.3.4
1162
1163 2003-03-10  Bernhard Held <bernhard@bernhardheld.de>
1164
1165         * support/regression/ports/mcs51/spec.mk: increase timeout for CF's sparc to 30s
1166         * support/regression/ports/ds390/spec.mk: increase timeout for CF's sparc to 25s
1167         * support/regression/ports/xa51/spec.mk: fix typo
1168
1169 2003-03-09  Bernhard Held <bernhard@bernhardheld.de>
1170
1171         * src/SDCCglobl.h: PATH_MAX is already defined in mingw32 headers
1172
1173 2003-03-09  Borut Razem <borut.razem@siol.net>
1174
1175         * src/SDCCmain.c: pipe preprocessor's output
1176         * support/Util/MySystem.c, support/Util/MySystem.h: added my_popen()
1177         * sdcc_vc_in.h: define pclose as _pclose for WIN32
1178         * src/SDCCglue.c, src/SDCCglue.h: added set pipeSet, added function closePipes,
1179         which closes all pipes in pipeSet set
1180         * src/SDCCset.c: free deleted item in function deleteSetItem()
1181         * src/src.dsp, src/z80/z80.dsp: files support/Util/BuildCmd.c and support/Util/MySystem.c
1182         moved from z80 to src subproject
1183
1184 2003-03-09  Borut Razem <borut.razem@siol.net>
1185
1186         * src/SDCCglue.c: re-implemented tempfilename() and tempfile(): using mkstemp() if available
1187         * src/SDCCsymt.h: fixed MSVC and BORLANDC compilation (included SDCCglobl.h instead srccconf.h)
1188         * sdcc_vc_in.h: explicitly undefined HAVE_MKSTEMP which is not available on BORLANDC and MSVC
1189         * src/SDCCset.h: removed inclusion of sdccconf.h or sdcc_vc.h
1190         * src/SDCCglobl.h: unification of WIN32 native definitions
1191
1192 2003-03-09  Frieder Ferlemann <Frieder.Ferlemann@web.de>
1193
1194         * src/mcs51/gen.c: applied in-/dec patch mentioned on sdcc-devel 2003-03-01
1195
1196 2003-03-08  Bernhard Held <bernhard@bernhardheld.de>
1197
1198         * src/configure.in:   check for endianess (even while cross-compiling)
1199         * src/configure:      check for endianess (even while cross-compiling)
1200         * src/configure_in.h: check for endianess (even while cross-compiling)
1201         * src/avr/gen.c:        remove old endianess stuff
1202         * src/mcs51/gen.c:      remove old endianess stuff
1203         * src/ds390/gen.c:      remove old endianess stuff
1204         * src/pic/gen.c:        remove old endianess stuff
1205         * src/pic/genarith.c:   remove old endianess stuff
1206         * src/pic/glue.c:       fix endianess check
1207         * src/pic16/gen.c:      remove old endianess stuff
1208         * src/pic16/genarith.c: remove old endianess stuff
1209         * src/pic16/glue.c:     fix endianess check
1210         * src/xa51/gen.c:       remove old endianess stuff
1211         * src/z80/gen.c:        fix endianess check
1212         * src/SDCCglue.c:       fix endianess check
1213         * src/ds390/peeph.def: fix bug 700036
1214
1215 2003-03-08  Bernhard Held <bernhard@bernhardheld.de>
1216
1217         * src/SDCCsymt.h: use appropriate data-types on host for SDCC's int and long
1218         * src/configure: find appropriate data-types on host for SDCC's int and long
1219         * src/configure.in: find appropriate data-types on host for SDCC's int and long
1220         * src/sdccconf_in.h: find appropriate data-types on host for SDCC's int and long
1221         * src/xa51/gen.c: use %d, not %ld for 4 byte variables
1222
1223 2003-03-07    <johan@balder>
1224
1225         Just a big NOOP:
1226                 some minor cleanups before the big shot
1227                 OP_DEFS and OP_USES now use Kevin's protection
1228                 new option --nolabelopt
1229
1230         * src/SDCCBBlock.c:
1231         * src/SDCCast.c,:
1232         * src/SDCCcflow.c:
1233         * src/SDCCcse.c:
1234         * src/SDCCicode.c:
1235         * src/SDCCicode.h:
1236         * src/SDCClabel.c:
1237         * src/SDCCloop.c:
1238         * src/SDCCmain.c:
1239         * src/ds390/ralloc.c:
1240         * src/mcs51/ralloc.c:
1241         * src/pic/ralloc.c:
1242         * src/xa51/ralloc.c:
1243         * src/z80/ralloc.c:
1244
1245 2003-03-06  Bernhard Held <bernhard@bernhardheld.de>
1246
1247         * src/pic/pcode.c (get_op): fix 64 bit warnings
1248         * src/pic/pcode.c (pCode2str): fix 64 bit warnings
1249         * src/SDCChasht.c (newHashTable): fix 64 bit warnings
1250         * src/SDCCsymt.c (checkTypeSanity): fix 64 bit warnings
1251         * support/regression/tests/malloc.c: fix 64 bit warnings
1252
1253 2003-03-04  Bernhard Held <bernhard@bernhardheld.de>
1254
1255         * src/mcs51/gen.c (genMinus): fixed bug 696436
1256
1257 2003-03-02  Borut Razem <borut.razem@siol.net>
1258
1259         * src/SDCCmain.c: added BORLANDC, corrected MSVC in printVersionInfo()
1260
1261 2003-02-26  Bernhard Held <bernhard@bernhardheld.de>
1262
1263         * configure.in: test for mkstemp
1264         * sdccconf_in.h: add HAVE_MKSTEMP
1265
1266 2003-02-24  Bernhard Held <bernhard@bernhardheld.de>
1267
1268         * device/include/ctype.h: removed warning while using --stack-auto
1269         * device/include/malloc.h: removed warning while using --stack-auto
1270         * device/include/string.h: removed warning while using --stack-auto
1271
1272 2003-02-23  Borut Razem <borut.razem@siol.net>
1273
1274         * src/asm.h: corrected assertion in function printILine(): _pipe() was not executed on MSVC,
1275         because NDEBUG is defined (see man assert)
1276         * sdcc_vc_in.h: vsnprintf is defined as _vsnprintf on MSVC
1277
1278 2003-02-23  Frieder Ferlemann <Frieder.Ferlemann@web.de>
1279
1280         * src/mcs51/gen.c (genUminusFloat): avoided dptr in-/decrement for xdata variables
1281         * src/mcs51/peeph.def: added rule suggested by Gernot Fink, white space/comment changes
1282
1283 2003-02-18  Frieder Ferlemann <Frieder.Ferlemann@web.de>
1284
1285         * src/SDCCpeeph.c: added peephole conditions testing for same arguments
1286         * src/mcs51/peeph.def: added rules 238a-d which remove redundant moves
1287
1288 2003-02-18    <johan@balder>
1289
1290         * as/mcs51/asmain.c (asmbl): module can start with a digit
1291         * as/z80/asmain.c (asmbl): module can start with a digit
1292
1293 2003-02-16  Bernhard Held <bernhard@bernhardheld.de>
1294
1295         * sim/ucsim/mkecho: inserted #!/bin/sh for Cygwin, so that it's executable
1296         * src/asm.c: fix pipe() for Mingw32
1297
1298 2003-02-15  Bernhard Held <bernhard@bernhardheld.de>
1299
1300         * src/SDCCglue.h: make tmpfileNameSet available for preOutName
1301         * src/SDCCmain.c (preProcess): make sure, that preOutName will be deleted;
1302         make -V work again; --c1mode reads now from stdin
1303         * doc/sdccman.lyx: added --c1mode
1304         * support/Util/SDCCerr.c: new messages for c1 mode
1305         * support/Util/SDCCerr.h: new messages for c1 mode
1306         * src/SDCC.lex (checkCurrFile): test if fullSrcFileName is NULL for c1mode
1307
1308 2003-02-15    <johan@balder>
1309
1310         * src/asm.c: new options: --no-c-code-in-asm and --i-code-in-asm
1311
1312 2003-02-14  Bernhard Held <bernhard@bernhardheld.de>
1313
1314         * doc/sdccman.lyx: Environment variables, -o and other minor things
1315
1316 2003-02-14    <johan@balder>
1317
1318         * src/xa51/main.c: before anyone really tries to use it :)
1319
1320         * Install doc's in share/sdcc/doc
1321         * removed some obsolete files
1322         * Do a proper make distclean and uninstall
1323         M Makefile.common.in
1324         R sdccbuild.sh
1325         M as/Makefile
1326         M device/include/Makefile.in
1327         M device/lib/Makefile.in
1328         M doc/sdccman.lyx
1329         M link/Makefile
1330         M sim/ucsim/doc/Makefile.in
1331         M src/clean.mk
1332         R src/avr/peeph.rul
1333         R src/xa51/peeph.rul
1334         M support/cpp2/Makefile.in
1335         M support/makebin/Makefile
1336
1337
1338 2003-02-13  Bernhard Held <bernhard@bernhardheld.de>
1339
1340         * support/regression/ports/host/spec.mk: use cc as host compiler for max osx
1341
1342 2003-02-10  Borut Razem <borut.razem@siol.net>
1343
1344         * doc/bccinst.txt, packihx/packihx.c, sdcc_vc_in.h, src/SDCCset.h,
1345         support/cpp2/config.in: Borland C++ build doesn't depend on Cygwin configure
1346         * Bcc.ini, Makefile.bcc, as/mcs51/Makefile.bcc,
1347         device/examples/ds390/tinitalk/Makefile.bcc, packihx/Makefile.bcc,
1348         support/cpp2/Makefile.bcc, src/Makefile.bcc, src/avr/Makefile.bcc,
1349         src/ds390/Makefile.bcc, src/izt/Makefile.bcc, src/mcs51/Makefile.bcc,
1350         src/pic/Makefile.bcc, src/pic16/Makefile.bcc, src/xa15/Makefile.bcc,
1351         src/z80/Makefile.bcc: Borland Makefile cleanup
1352         * as/z80/Makefile.bcc: Added Borland Makefile
1353         * support/cpp2/borland.h: Removed
1354
1355 2003-02-10  Bernhard Held <bernhard@bernhardheld.de>
1356
1357         * doc/sdccman.lyx: new pragma NOIV by "Johannes Stezenbach" <js@convergence.de>
1358         * src/SDCC.lex: new pragma NOIV
1359         * src/SDCCglobl.h: new pragma NOIV
1360         * src/SDCCmem.c: new pragma NOIV
1361
1362 2003-02-09  Bernhard Held <bernhard@bernhardheld.de>
1363
1364         * src/SDCCmain.c: signal handling is switched off by SDCC_LEAVE_SIGNALS
1365
1366 2003-02-09  Bernhard Held <bernhard@bernhardheld.de>
1367
1368         * src/SDCCmain.c: signal handling is switched off by --debug
1369         * doc/Makefile: small fix for install; use clean.mk again
1370         * doc/clean.mk: clean *.pdf and *.html too
1371
1372 2003-02-08  Bernhard Held <bernhard@bernhardheld.de>
1373
1374         * device/lib/_mulint.c: small fix for large/ds390 --int-long-reent resp. --stack-auto
1375         * device/lib/printfl.c: fix a ds390 bug by making it portable
1376         * src/SDCCsymt.c (initCSupport): fix compile warning on Cygwin
1377         * src/SDCCopt.c (cnvToFloatCast): fix compile warning on Cygwin
1378         * src/SDCCopt.c (cnvFromFloatCast): fix compile warning on Cygwin
1379         * debugger/mcs51/cmd.c: converted multi-line string literals
1380         * sim/ucsim/globals.cc: converted multi-line string literals
1381         * src/SDCCmain.c: introduced signal handler to remove temp files
1382         * doc/Makefile: small tweaks, implement clean
1383         * doc: removed generated files
1384
1385 2003-02-05  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1386
1387         * as/mcs51/aslink.h, as/mcs51/lkihx.c, as/mcs51/lkrloc.c:  Applied
1388         patch from Jan Rejlek <jr@apex-lib.cz> to fix Bug 677692: "Extended
1389         Address Record is not correctly generated for DS390."
1390
1391 2003-02-02  Borut Razem <borut.razem@siol.net>
1392
1393         * Makefile.bcc: removed non existing cpp project and non compilable izt project from makefile
1394         * as/mcs51/asm.h: fixed compilation with Borland C
1395         * support/cpp2/Makefile.bcc: added rule to generate auto-host.h
1396         * support/cpp2/auto-host_vc_in.h: fixed compilation with Borland C
1397         * src/mcs51/mcs51a.dsp: corrected misspelled project name from msc51a to mcs51a
1398         * src/avr/Makefile.bcc, src/ds390/Makefile.bcc, src/izt/Makefile.bcc,
1399         src/mcs51/Makefile.bcc, src/pic16/Makefile.bcc, src/xa51/Makefile.bcc,
1400         src/z80/Makefile.bcc: delete $(LIB) only if exist
1401         * src/Makefile.bcc, src/pic/Makefile.bcc:  fixed compilation with Borland C
1402
1403 2003-02-02  Bernhard Held <bernhard@bernhardheld.de>
1404
1405         * device/include/malloc.h: introduced NULL
1406         * device/include/string.h: introduced NULL
1407         * device/include/stdlib.h: introduced NULL
1408         * device/lib/_memcpy.c: removed NULL
1409         * device/lib/_strcat.c: removed NULL
1410         * device/lib/_strchr.c: removed NULL
1411         * device/lib/_strcmp.c: removed NULL
1412         * device/lib/_strcpy.c: removed NULL
1413         * device/lib/_strcspn.c: removed NULL
1414         * device/lib/_strlen.c: removed NULL
1415         * device/lib/_strncat.c: removed NULL
1416         * device/lib/_strncmp.c: removed NULL
1417         * device/lib/_strncpy.c: removed NULL
1418         * device/lib/_strpbrk.c: removed NULL
1419         * device/lib/_strrchr.c: removed NULL
1420         * device/lib/_strspn.c: removed NULL
1421         * device/lib/_strstr.c: removed NULL
1422         * device/lib/_strtok.c: removed NULL
1423         * device/lib/malloc.c: removed NULL, include own header
1424
1425 2003-02-02    <johan@balder>
1426
1427         * 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
1428         * support/regression/fwk/lib/testfwk.c: div and mod isn't broken anymore
1429         * regressions ds390/spec.mk and mcs51/spec.mk (timeout): my good old balder isn't fast enough for some tests
1430         * src/z80/gen.c (genZ80Code): added c-lines in asm comments
1431         * as/z80/asm.h (NINPUT): increased for long c-comments in regression tests
1432         * src/z80/gen.c (genRightShiftLiteral): fixed the (char)(-3)>>8 (I think)
1433
1434 2003-02-01  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1435
1436         * src/SDCCmain.c: Fixed bug 678574: "ds390: ASlink-Error-Stack overlaps
1437         area 'DATA'"
1438
1439 2003-02-01    <johan@balder>
1440
1441         * src/SDCCval.c (valBitwise): fixed Karl's "2 | (1<<8)"
1442
1443 2003-01-31    <johan@CP255758-A>
1444
1445         * src/ds390/main.c (_ds390_genAssemblerPreamble): applied Jan Rejlek's >64K startup patch
1446
1447 2003-01-30    <johan@balder>
1448
1449         * src/SDCCBBlock.c: automatic bug detection
1450         * src/SDCCicode.c: automatic bug detection
1451
1452 2003-01-29  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1453
1454         * src/SDCCglobl.h:   now --xram-size 0 works
1455         * src/SDCCmain.c:    now --xram-size 0 works
1456
1457 2003-01-29    <johan@balder>
1458
1459         * src/almosteverything: changed OP_DEFS and OP_USES from macros to functions to catch symbol abuse (a hot topic in the bug list :)
1460
1461 2003-01-29  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1462
1463         * as/mcs51/aslink.h: Added options --xram-size and --code-size 
1464         * as/mcs51/lkdata.c: Added options --xram-size and --code-size 
1465         * as/mcs51/lkmain.c: Added options --xram-size and --code-size 
1466         * as/mcs51/lkmem.c:  Added options --xram-size and --code-size 
1467         * src/SDCCglobl.h:   Added options --xram-size and --code-size 
1468         * src/SDCCmain.c:    Added options --xram-size and --code-size 
1469
1470 2003-01-28  Bernhard Held <bernhard@bernhardheld.de>
1471
1472         * src/ds390/gen.c: fix deps by replacing <common.h> with "common.h"
1473         * src/SDCC.lex: rename P_OVERLAY to P_OVERLAY_ for cross-gcc 3.2 MINGW32
1474
1475 2003-01-27    <johan@balder>
1476
1477         * src/SDCC.y: fixed bug #613764
1478
1479 2003-01-26    <johan@balder>
1480
1481         * src/SDCClrange.c:  fixed Bernhard's "char * code ptr = &c"
1482         * src/SDCCsymt.h: fixed bug #673374
1483         * src/SDCCglue.c: fixed bug #661910
1484         * src/SDCCast.c: fixed bug #458099 and 673374
1485
1486 2003-01-26  Bernhard Held <bernhard@bernhardheld.de>
1487
1488         * as/mcs51/strcmpi.c: added, provides Aurelien Jarno's as_strcmpi(); strcmpi() is not ANSI
1489         * as/mcs51/strcmpi.h: added
1490         * as/mcs51/asm.h: remove ugly "#define strcmpi strcmp"
1491         * as/mcs51/aslink.h: remove ugly "#define strcmpi strcmp"
1492         * as/mcs51/asmain.c: strcmpi -> as_strcmpi
1493         * as/mcs51/assym.c: strcmpi -> as_strcmpi
1494         * as/mcs51/lkmem.c: strcmpi -> as_strcmpi
1495         * as/mcs51/lknoice.c: strcmpi -> as_strcmpi
1496         * as/mcs51/lksym.c: strcmpi -> as_strcmpi
1497         * as/mcs51/Makefile.aslink: new module strcmpi
1498         * as/mcs51/Makefile.asx8051: new module strcmpi
1499         * as/mcs51/Makefil.bcc: new module strcmpi
1500         * as/mcs51/Makefile.in: new module strcmpi
1501         * sim/ucsim/s51.src/uc390.cc (get_mem_size): make RAM big enough for tinibios
1502
1503 2003-01-26    <johan@balder>
1504
1505         * src/SDCCglue.c: reverted back to 1.124
1506         * src/SDCCast.c: reverted back to 1.156
1507         * src/mcs51/gen.c (aopGet): applied Frieder's efficiency patch
1508
1509 2003-01-25    <johan@balder>
1510
1511         * src/SDCCglue.c: A better fix for bug #661910
1512         * src/SDCCast.c: A better fix for bug #661910
1513         * src/SDCCglue.c (emitRegularMap): That was a little too efficient
1514
1515 2003-01-24  Bernhard Held <bernhard@bernhardheld.de>
1516
1517         * src/Makefile.in: remove spawn.o
1518         * src/SDCCmain.c: remove spawn.h
1519         * src/SDCCmain.c (printVersionInfo): report MINGW32 instead of UNIX
1520         * src/spawn.c: removed
1521         * src/spawn.h: removed
1522         * support/regression/ports/ds390/spec.mk: link with -r
1523
1524 2003-01-24    <johan@CP255758-A>
1525
1526         * src/ds390/gen.c (aopOp): fixed bug #667458
1527         * src/SDCCglue.c (emitRegularMap): fixed bug #458099 again
1528         * src/SDCCast.c (createIvalCharPtr): fixed bug #661910
1529         (createIvalCharPtr): an ival doesn't always have a storage class anymore
1530
1531 2003-01-24  Bernhard Held <bernhard@bernhardheld.de>
1532
1533         * src/mcs51/peeph.def: better assembler identation by Frieder
1534         * src/mcs51/gen.c: better assembler identation by Frieder
1535
1536 2003-01-22  Bernhard Held <bernhard@bernhardheld.de>
1537
1538         * as/z80/string.h: removed for gcc 3.2
1539         * support/makebin/makebin.c: #include <string.h> for gcc 3.2
1540         * src/pic/pcode.c (get_op_from_instruction): fix concatenation of string literals with __FUNCTION__ for gcc 3.2
1541
1542 2003-01-19  Bernhard Held <bernhard@bernhardheld.de>
1543
1544         * src/SDCCmain.c (linkEdit): rename mem and map files even in case of failure
1545         * src/SDCCpeeph.c (replaceRule): fix bug #663503
1546         * support/regression/Makefile: separate temp files for ports
1547         * support/regression/generate-cases.py: separate temp files for ports
1548         * src/mcs51/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
1549         * src/ds390/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
1550
1551 2003-01-19  Bernhard Held <bernhard@bernhardheld.de>
1552
1553         * moved tinitalk to device/examples/ds390
1554
1555 2003-01-14  Bernhard Held <bernhard@bernhardheld.de>
1556
1557         * as/mcs51/lkmem.c: rflag is for DS390
1558         * src/SDCCglobl.h: removed out_name and options stackOnData, genericPtr
1559         * src/SDCCmain.c (optionsTable, setDefaultOptions): removed --stack-after-data and --generic
1560                          (linkEdit): move mem- and map-files the same way as ihx-files
1561         * src/z80/main.c (_setDefaultOptions): removed --generic
1562         * src/SDCCmain.c (_processC1Arg, parseCmdLine, main): --c1mode works again
1563         * src/SDCCglue.c (createInterruptVect, glue): --c1mode works again
1564         * src/pic/glue.c (picglue): --c1mode works again
1565         * src/pic16/glue.c (pic16glue): --c1mode works again
1566         * src/asm.c (printCLine): fix #660034
1567
1568 2003-01-13  Bernhard Held <bernhard@bernhardheld.de>
1569
1570         * src/ds390/peeph.def: fix #123; add 14 rules by Fiorenzo D. Ramaglia <fd.ramaglia@tin.it>, 1 by Frieder
1571         * src/mcs51/peeph.def: fix #123; add 14 rules by Fiorenzo, 1 by Frieder
1572         * src/mcs51/gen.c (genFunction): emit r0 instead of ar0 by Fiorenzo
1573         * as/mcs51/lkmem (summary): better fix for sp problem
1574         * src/SDCCglue.c (glue): __start_stack - 1, saves 1 byte!
1575         * src/ds390/main.c (_ds390_finaliseOptions, _tininative_finaliseOptions): stack_loc = 0x400008
1576         * support/regression/ports/*/spec.mk: moving testfwk-object to port dir allow parallel execution of regression tests
1577                                               remove --stack-after-data
1578
1579 2003-01-12  Bernhard Held <bernhard@bernhardheld.de>
1580
1581         * src/SDCCmain.c (main): port->finaliseOptions() moved for z80 linking
1582         * src/SDCCutil.c (join): ugly bug: missing '\0'
1583         * as/mcs51/lkmem.c (summary): sp on address 7 is safe
1584
1585 2003-01-11  Bernhard Held <bernhard@bernhardheld.de>
1586
1587         * src/SDCCmain.c (assemble, linkEdit): preparations for -o
1588         * src/port.h: typo
1589         * src/pic/main.c (_asmCmd): gpasm supports -o
1590         * src/z80/main.c: more general macros
1591         * device/lib/Makefile.in: remove intermediate files
1592
1593 2003-01-11  Bernhard Held <bernhard@bernhardheld.de>
1594
1595         * .version: Bumped version number to 2.3.3
1596         * src/SDCCBBlock.c: new option -o
1597         * src/SDCCglobl.h: new option -o
1598         * src/SDCCglue.c: new option -o
1599         * src/SDCCmain.c: new option -o
1600         * src/asm.c: new option -o
1601         * src/ds390/main.c: new option -o
1602         * src/pic/glue.c: new option -o
1603         * src/pic/pcode.c: new option -o
1604         * src/pic/ralloc.c: new option -o
1605         * src/pic16/glue.c: new option -o
1606         * src/pic16/pcode.c: new option -o
1607         * src/pic16/ralloc.c: new option -o
1608         * src/z80/main.c: new option -o
1609         * device/lib/Makefile.in: use -o
1610         * support/regression/ports/ds390/spec.mk: use -o
1611         * support/regression/ports/gbz80/spec.mk: use -o
1612         * support/regression/ports/mcs51/spec.mk: use -o
1613         * support/regression/ports/mcs51-stack-auto/spec.mk: use -o
1614         * support/regression/ports/z80/spec.mk: use -o
1615         * support/regression/ports/ucz80/spec.mk: use -o
1616         * support/regression/ports/xa51/spec.mk: use -o
1617         * support/regression/fwk/lib/timeout.c: fix usage string
1618
1619 2003-01-09  Bernhard Held <bernhard@bernhardheld.de>
1620         * src/mcs51/gen.c (genPlus): replaced "mov b,acc" by "mov b,a" Fiorenzo D. Ramaglia <fd.ramaglia@tin.it>
1621         
1622 2003-01-07    <johan@balder>
1623
1624         * src/SDCCast.c (decorateType): fixed bug #600035
1625
1626 2003-01-07  Bernhard Held <bernhard@bernhardheld.de>
1627         * as/mcs51/lkmem.c: added several l-modifiers to printf to remove warnings
1628         * as/mcs51/lkaomf51.c: #include <ctype.h> to remove warnings
1629         * src/pic/main.c (_hasNativeMulFor): outcommented unused variables to remove warnings
1630         * src/pic/pcode.c: outcommented unused variable to remove warnings
1631         * src/pic/ralloc.c: outcommented unused variable to remove warnings
1632
1633 2003-01-06    <karl@turbobit.com>
1634         * sim/ucsim/cmd.src/command.cc: fixed so "break xram r 0x7654" works again in
1635    regression tests.
1636
1637 2003-01-06    <johan@balder>
1638
1639         * src/SDCCicode.c: fixed array add
1640
1641 2002-01-05  Bernhard Held <bernhard@bernhardheld.de>
1642         * src/SDCCmacro.c: MAX_STRING_LENGTH increased to 2048; was too small for regression tests
1643         * support/regression/ports/host/support.c: #include <stdarg.h> for gcc 3.2
1644
1645 2003-01-04    <johan@balder>
1646
1647         * src/SDCCval.c (getNelements): fixed the initialized array of structures
1648
1649 2002-12-29  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1650         * as/mcs51/Makefile.bcc: fixed typo lkomf51.o -> lkaomf51.o
1651
1652 2002-12-28  Bernhard Held <bernhard@bernhardheld.de>
1653         * src/mcs51/peeph.def: added rules 234 and 235 from Frieder Ferlemann <frieder.ferlemann@web.de>
1654         * support/regression/tests/bug-524697.c: fit mem usage into 8032
1655
1656 2002-12-28  Bernhard Held <bernhard@bernhardheld.de>
1657         * src/mcs51/gen.c (aopGetUsesAcc): inserted missing "return FALSE"
1658
1659 2002-12-27  Bernhard Held <bernhard@bernhardheld.de>
1660         * as/mcs51/Makefile.in: fixed typo lkomf51.o -> lkaomf51.o
1661
1662 2002-12-26  Bernhard Held <bernhard@bernhardheld.de>
1663         * src/mcs51/main.c: removed {bindir}{sep} from aslink
1664
1665 2002-12-10  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1666
1667     * in \sdcc\as\mcs51\ changed these files in order to create an
1668     aomf51 file: aslink.h, lkdta.c, lklex.c, lklibr.c, lklist.c,
1669     lkmain.c.  Also added: lkmem.c and lkaomf51.c.  Changed the 
1670     following files to include the previous two files: aslink.dsp,
1671     Makefile.aslink, Makefile.bcc, and Makefile.in.
1672
1673     * Changed \sdcc\src\SDCCmain.c so it creates files with extension
1674     .adb instead of .cdb
1675     
1676 2002-11-09  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1677
1678         * \sdcc\as\mcs51\lklist.c: Now reports memory usage using the
1679         value from option --iram-size.
1680
1681 2002-09-20  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1682
1683         * \sdcc\as\mcs51\lklist.c: added boundary check before using
1684         dram[] array.
1685
1686 2002-09-18    <wiml@hhhh.org>
1687
1688         * SDCClrange.h: exposed setFromRange() and setToRange()
1689         * mcs51/ralloc.c: fixed over-eager packRegsForSupport() and
1690           packRegsForAccUse() (bug 542397)
1691         * mcs51/gen.c: MOVA() is now a function to avoid calling aopGet()
1692           multiple times and emitting the fetch operations more than once
1693           added aopGetUsesAcc() function to allow binary operators to
1694           fetch their operands in the correct order; made genMinus() emit
1695           compact code for X = LITERAL - Y 
1696
1697 2002-09-00  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1698         * \sdcc\as\mcs51\lklist.c: Fixed incorrect number of parameters to
1699         sprintf() in line 1267.
1700
1701 2002-09-08  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1702         * \sdcc\src\SDCCglue.c: Generate areas REG_BANK_[0-3] only for 8051
1703         like ports.
1704
1705 2002-09-04  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
1706         Changes to aslink (All the changes are marked with 'JCF'):
1707
1708         * \sdcc\as\mcs51\aslink.h: External definition of sflag and
1709         summary().
1710
1711         * \sdcc\as\mcs51\lkarea.c: Computes the size of area BSEG_BYTES from
1712         area BSEG.  Also moves, if possible, the DATA area down into the internal
1713         ram so more space is available.
1714
1715         * \sdcc\as\mcs51\lkdata.c: Definition of memory summary output flag
1716         sflag.
1717
1718         * \sdcc\as\mcs51\lklist.c: For the BSEG area report the size in bits,
1719         not bytes.  Function summary() which creates a memory usage summary
1720         file with extension .mem.  Reports of overlaping stack and small stack
1721         size.  If the space for the stack is less than 16 bytes aslink trows a
1722         warning.
1723         
1724         * \sdcc\as\mcs51\lkmain.c: Creation of some of the default areas for
1725         the 8051.  Option 'y' for memory summary output file.
1726
1727         Changes to sdcc (All the changes are marked with 'JCF'):
1728
1729         * \sdcc\src\SDCCglobl.h: External definition of RegBankUsed[4].
1730
1731         * \sdcc\src\SDCCglue.c:  If a register bank is used, creates an
1732         overlaying area for it (uses RegBankUsed[4]).
1733
1734         * \sdcc\src\SDCCmain.c: Definition RegBankUsed[4]; marks register
1735         bank zero as used by default.  By default aslink locates the stack
1736         (equivalent to --stack-after-data).  Pass option 'y' to aslink for
1737         the creation of the .mem file.  Delegates the allocation of data area
1738         to aslink (it is not longer 0x30 by default).  If --stack-loc passes
1739         the begining of the stack area to aslink.
1740
1741         * \sdcc\src\SDCCmem.c:  If a register bank is used, marks it so
1742         glue() in SDCCglue.c creates an area for it.
1743         
1744 2002-09-03  Borut Razem <borut.razem@siol.net>
1745         * sdcc/src/SDCCglue.c, sdcc/src/SDCCglue.h, sdcc/src/SDCCmain.c,
1746         sdcc/src/pic/glue.c:
1747         introduced atexit() handler for teporay files removal in case of
1748         errors, assertions, ...
1749
1750 2002-08-29  Borut Razem <borut.razem@siol.net>
1751         * sdcc/support/cpp2/auto-host_vc_in.h:
1752         re-definition of O_BINARY and other O_XXX as _O_BINARY and _O_XXX, so the problem
1753         with the returned value from read() in sdcc/support/cpp2/cppfiles.c is solved for MSC.
1754         Maybe there is a similar problem with BORLANDC? It should be checked!
1755
1756         * sdcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c, sdcc/src/z80/ralloc.c:
1757         corrected improper use of assert: the assignment to clr variable was done inside the assert.
1758         In case that NDEBUG was defined, the assert macro was substituted with no-op, so the assignment
1759         was not executed, and the compiler (cl) launched a warning:
1760         ralloc.c(1442) : warning C4700: local variable 'clr' used without having been initialized
1761
1762 2002-08-28  Bernhard Held <bernhard@bernhardheld.de>
1763         * src/SDCCglue.c (printIvalArray): iterative calculation of array length
1764
1765 2002-08-28  Jesus Calvino-Fraga and Borut Razem <borut.razem@siol.net>
1766         * sdcc/sdcc.dsw: added sdcpp, sdcppa, yacc, conf projects
1767
1768         * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
1769           sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp,
1770           sdcc/src/xa51/xa51.dsp, sdcc/src/avr/avra.dsp,
1771           sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
1772           sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp,
1773           sdcc/src/xa51/xa51a.dsp, sdcc/as/as_z80.dsp,
1774           sdcc/as/aslink.dsp, sdcc/as/asx8051.dsp, sdcc/packihx/packihx.dsp:
1775         - added Release configuration in VS projects
1776         - review of compiler an linker options
1777         - VC .exe files are generated in bin_vc directory, not to interfere
1778           with binaries generated from other projects (cygwin, mingw, bcc ...)
1779
1780         * sdcc/src/yacc.dsp: added
1781
1782         * sdcc/config.dsp, sdcc/configure_vc.awk, sdcc/sdcc_vc_in.h:
1783         added - genarate sdcc_vc.h using sdcc_vc_in.h as template
1784         and insert the version number definitions from .version 
1785
1786         * sdcc/support/cpp2/sdcpp.dsp: added - VC project for sdcpp
1787
1788         * sdcc/support/cpp2/sdcppa.dsp, sdcc/support/cpp2/auto-host_vc_in.h:
1789         added - genarate auto-host.h using auto-host_vc_in.h as template
1790
1791         * sdcc/sdcc_vc.h,
1792         removed from CVS, generated automatically
1793
1794 2002-08-25  Bernhard Held <bernhard@bernhardheld.de>
1795         * support/scripts/inc2h.pl: use gputils or gpasm (from Nathan Hurst)
1796
1797 2002-08-11  Borut Razem <borut.razem@siol.net>
1798         * support/Util/NewAlloc.c: removed unneeded #include "sdccconf.h" (suggested by Jesus Calvino-Fraga)
1799
1800 2002-08-10  Borut Razem <borut.razem@siol.net>
1801         * src/SDCCmain.c (main):
1802         file preOutName was unlinked before closed. This seems to be OK on UNIX and cygwin
1803         platforms, but it doesn't work with Visual Studio: the opened file can not be removed.
1804         The consequence was that some temporary files were not removed.
1805
1806         * src/SDCCglue.c:
1807         unification of code in functions tempfilename() and tempfile():
1808         function tempnam() is defined in Visual Studio 6.0 and .NET
1809
1810         * sdcc/sdcc.dsw: removed project sdcpp, added project xa51a
1811
1812         * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
1813           sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp:
1814         - removed compiler command line option /WX: Treats all warnings as errors
1815         - update a list of source files, included into the project
1816
1817         * sdcc/src/avr/avra.dsp, sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
1818           sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp:
1819         changed project type to Generic Project so that can be correcly converted to VS.NET project
1820
1821         * sdcc/as/mcs51/asm.h: definition of PATH_MAX for MSC
1822
1823         * sdcc/src/SDCCast.c: solved MSC error in function decorateType()
1824
1825         * sdcc/src/SDCC.y: added missing ending ';' to rules to get rid of bison warnings
1826
1827         * dcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c:
1828         added return 0 statements after assert() to make compiler happy
1829
1830         * sdcc/src/xa51/peeph.rul, sdcc/src/xa51/peeph.def, sdcc/src/z80/ralloc.c:
1831         added newline in the def file to keep MSC compiler satisfied
1832
1833         * sdcc/src/z80/gen.c:
1834         - function strcasecmp() is not defined in MSC (and probably also in BORLANDC),
1835           so it is replaced with STRCASECMP, which is defined as stricmp in case of MSC and BORLANDC
1836         - solved MSC error in function aopDump()
1837
1838         * sdcc_vc.h: define PREFIX as "\\sdcc"
1839
1840 2002-07-18  Bernhard Held <bernhard@bernhardheld.de>
1841         * src/SDCCast.c (decorateType): fixed access to array of structures http://sourceforge.net/mailarchive/forum.php?thread_id=902690&forum_id=4107
1842
1843 2002-06-22  Scott Dattalo <scott@dattalo.com>
1844         * src/pic/*: Numerous bug fixes. Flow analysis has been enhanced. 
1845         - Rewrote the register banking algorithm. 
1846         - Added pCode live-range analysis to registers (for now, only non-used and 
1847         singly-used registers optimized away)
1848
1849         * src/pic/pcoderegs.[ch]: Added new files for pCode live-range analysis
1850
1851         * support/scripts/inc2h.pl Kevin L. Pauba <klpauba@cox.net> submitted this perl script for converting MicroChip include files into SDCC Pic include files.
1852         
1853 2002-05-10  Scott Dattalo <scott@dattalo.com>
1854         * src/pic/*: Added support for multiplication. Fixed many,many bugs.
1855         
1856 2002-04-22  Michael Hope  <michaelh@vroom>
1857
1858         * device/lib/z80/printf.c: Changed emitter to volatile to work around a pcall bug.
1859
1860         * configure.in (DD_COPT): Added include support required for gbdk.
1861
1862         * .version: Bumped version number just to increase it.
1863
1864         * src/SDCCmain.c: Added -nostdinc to the default options.
1865
1866 2002-04-15  Michael Hope  <michaelh@vroom>
1867
1868         * device/lib/z80/printf.c (sprintf): Added.
1869
1870         * src/z80/ralloc.c (packRegisters): Disabled pack HL use for GB as it's broken.
1871
1872         * src/z80/peeph.def: Added transpose redundent load rule.
1873
1874         * src/z80/main.c: Added force callee saves for jaune.
1875
1876         * src/port.h: Removed the i186 and tlcs-900h ports as they weren't being being developed.
1877
1878         * src/SDCCmain.c: Pulled the options definition out so that you can add port specific options without changing the main file.
1879
1880 2002-03-28  Johan Knol  <johan@balder>
1881
1882         * src/SDCCval.c: fixed bug #532436
1883
1884 2002-03-14  Scott Dattalo <scott@dattalo.com>
1885         * /src/port.h:
1886         Added "char *Processor" field to the port structure.
1887
1888         * /src/SDCCmain.c:
1889         Added -p option. Allows port dependent processor to be specified.
1890
1891         * all ports:
1892         Initialized the new field char *Processor field to NULL in all ports
1893
1894         * /src/pic/*:
1895         Compiler generated registers for interrupt context saving
1896         were not getting allocated.
1897                 
1898 2002-03-16  Sandeep Dutta  <sandeep@ddi.com>
1899
1900         * /src/SDCCast.c:
1901         Fixed left shift. Will promote the left side of a left shift
1902         if a) left shifting more than size of operand or b) when assigned
1903         to something size > size of left side
1904
1905 2002-03-14  Scott Dattalo <scott@dattalo.com>
1906         * src/pic/*
1907         tons of changes. Register allocation has been 
1908         rewritten. Added customization for the various PICs. Flow
1909         analysis is restructured. ...
1910
1911         * src/pic/device.h:
1912         Added
1913
1914         * src/pic/device.c:
1915         Added. device.c is a PIC port hack to accomodate variations
1916         in PIC devices.
1917
1918 2002-03-13  Michael Hope  <michaelh@vroom>
1919
1920         * src/z80/gen.c (genGenPointerGet): Fixed a bug where a pointer in HL is dereferenced into HL but HL is not spilled.  Yeah.
1921
1922 2002-03-04  johanknol  <johanknol@manik>
1923
1924         * /src/SDCCval.c: fixed
1925
1926         const unsigned char arr[][2] = { { 0, 1 } };
1927         t18.c:1: error: Initializer element is not constant
1928
1929 2002-03-04  bela  <bela@manik>
1930
1931         * /device/include/mcs51reg.h:
1932         ds89c420 register definition update
1933
1934 2002-03-03    <johan@FRIJA>
1935
1936         * support/Util/SDCCerr.c: did something, but don't no why anymore
1937
1938         * support/regression/tests/bug-524691.c: made it a little less shy 
1939
1940         * src/SDCCast.c (decorateType): fixed bug #524697
1941
1942         * src/SDCCast.c: made some lineno improvements
1943
1944         * src/SDCCval.c (getNelements): changed warning to error
1945
1946         * src/SDCCglue.c (printIvalArray): changed warning to error
1947
1948         * src/SDCCicode.c: fixed a warning for mingw
1949
1950         * src/SDCCast.c (decorateType): fixed the << promotion for ops
1951
1952         * src/SDCCicode.c (geniCodeDivision): divide is shift only for unsigned (bug #524685)
1953
1954 2002-03-02  Sandeep Dutta  <sandeep@ddi.com>
1955
1956         * src/ds390/peeph.def:
1957         Added some more peephole rules
1958
1959         * src/ds390/gen.c: Various fixes & enhancements
1960
1961         * src/SDCClrange.c, src/SDCClrange.h:
1962         functions "alldefsoutofrange" and "notusedinblock" moved to SDCClrange.c
1963
1964         * src/ds390/ralloc.c:
1965         various fixes & enhancements (ds390) specific
1966
1967         * src/avr/ralloc.c, src/mcs51/ralloc.c, src/pic/ralloc.c, src/xa51/ralloc.c, src/z80/ralloc.c:
1968         Functions "allDefsOutOfRange" & "notUsedinBlock" moved to SDCClrange.c
1969         from rallocs.
1970
1971         * sdcc/src/SDCCcse.c: Better fix for bug # 514308
1972
1973 2002-03-02    <johan@FRIJA>
1974
1975         * src/SDCCast.c (decorateType): fixed bug #524708
1976
1977         * src/SDCCval.c (floatFromVal): fixed the literal void (whatever that may be)
1978
1979         * src/SDCCicode.c (geniCodePtrPtrSubtract): fixed bug #524691
1980
1981 2002-03-01  Michael Hope  <michaelh@vroom>
1982
1983         * src/SDCCsymt.c (initCSupport): Removed managling of support function names.
1984
1985         * src/z80/ralloc.c (packRegsForIYUse): Fixed fp bug where four byte operands were packed into IY.
1986
1987 2002-03-01    <johan@FRIJA>
1988
1989         * src/SDCCglue.c (printIvalPtr): fixed bug #524211
1990
1991         * src/SDCCast.c (decorateType): fixed bug #524209
1992
1993         * src/SDCCval.c (valNot): fixed bug #524195
1994
1995 2002-02-26    <johan@balder>
1996
1997         * src/xa51/gen.c: fixed a warning
1998
1999         * src/SDCCglue.c (printIvalFuncPtr): fixed bug #522534
2000
2001         * src/SDCCast.c (decorateType): fixed bug #522534
2002
2003 2002-02-23    <johan@balder>
2004
2005         * src/SDCCdflow.c (computeDataFlow): fixed bug #460088
2006
2007 2002-02-22    <johan@balder>
2008
2009         * src/SDCCast.c: fixed bug #514865
2010
2011         * src/SDCCy.c ("SDCC.y"): fixed bug #516625
2012
2013 2002-02-21  Sandeep Dutta  <sandeep@ddi.com>
2014
2015         * sdcc/src/SDCCloop.c:
2016         Previous fix was not good. basic blocks that have "break" or "return" are
2017         not really partof a loop , but live ranges used in these blocks should
2018         be live thru the entire loop, so set partOfLoop but don't add them to
2019         loop region
2020
2021 2002-02-21    <johan@FRIJA>
2022
2023         * src/SDCCcse.c: fixed bug #514308
2024
2025 2002-02-20  Sandeep Dutta  <sandeep@ddi.com>
2026
2027         * src/SDCCloop.c:
2028         Fixed BUG #519583. If a conditional block ended in a return/break
2029         statement inside a loop, it was not being considered part of the loop.
2030
2031         * src/SDCCcflow.c: Removed fix (Fixed in SDCCloop.c)
2032
2033 2002-02-10  Karl Bongers <karl@turbobit.com>
2034
2035         * debugger/*:
2036         Fixed up SDCDB debugger somewhat.  Updated debugger/README
2037         with lots of comments and notes.
2038
2039         * device/examples/test2.c:
2040         Fix bug, "red" variable not being initialized(compiler complained).
2041
2042         * device/examples/Makefile, examples/test3.c:
2043         Add Makefile in device/examples folder, compiles test3.c
2044         for use as a multiple module SDCDB test case.
2045
2046         * sim/ucsim/cmd.src/cmdset.cc:
2047         Took out debug printfs in ucsim "next" command.
2048
2049         * sim/ucsim/xa.src:
2050         Karl and Johan start ucsim XA support.  Most dissassembly working,
2051         about 75% emulation done(plenty of work remaining).
2052
2053         * sim/ucsim/z80.src:
2054         Add Z80 support to ucsim, add test-ucz80 regression test,
2055         notice ucsim/z80 emulation fails on examples/test3.c/itoa code.
2056         Notice z80 compiler fails on examples/test3.c/crc code.
2057
2058 2002-01-30  Sandeep Dutta  <sandeep@ddi.com>
2059
2060         * src/mcs51/gen.c, src/mcs51/main.c, src/mcs51/ralloc.c:
2061         Added support for --parms-in-bank1
2062
2063         * src/ds390/peeph.def:
2064         added a few more peephole optimzations
2065
2066         * src/ds390/main.c:
2067         1) added __builtin_inp & __builtin_outp used to read in data of given length
2068            from a memory mapped port
2069         2) added __builtin_memcmp
2070         3) added __builtin_swapw swap bytes of a short
2071
2072         * src/ds390/gen.c, src/ds390/gen.h, src/ds390/ralloc.c:
2073         1) handle multiple send & receives from register bank1
2074         2) ralloc can now allocate DPTR1 to some liveRanges
2075
2076         * src/SDCCsymt.c, src/SDCCsymt.h:
2077         changes to handle multiple sends & receives
2078
2079         * src/SDCCptropt.h:
2080         added some pointer arithmetic optimization
2081
2082         * src/SDCCptropt.c:
2083         added some pointer arithmetic optimizations but not stable yet so not
2084         called from anywhere (will get this working shortly)
2085
2086         * src/SDCCopt.c: fixed for multiple sends & receives
2087
2088         * src/SDCCmain.c:
2089         1) added options --parms-in-bank1 (ds390/mcs51) & --protect-sp-update
2090         2) preprocessing done AFTER port->finalizeoptions . This allows ports to
2091            set preprocessor defines (depending on options)
2092
2093         * src/SDCCicode.c, src/SDCCicode.h:
2094         changes made to handle multiple sends & receives
2095
2096         * src/SDCCglobl.h:
2097         Added options --protect-sp-update (ds390) and --parms-in-bank1 (ds390/mcs51)
2098
2099         * src/SDCCcse.c, src/SDCCcse.h:
2100         added function findbackward def (to be used in upcoming optimization)
2101
2102         * src/SDCCcflow.c, src/SDCCcflow.h:
2103         added function returnAtEnd - to determine if a basic block terminates with
2104         a RETURN iCode
2105
2106         * src/SDCCast.c, src/SDCCast.h:
2107         added option parms-in-bank1
2108
2109         * device/lib/_divsint.c, device/lib/_divslong.c, device/lib/_divuint.c 
2110         * device/lib/_divulong.c, device/lib/_modsint.c, device/lib/_modslong.c 
2111         * device/lib/_modulong.c, device/lib/_mulint.c, device/lib/_mullong.c:
2112         adjusted for --parms-in-bank1 option
2113
2114         * device/include/string.h:
2115         donot redefine "reentrant" keyword
2116
2117         * device/include/ds80c390.h: Added some more SFRs
2118
2119 2002-01-28  Bernhard Held  <bernhard@bernhardheld.de>
2120
2121         * sim/ucsim: Merged branch ucsim-034-pre3 to main trunk; new version 0.4 
2122
2123 2002-01-26  Bernhard Held  <bernhard@bernhardheld.de>
2124
2125         * src/SDCCast.c (funcOfType): fix usage of double --float-reent
2126
2127 2002-01-22  Bernhard Held  <bernhard@bernhardheld.de>
2128
2129         * support/regression/fwk/lib/testfwk.c (main): Removed workaround for bug #505387
2130
2131 2002-01-18  Paul Stoffregen  <paul@pjrc.com>
2132
2133         * Added --xram-movc option
2134
2135 2002-01-13  Bernhard Held  <bernhard@bernhardheld.de>
2136
2137         * support/regression/Makefile: don't include test-mcs51-stack-auto in target all
2138
2139 2002-01-11  Johan Knol
2140
2141         * Added math lib of Jesus Calvino-Fraga
2142
2143 2002-01-08  Bernhard Held  <bernhard@bernhardheld.de>
2144
2145         * src/SDCCmain.c (processFile): fix processing of ../../src.c
2146         * support/regression/Makefile: new target test-mcs51-stack-auto
2147         * support/regression/ports/mcs51-stack-auto/spec.mk: added
2148
2149 2002-01-04  Bernhard Held  <bernhard@bernhardheld.de>
2150
2151         * src/SDCCglue.h: printIvalCharPtr(), not printIvalChar()
2152
2153 2002-01-04  Bernhard Held  <bernhard@bernhardheld.de>
2154
2155         * support/regression/ports/mcs51/support.c: correct setup of timer / UART
2156
2157 2002-01-03  Bernhard Held  <bernhard@bernhardheld.de>
2158
2159         * src/SDCCsymt.c (processFuncArgs): fix #498307 by Johan
2160
2161         * src/SDCCglue.h: add definition for printIvalChar()
2162
2163 2002-01-02  Bernhard Held  <bernhard@bernhardheld.de>
2164
2165         * src/SDCCast.c: fix #498138 by Johan
2166
2167         * src/SDCCglue.c: fix #498138 by Johan
2168
2169 2002-01-02  Bernhard Held  <bernhard@bernhardheld.de>
2170
2171         * support/regression/Makefile: fix clean
2172
2173         * support/regression/ports/ds390/support.c: fix transmission of last character
2174
2175 2001-12-29  Sandeep Dutta  <sandeep@ddi.com>
2176
2177         * /sdcc/src/ds390/gen.c:
2178         a) improved computing address of stack variable
2179         b) took out some #if 0 code
2180         c) improved parmBytes adjustment
2181         d) improved genPlusIncr & genMinusIncr
2182         e) genCmp could generate bad code (when left assigned to DPTR)
2183         f) Fixed bug in hasInc
2184
2185         * /sdcc/src/ds390/ralloc.c:
2186         a) packRegsForSupport could mess up live information (Fixed)
2187         b) packRegsDPTRuse could be incorrect for left & right shift
2188
2189         * /sdcc/src/mcs51/ralloc.c:
2190         packRegsForSupport could mess up the live information (Fixed)
2191
2192         * /sdcc/src/mcs51/gen.c: Fixed a bug in hasInc
2193
2194         * /sdcc/src/SDCCast.c:
2195         can reverse a loop even if function call is present as long
2196         as the loop control variable is local & is not passed as parameter
2197
2198 2001-12-24  Sandeep Dutta  <sandeep@ddi.com>
2199
2200         * /sdcc/ChangeLog: *** empty log message ***
2201
2202         * /sdcc/src/ds390/gen.c, /sdcc/src/ds390/main.c:
2203         More builtin function additions for TININative
2204
2205         * /sdcc/src/ds390/ralloc.c:
2206         Had broken the regression testsuite
2207
2208         * /sdcc/src/SDCCast.c: Fixed a bug in dumptree
2209
2210         * /sdcc/src/SDCCsymt.c, /sdcc/src/SDCCsymt.h:
2211         Added funcattr hasStackParms will be set for reentrant functions when there
2212         are paramteres on the stack, this helps in minimizing frame pointer generation
2213         typeFromStr can handle function pointers now
2214
2215         * /sdcc/doc/builtins.txt, /sdcc/doc/TININative.txt:
2216         *** empty log message ***
2217
2218 2001-12-24  Sandeep Dutta  <sandeep@ddi.com>
2219
2220         * /src/ds390/gen.c, /src/ds390/main.c:
2221         More builtin function additions for TININative
2222
2223         * /src/ds390/ralloc.c:
2224         Had broken the regression testsuite
2225
2226         * /src/SDCCast.c: Fixed a bug in dumptree
2227
2228         * /src/SDCCsymt.c, /src/SDCCsymt.h:
2229         Added funcattr hasStackParms will be set for reentrant functions when there
2230         are paramteres on the stack, this helps in minimizing frame pointer generation
2231         typeFromStr can handle function pointers now
2232
2233         * /doc/builtins.txt, /doc/TININative.txt:
2234         *** empty log message ***
2235
2236
2237 2001-12-24  Sandeep Dutta  <sandeep@ddi.com>
2238
2239         * /src/ds390/gen.c, /src/ds390/main.c, /src/ds390/peeph.def, /src/ds390/ralloc.c:
2240         ALPHA version for -mTININative
2241
2242         * /src/izt/i186.c, /src/izt/tlcs900h.c, /src/mcs51/main.c, /src/pic/main.c, /src/z80/main.c, /src/avr/main.c:
2243         updated to reflect changes in the port structure
2244
2245         * /src/port.h:
2246         added function do_assemble (similar to do_link) if non-null this function
2247         will be called to do assembly (-mTININative) requires a multi command
2248         assembly
2249         added function genAssemblerEnd will be called to generate assembler Epilogue
2250
2251         * /src/SDCCsymt.c:
2252         added _JavaNative to debug info printing
2253
2254         * /src/SDCCmain.c: added option --tini-libid
2255         added port->do_assemble function (-mTININative) has a multi command assemble
2256
2257         * /src/SDCCglue.c: Disabled "constExpr" check
2258         added port->genAssemblerEnd function
2259
2260         * /src/SDCCglobl.h: Added option --tini-libid value
2261
2262         * /src/SDCCast.h:
2263         tookout optimizeCompare from the header (has no external references)
2264
2265         * /src/SDCCast.c: made one more function "static"
2266
2267 2001-12-23  Michael Hope  <michaelh@juju.net.nz>
2268
2269         * src/z80/mappings.i: Added z80asm support.
2270
2271         * src/z80/main.c: Added z80asm support on --asm=z80asm
2272
2273         * src/z80/gen.c: Fixed asm portability issues.
2274
2275         * src/asm.c (tvsprintf): Removed old code, added 'N' for function name.  For extern support.
2276
2277         * src/SDCCglue.c (printExterns): Added global/extern split.
2278
2279 2001-12-17  Bernhard Held  <bernhard@bernhardheld.de>
2280
2281         * support/regression/Makefile: added test for mcs51 model large
2282
2283         * support/regression/ports/mcs51-large/spec.mk: added test for mcs51 model large
2284
2285         * support/regression/ports/gbz80/spec.mk: added -mgbz80
2286
2287 2001-12-05  Michael Hope  <michaelh@juju.net.nz>
2288
2289         * src/diff.1 (Index): Many, many optmisiations.  Dhrystone up to 201.
2290
2291 1904-01-06  Michael Hope  <michaelh@juju.net.nz>
2292
2293         * src/z80/ralloc.c (packRegsForIYUse): Fixed the case where an operand is in direct space.
2294
2295         * src/z80/gen.c (makeFreePairId): Optimised IY load by using a spare pair.
2296
2297 2001-12-02  Bernhard Held  <bernhard@bernhardheld.de>
2298
2299         * src/mcs51/gen.c (genFunction): avoid excess "inc sp"
2300
2301         * support/regression/tests/simplefloat.c: Port to mcs51.
2302
2303 2001-11-25  Michael Hope  <michaelh@juju.net.nz>
2304         * support/regression/tests/bug-485362.c: Added.
2305
2306         * support/regression/tests/simplefloat.c (testDivNearOne): Added.
2307
2308         * src/z80/gen.c (aopOp): Fixed case where left and result are in the same spill loc and they have different sizes.
2309
2310         * src/z80/peeph.def: Added rules for optimising two byte compares on the same thing, and to optimise two ptr assign.
2311
2312         * src/z80/gen.c (aopDump): Added a dump function.
2313
2314 2001-11-25  Bernhard Held  <bernhard@bernhardheld.de>
2315         * sim/ucsim/s51.src/glob.cc: DS390 SFRs and bits added.
2316
2317         * sim/ucsim/s51.src/port.cc: Port 4 and 5 added.
2318
2319         * sim/ucsim/s51.src/regs51.h: DS390 SFRs added.
2320
2321         * sim/ucsim/s51.src/uc390.cc: Some details improved, CKRDY works for tinibios.
2322
2323         * sim/ucsim/s51.src/uc390cl.h: Work in progress.
2324
2325         * sim/ucsim/sim.src/uccl.h: 6 ports for DS390.
2326
2327         * support/regression/fwk/lib/testfwk.c: Run with tinibios.
2328
2329         * support/regression/ports/mcs51/spec.mk: Fine tuninig.
2330
2331         * support/regression/ports/ds390/support.c: Use tinibios.
2332
2333         * support/regression/ports/ds390/spec.mk: Fine tuning, use tinibios.
2334
2335 2001-11-23  Michael Hope  <michaelh@juju.net.nz>support/regression/tests/bug-460010.c
2336
2337         * src/z80/ralloc.c (packRegsForHLUse3): Changed to not pack into HL if anything is in direct space.
2338         (packRegsForHLUse3): Added packing support for send, cast, and return value from a call.
2339
2340         * src/z80/peeph.def: Added rules for optimising pushes of part of a pair.
2341
2342         * src/z80/gen.c (emitCall): Changed the stack fixup to not use HL.
2343
2344 2001-11-18  Michael Hope  <michaelh@juju.net.nz>
2345
2346         * src/z80/gen.c (genCmp): Fixed compare on unsigned.
2347
2348         * src/z80/ralloc.c (packRegsForHLUse3): Created and optimised.
2349         (packRegsForIYUse): Created and optimised.
2350
2351 2001-11-07  Michael Hope  <michaelh@juju.net.nz>
2352
2353         * support/regression/tests/float.c (testFloatAdd): Fixed up warning.
2354 2001-11-18  Bernhard Held  <bernhard@bernhardheld.de>
2355
2356         * sdcc/support/regression/tests/bug-460010.c: fix seg violation on host
2357
2358         * sdcc/support/regression/tests/muldiv.c: fix output on mcs51
2359
2360         * sdcc/support/regression/tests/stacks.c: fix DSEG overflow on mcs51
2361
2362 2001-11-07  Bernhard Held  <bernhard@bernhardheld.de>
2363
2364         * sdcc/sim/device/lib/_gptrget.c: mem region 5 (idata) added
2365
2366         * sdcc/sim/device/lib/_gptrput.c: mem region 5 (idata) added
2367
2368 2001-11-07  Bernhard Held  <bernhard@bernhardheld.de>
2369
2370         * sdcc/sim/ucsim/globals.cc: New: IXRAM.
2371
2372         * sdcc/sim/ucsim/stypes.h: New: IXRAM.
2373
2374         * sdcc/sim/ucsim/s51.src/uc390.cc: New: IXRAM.
2375
2376 2001-11-07  Michael Hope  <michaelh@juju.net.nz>
2377
2378         * src/z80/ralloc.c (packRegsForHLUse): Banned IFXs from being packed into HL.
2379         (packRegsForHLUse): Added rule to pack address of/pointer get for itemps into HL for the Z80.
2380         (packRegsForAccUse2): Added rule to pack hbit IFXs into A.
2381
2382         * src/z80/main.c (_setDefaultOptions): Made float code re-entrant by default.
2383
2384         * src/z80/gen.c (aopGetLitWordLong): Added word support for floats.
2385         (genNotFloat): Added.
2386         (genUminusFloat): Added.
2387
2388         * device/lib/z80/Makefile: Added floating pt stubs.
2389
2390         * device/lib/Makefile.in (Z80SOURCES): Added floating pt support.
2391
2392         * src/z80/gen.c (genIpush): Fixed up a push of one byte when left is in a pair.
2393
2394         * device/lib/_fsadd.c (__fsadd): Fixed up return where the numbers are hugely different.
2395
2396 2001-11-07  Bernhard Held  <bernhard@bernhardheld.de>
2397
2398         * sdcc/sim/ucsim/s51.src/glob.cc: Minor fix.
2399
2400         * sdcc/sim/ucsim/s51.src/regs51.h: Minor fix.
2401
2402         * sdcc/support/regression/Makefile: Add port ds390.
2403
2404         * sdcc/support/regression/ports/mcs51/spec.mk: Minor change.
2405
2406         * sdcc/support/regression/ports/z80/spec.mk: Minor change.
2407
2408         * sdcc/support/regression/ports/ds390/spec.mk: Added.
2409
2410         * sdcc/support/regression/ports/ds390/support.c: Added.
2411
2412         * sdcc/support/regression/ports/ds390/uCsim.cmd: Added.
2413
2414         * sdcc/support/regression/ports/mcs51/timeout.c: Cut.
2415
2416         * sdcc/support/regression/fwk/lib/timeout.c: Paste.
2417
2418 2001-11-04  Michael Hope  <michaelh@juju.net.nz>
2419
2420         * device/include/malloc.h: Added z80 and gbz80 support.
2421
2422         * device/lib/gbz80/heap.s: Added.
2423
2424         * device/lib/z80/heap.s: Added.
2425
2426         * device/lib/malloc.c: Added z80 and gbz80 support.
2427
2428         * support/regression/tests/malloc.c (testMalloc): Added.
2429
2430         * src/SDCCmain.c (parseCmdLine): Added support for -Wp.
2431
2432         * support/regression/tests/bug-478094.c: Added.
2433
2434         * src/z80/gen.c (commitPair): Fixed silly gbz80/z80 commit to static bug.
2435
2436 2001-11-04  Bernhard Held  <bernhard@bernhardheld.de>
2437
2438         * sdcc/sim/ucsim/s51.src/uc390cl.h: Improvement for ds390 to run regression tests
2439
2440         * sdcc/sim/ucsim/s51.src/uc390.h: Improvement for ds390 to run regression tests
2441
2442         * sdcc/sim/ucsim/s51.src/regs51.h: Improvement for ds390 to run regression tests
2443
2444         * sdcc/sim/ucsim/s51.src/glob.cc: Improvement for ds390 to run regression tests
2445
2446         * sdcc/support/regression/tests/bug-460010.c: Small change for ds390
2447
2448 2001-11-04  Michael Hope  <michaelh@juju.net.nz>
2449
2450         * src/z80/peeph-gbz80.def: Removed a bad sub optimisation.
2451
2452 2001-11-03  Michael Hope  <michaelh@juju.net.nz>
2453
2454         * support/regression/tests/bug-477927.c: Added.
2455
2456         * src/z80/peeph.def: Added minor rules.
2457
2458         * src/z80/gen.c (genPlusIncr): Added an extra plusinc rule.
2459
2460         * src/z80/peeph.def: Added jump optimisation modification.
2461
2462 2001-11-01  Michael Hope  <michaelh@juju.net.nz>
2463
2464         * src/SDCCmain.c (linkEdit): Added runtime path detection to the mcs51 port.
2465
2466 2001-10-30  Michael Hope  <michaelh@juju.net.nz>
2467
2468         * support/regression/tests/funptrs.c: Added.
2469
2470 2001-10-29  Michael Hope  <michaelh@juju.net.nz>
2471
2472         * src/z80/ralloc.c (packRegsForHLUse): Fixed up bad spill due to pushing one byte via HL.
2473
2474 2001-10-28  Michael Hope  <michaelh@juju.net.nz>
2475
2476         * src/z80/gen.c (genArrayInit): Made it work for on stack arrays.
2477
2478         * src/z80/main.c (gbz80_port =): Added rle support to the gbz80 port.
2479
2480         * src/z80/gen.c (genMinus): Fixed for where the result is one byte.
2481         (movLeft2ResultLong): Created.
2482
2483         * src/z80/ralloc.c (packRegsForHLUse): Added a couple of simple cases for the GB.
2484         (joinPushes): Added.  Joins two char pushes into a word push.
2485
2486 2001-10-27  Michael Hope  <michaelh@juju.net.nz>
2487
2488         * support/cpp2/Makefile.in (install): Added creation of dest dir.
2489
2490         * support/makebin/Makefile (install): Added creation of dest dir.
2491
2492 2001-10-24 Karl Bongers <karl@turbobit.com>
2493
2494         * configure.in, configure, Makefile, support/cpp: Removed cpp folder, since we have new cpp2 preprocessor code.
2495
2496 2001-10-21  Michael Hope  <michaelh@juju.net.nz>
2497
2498         * src/z80/ralloc.c: Turned off faulty pack for one use.
2499
2500         * src/z80/peeph-gbz80.def: Removed redundent restart options.
2501
2502         * src/z80/gen.c (genMult): Added native mul for constants on the z80 and gbz80.
2503
2504 2001-10-21  Bernhard Held  <bernhard@bernhardheld.de>
2505
2506         * support/regression/Makefile: Improved clean
2507
2508         * support/regression/ports/gbz80/spec.mk: Added clean
2509
2510         * support/regression/ports/host/spec.mk: Added clean
2511
2512         * support/regression/ports/z80/spec.mk: Added clean
2513
2514         * support/regression/ports/mcs51/spec.mk: Added clean, little improvements
2515
2516         * support/regression/ports/mcs51/timeout.c: little improvements
2517
2518 2001-10-17  Michael Hope  <michaelh@juju.net.nz>
2519
2520         * device/lib/malloc.c (MEMHEADER): Fixed against new pedantic pointers.
2521
2522         * support/regression/fwk/include/testfwk.h: Fixed up to use function pts correctly.
2523
2524         * support/regression/generate-cases.py: Fixed up to use function pts correctly.
2525
2526 2001-10-16  Bernhard Held  <bernhard@bernhardheld.de>
2527
2528         * support/regression/port/mcs51/spec.mk: add timeout for uCsim
2529
2530         * support/regression/port/mcs51/timeout.c: add timeout for uCsim
2531
2532 2001-10-13  Michael Hope  <michaelh@juju.net.nz>
2533         * src/z80/gen.c (emitCall): Fixed up missing spill of HL when used to assign the result value.
2534
2535         * src/z80/ralloc.c: Turned off pack for one use as it's quite broken.
2536
2537         * src/SDCCmain.c (linkEdit): Added support for passing a legacy command line through the processor.
2538
2539         * src/mcs51/main.c (_linkCmd): Added bin path to command.
2540
2541         * src/SDCCmain.c (initValues): Added support for when it it called just to link.
2542
2543         * as/mcs51/lklibr.c (libfil;): Turned off 'library file' message.
2544
2545         * src/SDCCval.c (constVal): Fixed usage of 'L' modifier problems on ppc.
2546
2547         * support/regression/tests/longor.c: Added.
2548
2549 2001-10-11  Bernhard Held  <bernhard@bernhardheld.de>
2550
2551         * as/mcs51/asdata.c: replaced FILENAME_MAX with PATH_MAX
2552
2553         * as/mcs51/aslink.h: define PATH_MAX
2554
2555         * as/mcs51/asm.h: define PATH_MAX
2556
2557         * as/mcs51/asmain.c: replaced FILENAME_MAX with PATH_MAX
2558
2559         * as/mcs51/asnoice.c: replaced FILENAME_MAX with PATH_MAX
2560
2561         * as/mcs51/lklex.c: replaced FILENAME_MAX with PATH_MAX
2562
2563         * as/mcs51/lkmain.c: replaced FILENAME_MAX with PATH_MAX
2564
2565         * src/SDCCglobl.h: define PATH_MAX
2566
2567         * src/SDCCmacro.c: replaced FILENAME_MAX with PATH_MAX
2568
2569         * src/SDCCmain.c: replaced FILENAME_MAX with PATH_MAX
2570
2571 2001-10-11  Michael Hope  <michaelh@juju.net.nz>
2572
2573         * src/z80/gen.c (gencjneshort): Fixed
2574
2575         * src/z80/ralloc.c (packRegsForHLUse): Added pack into HL for cast then ipush.
2576
2577 2001-10-09  Michael Hope  <michaelh@juju.net.nz>
2578
2579         * support/regression/tests/bug-469671.c: Added.
2580
2581         * src/z80/gen.c (shiftIntoPair): Fixed up warning.
2582
2583 2001-10-08  Michael Hope  <michaelh@juju.net.nz>
2584
2585         * src/SDCCmain.c: Added --fommit-frame-pointer option and implemented in the z80 port.
2586
2587         * src/z80/gen.c (genPlus): Fixed to work with extended stack.  Also fixed genMinus, genCmp.  genUMinus is still left.
2588
2589 2001-10-08  Bernhar Held  <bernhard@bernhardheld.de>
2590
2591         * src/SDCCmain.c (preProcess): added define SDCC_NOOVERLAY
2592
2593         * src/device/lib/_mulint.c  : removed hint: nooverlay bug
2594
2595         * src/device/lib/_mullong.c : removed hint: nooverlay bug
2596
2597         * src/device/lib/_divuint.c : removed hint: nooverlay bug
2598
2599         * src/device/lib/_divulong.c: removed hint: nooverlay bug
2600
2601         * src/device/lib/_moduint.c : removed hint: nooverlay bug
2602
2603         * src/device/lib/_modulong.c: removed hint: nooverlay bug
2604
2605 2001-10-07  Michael Hope  <michaelh@juju.net.nz>
2606
2607         * 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.
2608
2609         * support/Util/NewAlloc.c (freeTrace): Changed free for the gc case to not free at all.  Fixes runtime segfault.
2610
2611         * support/regression/tests/scott-compare3.c (c_abcd): Fixed up casts.
2612
2613 2001-10-07    <johan@FRIJA>
2614
2615         * device/lib/gets.c (gets): fixed the return value.
2616
2617 2001-10-06  Michael Hope  <michaelh@juju.net.nz>
2618         * src/SDCCmain.c (WRITE_SEG_LOC): Fixed up to use Safe_strdup.
2619
2620         * 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.
2621
2622         * 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.
2623
2624         * src/z80/gen.c (genZ80Code): Added de-allocation via trace support.
2625
2626         * src/pic/gen.c: Removed Safe_strdup.
2627
2628         * configure.in: Added option to enable libgc support.
2629
2630         * src/SDCCbitv.c (bitVectnBitsOn): Optimised.
2631         (bitVectUnion): Optimised.
2632         (bitVectIntersect): Optimised.
2633         (bitVectBitsInCommon): Optimised.
2634         (bitVectCplAnd): Optimised.
2635
2636         * support/makebin/makebin.c (usage): Removed getopt as mingw32 doesn't have it.  Sigh.
2637
2638 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
2639
2640         * src/SDCCmain.c: distinguish between assembler debug and plain options
2641
2642         * src/avr/main.c:   remove standard assembler options
2643
2644         * src/ds390/main.c: remove standard assembler options
2645
2646         * src/mcs51/main.c: remove standard assembler options
2647
2648         * src/port.h: removed "PENDING" comment
2649
2650 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
2651
2652         * src/device/lib/_mulint.c  : new, with assember functions
2653
2654         * src/device/lib/_mullong.c : new, with assember functions
2655
2656         * src/device/lib/_divuint.c : with assember functions
2657
2658         * src/device/lib/_divsint.c : with assember functions
2659
2660         * src/device/lib/_divulong.c: with assember functions
2661
2662         * src/device/lib/_divslong.c: with assember functions
2663
2664         * src/device/lib/_moduint.c : with assember functions
2665
2666         * src/device/lib/_modsint.c : with assember functions
2667
2668         * src/device/lib/_modulong.c: with assember functions
2669
2670         * src/device/lib/_modslong.c: with assember functions
2671
2672         * src/device/lib/libint.lib:  replaced _muluint.c  and _mulsint.c  by _mulint.c
2673
2674         * src/device/lib/liblong.lib: replaced _mululong.c and _mulslong.c by _mullong.c
2675
2676         * src/device/lib/Makefile.in: replaced _muluint.c  and _mulsint.c  by _mulint.c
2677                                       replaced _mululong.c and _mulslong.c by _mullong.c
2678
2679 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
2680
2681         * src/SDCCsymt.c: sequence of specifiers in pintTypeChain() corrected
2682
2683 2001-10-01 Bernhard Held <bernhard@bernhardheld.de>
2684
2685         * src/SDCCglue.c: test, if win32api is available for MINGW
2686
2687 2001-10-01 Bernhard Held <bernhard@bernhardheld.de>
2688
2689         * src/SDCCsymt.c: no more _modifier in printTypeChain()
2690         * support/regression/tests/driverstruct.c: REENTRANT for mcs51
2691         * support/regression/ports/gbz80/spec.mk: removed GENERIC
2692         * support/regression/ports/host/spec.mk: removed GENERIC
2693         * support/regression/ports/mcs51/spec.mk: removed GENERIC
2694         * support/regression/ports/z80/spec.mk: removed GENERIC
2695
2696 2001-10-01  Michael Hope  <michaelh@juju.net.nz>
2697
2698         * support/regression/fwk/lib/testfwk.c (__printf): Removed GENERIC.
2699
2700         * support/regression/tests/bug-467035.c: Created.
2701
2702 2001-10-01    <johan@FRIJA>
2703
2704         * src/SDCC.y: fixed bug #466586 part 1
2705
2706 2001-10-01  Johan Knol <johan.knol@iduna.nl>
2707
2708         * SDCCicode.c: z80 has no generic pointers
2709         * removed -s from strip in all Makefile(.in)'s. It is not needed, but Solaris chocks on it.
2710         
2711 2001-09-30  Michael Hope  <michaelh@juju.net.nz>
2712
2713         * sim/ucsim/cmd.src/Makefile.in ($(PRJDIR)/libcmd.a): Changed all ar references to $(AR) for Solaris.
2714
2715 2001-09-29  Michael Hope  <michaelh@juju.net.nz>
2716
2717         * Makefile (sdcc-libs): Added makebin to the list of standard targets.
2718
2719         * support/regression/ports/z80/spec.mk: Updated to use env for sdcc bin dir for automatic regression.
2720
2721 2001-09-25  Michael Hope  <michaelh@juju.net.nz>
2722
2723         * configure.in: Fixed up so that ucsim is only configured once.
2724
2725         * support/cpp2/configure.in: Fixed to use the program transform to append the .exe for the win32 build.
2726
2727         * src/SDCCutil.c (getPrefixFromBinPath): Fixed up to work with win32 in all of its glory.
2728         (getPathDifference): As above.
2729
2730         * src/SDCCmain.c (preProcess): Changed to use a temporary file in a proper temp directory.  Fixed case where pre-processing only.
2731
2732         * src/SDCCglue.c (tempfilename): Added function for pre-processor.
2733
2734 2001-09-23  Michael Hope  <michaelh@juju.net.nz>
2735         * .version: Updated to 2.3.1
2736
2737         * src/z80/main.c (z80_port =): Added macro based linker and assembler command line support.
2738         Added copyright header.
2739
2740         * src/SDCCmain.c: Shifted various functions into SDCCutil.c
2741         (assemble): Added support for macro based assembler commands.
2742         (linkEdit): Added support for macro based linker commands.
2743         (preProcess): Changed the pre-processor to use macros.
2744         (_setPaths): Added functionality to autodetect the include, lib and bin dir paths.
2745         (_discoverPaths): Added support for overriding the install directory using the SDCCDIR env variable.
2746
2747         * device/lib/z80/crt0.s: Added module name for debugging.
2748
2749 2001-09-20  Michael Hope  <michaelh@juju.net.nz>
2750
2751         * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
2752
2753         * src/SDCChasht.c (hTabDeleteByKey): Fixed delete as it would delete the last item from a bucket even if it wasn't the real one.
2754
2755         * src/SDCCglue.c: Moved gc_strdup to SDCCutil.c
2756
2757         * src/Makefile.in: Added SDCCmacro and SDCCutil
2758
2759 2001-09-19  Michael Hope  <michaelh@juju.net.nz>
2760
2761         * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
2762
2763 2001-09-16    <johan@FRIJA>
2764
2765         * 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.
2766
2767 2001-09-15    <johan@FRIJA>
2768
2769         * src/mcs51/ralloc.c: (findAssignToSym): fixed bug #460662 part 1
2770         * src/ds390/ralloc.c (findAssignToSym): fixed bug #460662 part 1
2771
2772 2001-09-11    <johan@FRIJA>
2773
2774         * src/SDCCval.c (valDiv Mod Minus Plus Shift): keep litteral expressions as small as possible (bug #460010)
2775
2776 2001-09-10  Michael Hope  <michaelh@juju.net.nz>
2777
2778         * support/regression/tests/bug-460444.c: Added test case.
2779
2780         * src/z80/gen.c (genOr): bug 460444: if (a ^ lit) was broken for &, |, and ^.
2781         (genCast): Added justification for all of the asserts.
2782
2783 2001-09-10  Bernhard Held <bernhard@bernhardheld.de>
2784
2785         * support/regression/support.c: _xdata replaced by xdata
2786
2787         * support/regression/spec.mk: removed _generic
2788
2789 2001-09-09  Michael Hope  <michaelh@juju.net.nz>
2790
2791         * src/pic/ralloc.c (debugLogRegType): Removed some old types to get it to compile.
2792
2793         * src/z80/gen.c (shiftR2Left2Result): Improved the case when v = v >> n for small values of n to use less code space and time.
2794         (genrshTwo): Fixed v = v >> n where v is a negative int and n is > 8: bug 460010.
2795
2796         * src/z80/peeph.def: Added a rule to optimise shift then compare.
2797
2798         * support/regression/tests/bug-460000.c (testShiftByParam): Added test case.
2799
2800         * support/regression/tests/bug-460010.c: Added test case.
2801
2802         * support/regression/Makefile (test-host): Removed a silly 'clean' target when testing against gcc.
2803
2804 2001-09-09  Bernhard Held <bernhard@bernhardheld.de>
2805
2806         * support/regression/Makefile: inter-port-clean adjusted for mcs51
2807
2808         * support/regression/testfwk.c: removed workaround for bug #436344
2809
2810         * support/regression/tests/bp.c: use less memory with mcs51
2811
2812         * support/regression/tests/bug-441448.c: use less memory
2813
2814         * support/regression/tests/ports/mcs51/spec.mk: cleanup, use --stack-after-data
2815
2816         * support/regression/collate-results.py: typo
2817
2818 2001-09-08  Michael Hope  <michaelh@juju.net.nz>
2819
2820         * support/regression/tests/fetchoverlap.c: Added new test case.
2821
2822         * support/regression/tests/bp.c: Added new test case.
2823
2824         * support/regression/tests/bug-448984.c: Added new test case.
2825
2826         * support/regression/tests/pow2shifts.c: Added new test case.
2827
2828         * src/z80/gen.c: Turned off the noise it normally generates for the release.
2829         (genlshTwo): Fixed right shift for count > 8.
2830
2831         * src/z80/ralloc.c: Disabled most of the ACC packing rules as they weren't getting hit and weren't at all safe.
2832
2833 2001-09-08    <johan@FRIJA>
2834
2835         * src/SDCCicode.c (geniCodeCall): a CPOINTER can be used as a function
2836
2837 2001-09-07    <johan@FRIJA>
2838
2839         * src/SDCCicode.c (newiCodeCondition): fixed bug #456235 (1.77)
2840
2841         * src/SDCCglue.c (emitRegularMap): only delete a symbol when it is a symbol
2842
2843 2001-09-06    <johan@FRIJA>
2844
2845         * src/SDCC.y: this could be a fix for bug #458744 (1.37)
2846         * bernhard noted me at this: "() equals to (void)" (1.38)
2847
2848 2001-09-05    <johan@FRIJA>
2849
2850         * src/SDCCglue.c (emitRegularMap): a fix for bug #458099/2
2851
2852 2001-09-04    <johan@FRIJA>
2853
2854         * src/SDCCsymt.c (checkSClass): a fix for bug #458099/1
2855
2856
2857 2001-09-04  Paul Stoffregen  <paul@pjrc.com>
2858
2859         * pragma noinduction broke memcpy on mcs51 large model.  Moved it inside z80 optimization
2860
2861 2001-09-03  Michael Hope  <michaelh@juju.net.nz>
2862
2863         * link/z80/aslink.h: Fixed path for PATH_MAX
2864
2865 2001-09-02  Michael Hope  <michaelh@juju.net.nz>
2866
2867         * src/z80/gen.c (fetchLitPair): Changed so that it properly caches direct space references.
2868
2869         * support/regression/tests/addsub.c: Added cases to cover all the +, - combinations.
2870
2871         * support/regression/tests/uminus.c: Added a test for the unary minus operator.
2872
2873         * 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.
2874
2875 2001-09-01  Michael Hope  <michaelh@juju.net.nz>
2876
2877         * src/z80/gen.c: Fixed up generator to pass the regresion tests, specifically fixing loads for longs, genCmp, and turned on the map file.
2878         (genCmp): Fixed up genCmp for the GB with longs.
2879
2880         * device/lib/gbz80/Makefile: Fixed up all the libraries to pass the regression tests.
2881
2882         * support/regression/ports/host/spec.mk: Updated to compile with the new type specifiers.
2883
2884         * device/lib/Makefile.in (Z80SOURCES): Removed old _mululong, _mulslong, and unneeded _mulint.
2885
2886         * device/lib/_mullong.c (_mulslong): Changed to actually return a value :)
2887
2888 2001-08-30  Paul Stoffregen  <paul@pjrc.com>
2889
2890         * added peepholes 223 to 231 to mcs51 port.  These improve code when using large model.
2891
2892 2001-08-30  Michael Hope  <michaelh@juju.net.nz>
2893
2894         * 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.
2895
2896         * src/z80/gen.c (genPlus): Changed bad long add for gb to a fall through.
2897
2898 2001-08-29  Michael Hope  <michaelh@juju.net.nz>
2899
2900         * link/z80/aslink.h: Fixed long file name support.  Is now based off PATH_MAX instead of a constant.
2901
2902         * src/z80/gen.c: Fixed add and sub for the case where left or right are in static space.
2903
2904 2001-08-30 Bernhard Held   <bernhard@bernhardheld.de>
2905
2906   * sim/ucsim/configure:    little improvement of Cygwin-detection      
2907   * sim/ucsim/configure.in: little improvement of Cygwin-detection      
2908   * sim/ucsim/cmd.src/newcmdcl.h: include <sys/types.h> to define fd_set automated build
2909   * support/regression/tests/bug-221100.c: small changes for mcs51
2910   * support/regression/tests/bug-221168.c: small changes for mcs51
2911   * support/regression/tests/bug-227710.c: small changes for mcs51
2912   * support/regression/tests/staticinit.c: small changes for mcs51
2913   * as/mcs51/aslink.h: accept everything as symbol name in rel-files, bug fix ID 452601
2914   * as/mcs51/lklex.c:  accept everything as symbol name in rel-files, bug fix ID 452601
2915   * as/mcs51/lksym.c:  accept everything as symbol name in rel-files, bug fix ID 452601