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