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