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