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