27cd4f805c65814765eba307a85a64b0839b4377
[fw/sdcc] / ChangeLog
1 2003-01-25    <johan@balder>
2
3         * src/SDCCglue.c: A better fix for bug #661910
4         * src/SDCCast.c: A better fix for bug #661910
5         * src/SDCCglue.c (emitRegularMap): That was a little too efficient
6
7 2003-01-24  Bernhard Held <bernhard@bernhardheld.de>
8
9         * src/Makefile.in: remove spawn.o
10         * src/SDCCmain.c: remove spawn.h
11         * src/SDCCmain.c (printVersionInfo): report MINGW32 instead of UNIX
12         * src/spawn.c: removed
13         * src/spawn.h: removed
14         * support/regression/ports/ds390/spec.mk: link with -r
15
16 2003-01-24    <johan@CP255758-A>
17
18         * src/ds390/gen.c (aopOp): fixed bug #667458
19         * src/SDCCglue.c (emitRegularMap): fixed bug #458099 again
20         * src/SDCCast.c (createIvalCharPtr): fixed bug #661910
21         (createIvalCharPtr): an ival doesn't always have a storage class anymore
22
23 2003-01-24  Bernhard Held <bernhard@bernhardheld.de>
24
25         * src/mcs51/peeph.def: better assembler identation by Frieder
26         * src/mcs51/gen.c: better assembler identation by Frieder
27
28 2003-01-22  Bernhard Held <bernhard@bernhardheld.de>
29
30         * as/z80/string.h: removed for gcc 3.2
31         * support/makebin/makebin.c: #include <string.h> for gcc 3.2
32         * src/pic/pcode.c (get_op_from_instruction): fix concatenation of string literals with __FUNCTION__ for gcc 3.2
33
34 2003-01-19  Bernhard Held <bernhard@bernhardheld.de>
35
36         * src/SDCCmain.c (linkEdit): rename mem and map files even in case of failure
37         * src/SDCCpeeph.c (replaceRule): fix bug #663503
38         * support/regression/Makefile: separate temp files for ports
39         * support/regression/generate-cases.py: separate temp files for ports
40         * src/mcs51/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
41         * src/ds390/peeph.def: Frieder: removed 237 (obsolete by 236g and 105); added 237 a/b
42
43 2003-01-19  Bernhard Held <bernhard@bernhardheld.de>
44
45         * moved tinitalk to device/examples/ds390
46
47 2003-01-14  Bernhard Held <bernhard@bernhardheld.de>
48
49         * as/mcs51/lkmem.c: rflag is for DS390
50         * src/SDCCglobl.h: removed out_name and options stackOnData, genericPtr
51         * src/SDCCmain.c (optionsTable, setDefaultOptions): removed --stack-after-data and --generic
52                          (linkEdit): move mem- and map-files the same way as ihx-files
53         * src/z80/main.c (_setDefaultOptions): removed --generic
54         * src/SDCCmain.c (_processC1Arg, parseCmdLine, main): --c1mode works again
55         * src/SDCCglue.c (createInterruptVect, glue): --c1mode works again
56         * src/pic/glue.c (picglue): --c1mode works again
57         * src/pic16/glue.c (pic16glue): --c1mode works again
58         * src/asm.c (printCLine): fix #660034
59
60 2003-01-13  Bernhard Held <bernhard@bernhardheld.de>
61
62         * src/ds390/peeph.def: fix #123; add 14 rules by Fiorenzo D. Ramaglia <fd.ramaglia@tin.it>, 1 by Frieder
63         * src/mcs51/peeph.def: fix #123; add 14 rules by Fiorenzo, 1 by Frieder
64         * src/mcs51/gen.c (genFunction): emit r0 instead of ar0 by Fiorenzo
65         * as/mcs51/lkmem (summary): better fix for sp problem
66         * src/SDCCglue.c (glue): __start_stack - 1, saves 1 byte!
67         * src/ds390/main.c (_ds390_finaliseOptions, _tininative_finaliseOptions): stack_loc = 0x400008
68         * support/regression/ports/*/spec.mk: moving testfwk-object to port dir allow parallel execution of regression tests
69                                               remove --stack-after-data
70
71 2003-01-12  Bernhard Held <bernhard@bernhardheld.de>
72
73         * src/SDCCmain.c (main): port->finaliseOptions() moved for z80 linking
74         * src/SDCCutil.c (join): ugly bug: missing '\0'
75         * as/mcs51/lkmem.c (summary): sp on address 7 is safe
76
77 2003-01-11  Bernhard Held <bernhard@bernhardheld.de>
78
79         * src/SDCCmain.c (assemble, linkEdit): preparations for -o
80         * src/port.h: typo
81         * src/pic/main.c (_asmCmd): gpasm supports -o
82         * src/z80/main.c: more general macros
83         * device/lib/Makefile.in: remove intermediate files
84
85 2003-01-11  Bernhard Held <bernhard@bernhardheld.de>
86
87         * .version: Bumped version number to 2.3.3
88         * src/SDCCBBlock.c: new option -o
89         * src/SDCCglobl.h: new option -o
90         * src/SDCCglue.c: new option -o
91         * src/SDCCmain.c: new option -o
92         * src/asm.c: new option -o
93         * src/ds390/main.c: new option -o
94         * src/pic/glue.c: new option -o
95         * src/pic/pcode.c: new option -o
96         * src/pic/ralloc.c: new option -o
97         * src/pic16/glue.c: new option -o
98         * src/pic16/pcode.c: new option -o
99         * src/pic16/ralloc.c: new option -o
100         * src/z80/main.c: new option -o
101         * device/lib/Makefile.in: use -o
102         * support/regression/ports/ds390/spec.mk: use -o
103         * support/regression/ports/gbz80/spec.mk: use -o
104         * support/regression/ports/mcs51/spec.mk: use -o
105         * support/regression/ports/mcs51-stack-auto/spec.mk: use -o
106         * support/regression/ports/z80/spec.mk: use -o
107         * support/regression/ports/ucz80/spec.mk: use -o
108         * support/regression/ports/xa51/spec.mk: use -o
109         * support/regression/fwk/lib/timeout.c: fix usage string
110
111 2003-01-09  Bernhard Held <bernhard@bernhardheld.de>
112         * src/mcs51/gen.c (genPlus): replaced "mov b,acc" by "mov b,a" Fiorenzo D. Ramaglia <fd.ramaglia@tin.it>
113         
114 2003-01-07    <johan@balder>
115
116         * src/SDCCast.c (decorateType): fixed bug #600035
117
118 2003-01-07  Bernhard Held <bernhard@bernhardheld.de>
119         * as/mcs51/lkmem.c: added several l-modifiers to printf to remove warnings
120         * as/mcs51/lkaomf51.c: #include <ctype.h> to remove warnings
121         * src/pic/main.c (_hasNativeMulFor): outcommented unused variables to remove warnings
122         * src/pic/pcode.c: outcommented unused variable to remove warnings
123         * src/pic/ralloc.c: outcommented unused variable to remove warnings
124
125 2003-01-06    <karl@turbobit.com>
126         * sim/ucsim/cmd.src/command.cc: fixed so "break xram r 0x7654" works again in
127    regression tests.
128
129 2003-01-06    <johan@balder>
130
131         * src/SDCCicode.c: fixed array add
132
133 2002-01-05  Bernhard Held <bernhard@bernhardheld.de>
134         * src/SDCCmacro.c: MAX_STRING_LENGTH increased to 2048; was too small for regression tests
135         * support/regression/ports/host/support.c: #include <stdarg.h> for gcc 3.2
136
137 2003-01-04    <johan@balder>
138
139         * src/SDCCval.c (getNelements): fixed the initialized array of structures
140
141 2002-12-29  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
142         * as/mcs51/Makefile.bcc: fixed typo lkomf51.o -> lkaomf51.o
143
144 2002-12-28  Bernhard Held <bernhard@bernhardheld.de>
145         * src/mcs51/peeph.def: added rules 234 and 235 from Frieder Ferlemann <frieder.ferlemann@web.de>
146         * support/regression/tests/bug-524697.c: fit mem usage into 8032
147
148 2002-12-28  Bernhard Held <bernhard@bernhardheld.de>
149         * src/mcs51/gen.c (aopGetUsesAcc): inserted missing "return FALSE"
150
151 2002-12-27  Bernhard Held <bernhard@bernhardheld.de>
152         * as/mcs51/Makefile.in: fixed typo lkomf51.o -> lkaomf51.o
153
154 2002-12-26  Bernhard Held <bernhard@bernhardheld.de>
155         * src/mcs51/main.c: removed {bindir}{sep} from aslink
156
157 2002-12-10  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
158
159     * in \sdcc\as\mcs51\ changed these files in order to create an
160     aomf51 file: aslink.h, lkdta.c, lklex.c, lklibr.c, lklist.c,
161     lkmain.c.  Also added: lkmem.c and lkaomf51.c.  Changed the 
162     following files to include the previous two files: aslink.dsp,
163     Makefile.aslink, Makefile.bcc, and Makefile.in.
164
165     * Changed \sdcc\src\SDCCmain.c so it creates files with extension
166     .adb instead of .cdb
167     
168 2002-11-09  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
169
170         * \sdcc\as\mcs51\lklist.c: Now reports memory usage using the
171         value from option --iram-size.
172
173 2002-09-20  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
174
175         * \sdcc\as\mcs51\lklist.c: added boundary check before using
176         dram[] array.
177
178 2002-09-18    <wiml@hhhh.org>
179
180         * SDCClrange.h: exposed setFromRange() and setToRange()
181         * mcs51/ralloc.c: fixed over-eager packRegsForSupport() and
182           packRegsForAccUse() (bug 542397)
183         * mcs51/gen.c: MOVA() is now a function to avoid calling aopGet()
184           multiple times and emitting the fetch operations more than once
185           added aopGetUsesAcc() function to allow binary operators to
186           fetch their operands in the correct order; made genMinus() emit
187           compact code for X = LITERAL - Y 
188
189 2002-09-00  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
190         * \sdcc\as\mcs51\lklist.c: Fixed incorrect number of parameters to
191         sprintf() in line 1267.
192
193 2002-09-08  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
194         * \sdcc\src\SDCCglue.c: Generate areas REG_BANK_[0-3] only for 8051
195         like ports.
196
197 2002-09-04  Jesus Calvino-Fraga <jesusc@ece.ubc.ca>
198         Changes to aslink (All the changes are marked with 'JCF'):
199
200         * \sdcc\as\mcs51\aslink.h: External definition of sflag and
201         summary().
202
203         * \sdcc\as\mcs51\lkarea.c: Computes the size of area BSEG_BYTES from
204         area BSEG.  Also moves, if possible, the DATA area down into the internal
205         ram so more space is available.
206
207         * \sdcc\as\mcs51\lkdata.c: Definition of memory summary output flag
208         sflag.
209
210         * \sdcc\as\mcs51\lklist.c: For the BSEG area report the size in bits,
211         not bytes.  Function summary() which creates a memory usage summary
212         file with extension .mem.  Reports of overlaping stack and small stack
213         size.  If the space for the stack is less than 16 bytes aslink trows a
214         warning.
215         
216         * \sdcc\as\mcs51\lkmain.c: Creation of some of the default areas for
217         the 8051.  Option 'y' for memory summary output file.
218
219         Changes to sdcc (All the changes are marked with 'JCF'):
220
221         * \sdcc\src\SDCCglobl.h: External definition of RegBankUsed[4].
222
223         * \sdcc\src\SDCCglue.c:  If a register bank is used, creates an
224         overlaying area for it (uses RegBankUsed[4]).
225
226         * \sdcc\src\SDCCmain.c: Definition RegBankUsed[4]; marks register
227         bank zero as used by default.  By default aslink locates the stack
228         (equivalent to --stack-after-data).  Pass option 'y' to aslink for
229         the creation of the .mem file.  Delegates the allocation of data area
230         to aslink (it is not longer 0x30 by default).  If --stack-loc passes
231         the begining of the stack area to aslink.
232
233         * \sdcc\src\SDCCmem.c:  If a register bank is used, marks it so
234         glue() in SDCCglue.c creates an area for it.
235         
236 2002-09-03  Borut Razem <borut.razem@siol.net>
237         * sdcc/src/SDCCglue.c, sdcc/src/SDCCglue.h, sdcc/src/SDCCmain.c,
238         sdcc/src/pic/glue.c:
239         introduced atexit() handler for teporay files removal in case of
240         errors, assertions, ...
241
242 2002-08-29  Borut Razem <borut.razem@siol.net>
243         * sdcc/support/cpp2/auto-host_vc_in.h:
244         re-definition of O_BINARY and other O_XXX as _O_BINARY and _O_XXX, so the problem
245         with the returned value from read() in sdcc/support/cpp2/cppfiles.c is solved for MSC.
246         Maybe there is a similar problem with BORLANDC? It should be checked!
247
248         * sdcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c, sdcc/src/z80/ralloc.c:
249         corrected improper use of assert: the assignment to clr variable was done inside the assert.
250         In case that NDEBUG was defined, the assert macro was substituted with no-op, so the assignment
251         was not executed, and the compiler (cl) launched a warning:
252         ralloc.c(1442) : warning C4700: local variable 'clr' used without having been initialized
253
254 2002-08-28  Bernhard Held <bernhard@bernhardheld.de>
255         * src/SDCCglue.c (printIvalArray): iterative calculation of array length
256
257 2002-08-28  Jesus Calvino-Fraga and Borut Razem <borut.razem@siol.net>
258         * sdcc/sdcc.dsw: added sdcpp, sdcppa, yacc, conf projects
259
260         * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
261           sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp,
262           sdcc/src/xa51/xa51.dsp, sdcc/src/avr/avra.dsp,
263           sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
264           sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp,
265           sdcc/src/xa51/xa51a.dsp, sdcc/as/as_z80.dsp,
266           sdcc/as/aslink.dsp, sdcc/as/asx8051.dsp, sdcc/packihx/packihx.dsp:
267         - added Release configuration in VS projects
268         - review of compiler an linker options
269         - VC .exe files are generated in bin_vc directory, not to interfere
270           with binaries generated from other projects (cygwin, mingw, bcc ...)
271
272         * sdcc/src/yacc.dsp: added
273
274         * sdcc/config.dsp, sdcc/configure_vc.awk, sdcc/sdcc_vc_in.h:
275         added - genarate sdcc_vc.h using sdcc_vc_in.h as template
276         and insert the version number definitions from .version 
277
278         * sdcc/support/cpp2/sdcpp.dsp: added - VC project for sdcpp
279
280         * sdcc/support/cpp2/sdcppa.dsp, sdcc/support/cpp2/auto-host_vc_in.h:
281         added - genarate auto-host.h using auto-host_vc_in.h as template
282
283         * sdcc/sdcc_vc.h,
284         removed from CVS, generated automatically
285
286 2002-08-25  Bernhard Held <bernhard@bernhardheld.de>
287         * support/scripts/inc2h.pl: use gputils or gpasm (from Nathan Hurst)
288
289 2002-08-11  Borut Razem <borut.razem@siol.net>
290         * support/Util/NewAlloc.c: removed unneeded #include "sdccconf.h" (suggested by Jesus Calvino-Fraga)
291
292 2002-08-10  Borut Razem <borut.razem@siol.net>
293         * src/SDCCmain.c (main):
294         file preOutName was unlinked before closed. This seems to be OK on UNIX and cygwin
295         platforms, but it doesn't work with Visual Studio: the opened file can not be removed.
296         The consequence was that some temporary files were not removed.
297
298         * src/SDCCglue.c:
299         unification of code in functions tempfilename() and tempfile():
300         function tempnam() is defined in Visual Studio 6.0 and .NET
301
302         * sdcc/sdcc.dsw: removed project sdcpp, added project xa51a
303
304         * sdcc/src/src.dsp, sdcc/src/avr/avr.dsp, sdcc/src/ds390/ds390.dsp,
305           sdcc/src/mcs51/mcs51.dsp, sdcc/src/pic/pic.dsp, sdcc/src/z80/z80.dsp:
306         - removed compiler command line option /WX: Treats all warnings as errors
307         - update a list of source files, included into the project
308
309         * sdcc/src/avr/avra.dsp, sdcc/src/ds390/ds390a.dsp, sdcc/src/mcs51/mcs51a.dsp,
310           sdcc/src/pic/pica.dsp, sdcc/src/z80/z80a.dsp:
311         changed project type to Generic Project so that can be correcly converted to VS.NET project
312
313         * sdcc/as/mcs51/asm.h: definition of PATH_MAX for MSC
314
315         * sdcc/src/SDCCast.c: solved MSC error in function decorateType()
316
317         * sdcc/src/SDCC.y: added missing ending ';' to rules to get rid of bison warnings
318
319         * dcc/src/ds390/ralloc.c, sdcc/src/mcs51/ralloc.c:
320         added return 0 statements after assert() to make compiler happy
321
322         * sdcc/src/xa51/peeph.rul, sdcc/src/xa51/peeph.def, sdcc/src/z80/ralloc.c:
323         added newline in the def file to keep MSC compiler satisfied
324
325         * sdcc/src/z80/gen.c:
326         - function strcasecmp() is not defined in MSC (and probably also in BORLANDC),
327           so it is replaced with STRCASECMP, which is defined as stricmp in case of MSC and BORLANDC
328         - solved MSC error in function aopDump()
329
330         * sdcc_vc.h: define PREFIX as "\\sdcc"
331
332 2002-07-18  Bernhard Held <bernhard@bernhardheld.de>
333         * src/SDCCast.c (decorateType): fixed access to array of structures http://sourceforge.net/mailarchive/forum.php?thread_id=902690&forum_id=4107
334
335 2002-06-22  Scott Dattalo <scott@dattalo.com>
336         * src/pic/*: Numerous bug fixes. Flow analysis has been enhanced. 
337         - Rewrote the register banking algorithm. 
338         - Added pCode live-range analysis to registers (for now, only non-used and 
339         singly-used registers optimized away)
340
341         * src/pic/pcoderegs.[ch]: Added new files for pCode live-range analysis
342
343         * support/scripts/inc2h.pl Kevin L. Pauba <klpauba@cox.net> submitted this perl script for converting MicroChip include files into SDCC Pic include files.
344         
345 2002-05-10  Scott Dattalo <scott@dattalo.com>
346         * src/pic/*: Added support for multiplication. Fixed many,many bugs.
347         
348 2002-04-22  Michael Hope  <michaelh@vroom>
349
350         * device/lib/z80/printf.c: Changed emitter to volatile to work around a pcall bug.
351
352         * configure.in (DD_COPT): Added include support required for gbdk.
353
354         * .version: Bumped version number just to increase it.
355
356         * src/SDCCmain.c: Added -nostdinc to the default options.
357
358 2002-04-15  Michael Hope  <michaelh@vroom>
359
360         * device/lib/z80/printf.c (sprintf): Added.
361
362         * src/z80/ralloc.c (packRegisters): Disabled pack HL use for GB as it's broken.
363
364         * src/z80/peeph.def: Added transpose redundent load rule.
365
366         * src/z80/main.c: Added force callee saves for jaune.
367
368         * src/port.h: Removed the i186 and tlcs-900h ports as they weren't being being developed.
369
370         * src/SDCCmain.c: Pulled the options definition out so that you can add port specific options without changing the main file.
371
372 2002-03-28  Johan Knol  <johan@balder>
373
374         * src/SDCCval.c: fixed bug #532436
375
376 2002-03-14  Scott Dattalo <scott@dattalo.com>
377         * /src/port.h:
378         Added "char *Processor" field to the port structure.
379
380         * /src/SDCCmain.c:
381         Added -p option. Allows port dependent processor to be specified.
382
383         * all ports:
384         Initialized the new field char *Processor field to NULL in all ports
385
386         * /src/pic/*:
387         Compiler generated registers for interrupt context saving
388         were not getting allocated.
389                 
390 2002-03-16  Sandeep Dutta  <sandeep@ddi.com>
391
392         * /src/SDCCast.c:
393         Fixed left shift. Will promote the left side of a left shift
394         if a) left shifting more than size of operand or b) when assigned
395         to something size > size of left side
396
397 2002-03-14  Scott Dattalo <scott@dattalo.com>
398         * src/pic/*
399         tons of changes. Register allocation has been 
400         rewritten. Added customization for the various PICs. Flow
401         analysis is restructured. ...
402
403         * src/pic/device.h:
404         Added
405
406         * src/pic/device.c:
407         Added. device.c is a PIC port hack to accomodate variations
408         in PIC devices.
409
410 2002-03-13  Michael Hope  <michaelh@vroom>
411
412         * src/z80/gen.c (genGenPointerGet): Fixed a bug where a pointer in HL is dereferenced into HL but HL is not spilled.  Yeah.
413
414 2002-03-04  johanknol  <johanknol@manik>
415
416         * /src/SDCCval.c: fixed
417
418         const unsigned char arr[][2] = { { 0, 1 } };
419         t18.c:1: error: Initializer element is not constant
420
421 2002-03-04  bela  <bela@manik>
422
423         * /device/include/mcs51reg.h:
424         ds89c420 register definition update
425
426 2002-03-03    <johan@FRIJA>
427
428         * support/Util/SDCCerr.c: did something, but don't no why anymore
429
430         * support/regression/tests/bug-524691.c: made it a little less shy 
431
432         * src/SDCCast.c (decorateType): fixed bug #524697
433
434         * src/SDCCast.c: made some lineno improvements
435
436         * src/SDCCval.c (getNelements): changed warning to error
437
438         * src/SDCCglue.c (printIvalArray): changed warning to error
439
440         * src/SDCCicode.c: fixed a warning for mingw
441
442         * src/SDCCast.c (decorateType): fixed the << promotion for ops
443
444         * src/SDCCicode.c (geniCodeDivision): divide is shift only for unsigned (bug #524685)
445
446 2002-03-02  Sandeep Dutta  <sandeep@ddi.com>
447
448         * src/ds390/peeph.def:
449         Added some more peephole rules
450
451         * src/ds390/gen.c: Various fixes & enhancements
452
453         * src/SDCClrange.c, src/SDCClrange.h:
454         functions "alldefsoutofrange" and "notusedinblock" moved to SDCClrange.c
455
456         * src/ds390/ralloc.c:
457         various fixes & enhancements (ds390) specific
458
459         * src/avr/ralloc.c, src/mcs51/ralloc.c, src/pic/ralloc.c, src/xa51/ralloc.c, src/z80/ralloc.c:
460         Functions "allDefsOutOfRange" & "notUsedinBlock" moved to SDCClrange.c
461         from rallocs.
462
463         * sdcc/src/SDCCcse.c: Better fix for bug # 514308
464
465 2002-03-02    <johan@FRIJA>
466
467         * src/SDCCast.c (decorateType): fixed bug #524708
468
469         * src/SDCCval.c (floatFromVal): fixed the literal void (whatever that may be)
470
471         * src/SDCCicode.c (geniCodePtrPtrSubtract): fixed bug #524691
472
473 2002-03-01  Michael Hope  <michaelh@vroom>
474
475         * src/SDCCsymt.c (initCSupport): Removed managling of support function names.
476
477         * src/z80/ralloc.c (packRegsForIYUse): Fixed fp bug where four byte operands were packed into IY.
478
479 2002-03-01    <johan@FRIJA>
480
481         * src/SDCCglue.c (printIvalPtr): fixed bug #524211
482
483         * src/SDCCast.c (decorateType): fixed bug #524209
484
485         * src/SDCCval.c (valNot): fixed bug #524195
486
487 2002-02-26    <johan@balder>
488
489         * src/xa51/gen.c: fixed a warning
490
491         * src/SDCCglue.c (printIvalFuncPtr): fixed bug #522534
492
493         * src/SDCCast.c (decorateType): fixed bug #522534
494
495 2002-02-23    <johan@balder>
496
497         * src/SDCCdflow.c (computeDataFlow): fixed bug #460088
498
499 2002-02-22    <johan@balder>
500
501         * src/SDCCast.c: fixed bug #514865
502
503         * src/SDCCy.c ("SDCC.y"): fixed bug #516625
504
505 2002-02-21  Sandeep Dutta  <sandeep@ddi.com>
506
507         * sdcc/src/SDCCloop.c:
508         Previous fix was not good. basic blocks that have "break" or "return" are
509         not really partof a loop , but live ranges used in these blocks should
510         be live thru the entire loop, so set partOfLoop but don't add them to
511         loop region
512
513 2002-02-21    <johan@FRIJA>
514
515         * src/SDCCcse.c: fixed bug #514308
516
517 2002-02-20  Sandeep Dutta  <sandeep@ddi.com>
518
519         * src/SDCCloop.c:
520         Fixed BUG #519583. If a conditional block ended in a return/break
521         statement inside a loop, it was not being considered part of the loop.
522
523         * src/SDCCcflow.c: Removed fix (Fixed in SDCCloop.c)
524
525 2002-02-10  Karl Bongers <karl@turbobit.com>
526
527         * debugger/*:
528         Fixed up SDCDB debugger somewhat.  Updated debugger/README
529         with lots of comments and notes.
530
531         * device/examples/test2.c:
532         Fix bug, "red" variable not being initialized(compiler complained).
533
534         * device/examples/Makefile, examples/test3.c:
535         Add Makefile in device/examples folder, compiles test3.c
536         for use as a multiple module SDCDB test case.
537
538         * sim/ucsim/cmd.src/cmdset.cc:
539         Took out debug printfs in ucsim "next" command.
540
541         * sim/ucsim/xa.src:
542         Karl and Johan start ucsim XA support.  Most dissassembly working,
543         about 75% emulation done(plenty of work remaining).
544
545         * sim/ucsim/z80.src:
546         Add Z80 support to ucsim, add test-ucz80 regression test,
547         notice ucsim/z80 emulation fails on examples/test3.c/itoa code.
548         Notice z80 compiler fails on examples/test3.c/crc code.
549
550 2002-01-30  Sandeep Dutta  <sandeep@ddi.com>
551
552         * src/mcs51/gen.c, src/mcs51/main.c, src/mcs51/ralloc.c:
553         Added support for --parms-in-bank1
554
555         * src/ds390/peeph.def:
556         added a few more peephole optimzations
557
558         * src/ds390/main.c:
559         1) added __builtin_inp & __builtin_outp used to read in data of given length
560            from a memory mapped port
561         2) added __builtin_memcmp
562         3) added __builtin_swapw swap bytes of a short
563
564         * src/ds390/gen.c, src/ds390/gen.h, src/ds390/ralloc.c:
565         1) handle multiple send & receives from register bank1
566         2) ralloc can now allocate DPTR1 to some liveRanges
567
568         * src/SDCCsymt.c, src/SDCCsymt.h:
569         changes to handle multiple sends & receives
570
571         * src/SDCCptropt.h:
572         added some pointer arithmetic optimization
573
574         * src/SDCCptropt.c:
575         added some pointer arithmetic optimizations but not stable yet so not
576         called from anywhere (will get this working shortly)
577
578         * src/SDCCopt.c: fixed for multiple sends & receives
579
580         * src/SDCCmain.c:
581         1) added options --parms-in-bank1 (ds390/mcs51) & --protect-sp-update
582         2) preprocessing done AFTER port->finalizeoptions . This allows ports to
583            set preprocessor defines (depending on options)
584
585         * src/SDCCicode.c, src/SDCCicode.h:
586         changes made to handle multiple sends & receives
587
588         * src/SDCCglobl.h:
589         Added options --protect-sp-update (ds390) and --parms-in-bank1 (ds390/mcs51)
590
591         * src/SDCCcse.c, src/SDCCcse.h:
592         added function findbackward def (to be used in upcoming optimization)
593
594         * src/SDCCcflow.c, src/SDCCcflow.h:
595         added function returnAtEnd - to determine if a basic block terminates with
596         a RETURN iCode
597
598         * src/SDCCast.c, src/SDCCast.h:
599         added option parms-in-bank1
600
601         * device/lib/_divsint.c, device/lib/_divslong.c, device/lib/_divuint.c 
602         * device/lib/_divulong.c, device/lib/_modsint.c, device/lib/_modslong.c 
603         * device/lib/_modulong.c, device/lib/_mulint.c, device/lib/_mullong.c:
604         adjusted for --parms-in-bank1 option
605
606         * device/include/string.h:
607         donot redefine "reentrant" keyword
608
609         * device/include/ds80c390.h: Added some more SFRs
610
611 2002-01-28  Bernhard Held  <bernhard@bernhardheld.de>
612
613         * sim/ucsim: Merged branch ucsim-034-pre3 to main trunk; new version 0.4 
614
615 2002-01-26  Bernhard Held  <bernhard@bernhardheld.de>
616
617         * src/SDCCast.c (funcOfType): fix usage of double --float-reent
618
619 2002-01-22  Bernhard Held  <bernhard@bernhardheld.de>
620
621         * support/regression/fwk/lib/testfwk.c (main): Removed workaround for bug #505387
622
623 2002-01-18  Paul Stoffregen  <paul@pjrc.com>
624
625         * Added --xram-movc option
626
627 2002-01-13  Bernhard Held  <bernhard@bernhardheld.de>
628
629         * support/regression/Makefile: don't include test-mcs51-stack-auto in target all
630
631 2002-01-11  Johan Knol
632
633         * Added math lib of Jesus Calvino-Fraga
634
635 2002-01-08  Bernhard Held  <bernhard@bernhardheld.de>
636
637         * src/SDCCmain.c (processFile): fix processing of ../../src.c
638         * support/regression/Makefile: new target test-mcs51-stack-auto
639         * support/regression/ports/mcs51-stack-auto/spec.mk: added
640
641 2002-01-04  Bernhard Held  <bernhard@bernhardheld.de>
642
643         * src/SDCCglue.h: printIvalCharPtr(), not printIvalChar()
644
645 2002-01-04  Bernhard Held  <bernhard@bernhardheld.de>
646
647         * support/regression/ports/mcs51/support.c: correct setup of timer / UART
648
649 2002-01-03  Bernhard Held  <bernhard@bernhardheld.de>
650
651         * src/SDCCsymt.c (processFuncArgs): fix #498307 by Johan
652
653         * src/SDCCglue.h: add definition for printIvalChar()
654
655 2002-01-02  Bernhard Held  <bernhard@bernhardheld.de>
656
657         * src/SDCCast.c: fix #498138 by Johan
658
659         * src/SDCCglue.c: fix #498138 by Johan
660
661 2002-01-02  Bernhard Held  <bernhard@bernhardheld.de>
662
663         * support/regression/Makefile: fix clean
664
665         * support/regression/ports/ds390/support.c: fix transmission of last character
666
667 2001-12-29  Sandeep Dutta  <sandeep@ddi.com>
668
669         * /sdcc/src/ds390/gen.c:
670         a) improved computing address of stack variable
671         b) took out some #if 0 code
672         c) improved parmBytes adjustment
673         d) improved genPlusIncr & genMinusIncr
674         e) genCmp could generate bad code (when left assigned to DPTR)
675         f) Fixed bug in hasInc
676
677         * /sdcc/src/ds390/ralloc.c:
678         a) packRegsForSupport could mess up live information (Fixed)
679         b) packRegsDPTRuse could be incorrect for left & right shift
680
681         * /sdcc/src/mcs51/ralloc.c:
682         packRegsForSupport could mess up the live information (Fixed)
683
684         * /sdcc/src/mcs51/gen.c: Fixed a bug in hasInc
685
686         * /sdcc/src/SDCCast.c:
687         can reverse a loop even if function call is present as long
688         as the loop control variable is local & is not passed as parameter
689
690 2001-12-24  Sandeep Dutta  <sandeep@ddi.com>
691
692         * /sdcc/ChangeLog: *** empty log message ***
693
694         * /sdcc/src/ds390/gen.c, /sdcc/src/ds390/main.c:
695         More builtin function additions for TININative
696
697         * /sdcc/src/ds390/ralloc.c:
698         Had broken the regression testsuite
699
700         * /sdcc/src/SDCCast.c: Fixed a bug in dumptree
701
702         * /sdcc/src/SDCCsymt.c, /sdcc/src/SDCCsymt.h:
703         Added funcattr hasStackParms will be set for reentrant functions when there
704         are paramteres on the stack, this helps in minimizing frame pointer generation
705         typeFromStr can handle function pointers now
706
707         * /sdcc/doc/builtins.txt, /sdcc/doc/TININative.txt:
708         *** empty log message ***
709
710 2001-12-24  Sandeep Dutta  <sandeep@ddi.com>
711
712         * /src/ds390/gen.c, /src/ds390/main.c:
713         More builtin function additions for TININative
714
715         * /src/ds390/ralloc.c:
716         Had broken the regression testsuite
717
718         * /src/SDCCast.c: Fixed a bug in dumptree
719
720         * /src/SDCCsymt.c, /src/SDCCsymt.h:
721         Added funcattr hasStackParms will be set for reentrant functions when there
722         are paramteres on the stack, this helps in minimizing frame pointer generation
723         typeFromStr can handle function pointers now
724
725         * /doc/builtins.txt, /doc/TININative.txt:
726         *** empty log message ***
727
728
729 2001-12-24  Sandeep Dutta  <sandeep@ddi.com>
730
731         * /src/ds390/gen.c, /src/ds390/main.c, /src/ds390/peeph.def, /src/ds390/ralloc.c:
732         ALPHA version for -mTININative
733
734         * /src/izt/i186.c, /src/izt/tlcs900h.c, /src/mcs51/main.c, /src/pic/main.c, /src/z80/main.c, /src/avr/main.c:
735         updated to reflect changes in the port structure
736
737         * /src/port.h:
738         added function do_assemble (similar to do_link) if non-null this function
739         will be called to do assembly (-mTININative) requires a multi command
740         assembly
741         added function genAssemblerEnd will be called to generate assembler Epilogue
742
743         * /src/SDCCsymt.c:
744         added _JavaNative to debug info printing
745
746         * /src/SDCCmain.c: added option --tini-libid
747         added port->do_assemble function (-mTININative) has a multi command assemble
748
749         * /src/SDCCglue.c: Disabled "constExpr" check
750         added port->genAssemblerEnd function
751
752         * /src/SDCCglobl.h: Added option --tini-libid value
753
754         * /src/SDCCast.h:
755         tookout optimizeCompare from the header (has no external references)
756
757         * /src/SDCCast.c: made one more function "static"
758
759 2001-12-23  Michael Hope  <michaelh@juju.net.nz>
760
761         * src/z80/mappings.i: Added z80asm support.
762
763         * src/z80/main.c: Added z80asm support on --asm=z80asm
764
765         * src/z80/gen.c: Fixed asm portability issues.
766
767         * src/asm.c (tvsprintf): Removed old code, added 'N' for function name.  For extern support.
768
769         * src/SDCCglue.c (printExterns): Added global/extern split.
770
771 2001-12-17  Bernhard Held  <bernhard@bernhardheld.de>
772
773         * support/regression/Makefile: added test for mcs51 model large
774
775         * support/regression/ports/mcs51-large/spec.mk: added test for mcs51 model large
776
777         * support/regression/ports/gbz80/spec.mk: added -mgbz80
778
779 2001-12-05  Michael Hope  <michaelh@juju.net.nz>
780
781         * src/diff.1 (Index): Many, many optmisiations.  Dhrystone up to 201.
782
783 1904-01-06  Michael Hope  <michaelh@juju.net.nz>
784
785         * src/z80/ralloc.c (packRegsForIYUse): Fixed the case where an operand is in direct space.
786
787         * src/z80/gen.c (makeFreePairId): Optimised IY load by using a spare pair.
788
789 2001-12-02  Bernhard Held  <bernhard@bernhardheld.de>
790
791         * src/mcs51/gen.c (genFunction): avoid excess "inc sp"
792
793         * support/regression/tests/simplefloat.c: Port to mcs51.
794
795 2001-11-25  Michael Hope  <michaelh@juju.net.nz>
796         * support/regression/tests/bug-485362.c: Added.
797
798         * support/regression/tests/simplefloat.c (testDivNearOne): Added.
799
800         * src/z80/gen.c (aopOp): Fixed case where left and result are in the same spill loc and they have different sizes.
801
802         * src/z80/peeph.def: Added rules for optimising two byte compares on the same thing, and to optimise two ptr assign.
803
804         * src/z80/gen.c (aopDump): Added a dump function.
805
806 2001-11-25  Bernhard Held  <bernhard@bernhardheld.de>
807         * sim/ucsim/s51.src/glob.cc: DS390 SFRs and bits added.
808
809         * sim/ucsim/s51.src/port.cc: Port 4 and 5 added.
810
811         * sim/ucsim/s51.src/regs51.h: DS390 SFRs added.
812
813         * sim/ucsim/s51.src/uc390.cc: Some details improved, CKRDY works for tinibios.
814
815         * sim/ucsim/s51.src/uc390cl.h: Work in progress.
816
817         * sim/ucsim/sim.src/uccl.h: 6 ports for DS390.
818
819         * support/regression/fwk/lib/testfwk.c: Run with tinibios.
820
821         * support/regression/ports/mcs51/spec.mk: Fine tuninig.
822
823         * support/regression/ports/ds390/support.c: Use tinibios.
824
825         * support/regression/ports/ds390/spec.mk: Fine tuning, use tinibios.
826
827 2001-11-23  Michael Hope  <michaelh@juju.net.nz>support/regression/tests/bug-460010.c
828
829         * src/z80/ralloc.c (packRegsForHLUse3): Changed to not pack into HL if anything is in direct space.
830         (packRegsForHLUse3): Added packing support for send, cast, and return value from a call.
831
832         * src/z80/peeph.def: Added rules for optimising pushes of part of a pair.
833
834         * src/z80/gen.c (emitCall): Changed the stack fixup to not use HL.
835
836 2001-11-18  Michael Hope  <michaelh@juju.net.nz>
837
838         * src/z80/gen.c (genCmp): Fixed compare on unsigned.
839
840         * src/z80/ralloc.c (packRegsForHLUse3): Created and optimised.
841         (packRegsForIYUse): Created and optimised.
842
843 2001-11-07  Michael Hope  <michaelh@juju.net.nz>
844
845         * support/regression/tests/float.c (testFloatAdd): Fixed up warning.
846 2001-11-18  Bernhard Held  <bernhard@bernhardheld.de>
847
848         * sdcc/support/regression/tests/bug-460010.c: fix seg violation on host
849
850         * sdcc/support/regression/tests/muldiv.c: fix output on mcs51
851
852         * sdcc/support/regression/tests/stacks.c: fix DSEG overflow on mcs51
853
854 2001-11-07  Bernhard Held  <bernhard@bernhardheld.de>
855
856         * sdcc/sim/device/lib/_gptrget.c: mem region 5 (idata) added
857
858         * sdcc/sim/device/lib/_gptrput.c: mem region 5 (idata) added
859
860 2001-11-07  Bernhard Held  <bernhard@bernhardheld.de>
861
862         * sdcc/sim/ucsim/globals.cc: New: IXRAM.
863
864         * sdcc/sim/ucsim/stypes.h: New: IXRAM.
865
866         * sdcc/sim/ucsim/s51.src/uc390.cc: New: IXRAM.
867
868 2001-11-07  Michael Hope  <michaelh@juju.net.nz>
869
870         * src/z80/ralloc.c (packRegsForHLUse): Banned IFXs from being packed into HL.
871         (packRegsForHLUse): Added rule to pack address of/pointer get for itemps into HL for the Z80.
872         (packRegsForAccUse2): Added rule to pack hbit IFXs into A.
873
874         * src/z80/main.c (_setDefaultOptions): Made float code re-entrant by default.
875
876         * src/z80/gen.c (aopGetLitWordLong): Added word support for floats.
877         (genNotFloat): Added.
878         (genUminusFloat): Added.
879
880         * device/lib/z80/Makefile: Added floating pt stubs.
881
882         * device/lib/Makefile.in (Z80SOURCES): Added floating pt support.
883
884         * src/z80/gen.c (genIpush): Fixed up a push of one byte when left is in a pair.
885
886         * device/lib/_fsadd.c (__fsadd): Fixed up return where the numbers are hugely different.
887
888 2001-11-07  Bernhard Held  <bernhard@bernhardheld.de>
889
890         * sdcc/sim/ucsim/s51.src/glob.cc: Minor fix.
891
892         * sdcc/sim/ucsim/s51.src/regs51.h: Minor fix.
893
894         * sdcc/support/regression/Makefile: Add port ds390.
895
896         * sdcc/support/regression/ports/mcs51/spec.mk: Minor change.
897
898         * sdcc/support/regression/ports/z80/spec.mk: Minor change.
899
900         * sdcc/support/regression/ports/ds390/spec.mk: Added.
901
902         * sdcc/support/regression/ports/ds390/support.c: Added.
903
904         * sdcc/support/regression/ports/ds390/uCsim.cmd: Added.
905
906         * sdcc/support/regression/ports/mcs51/timeout.c: Cut.
907
908         * sdcc/support/regression/fwk/lib/timeout.c: Paste.
909
910 2001-11-04  Michael Hope  <michaelh@juju.net.nz>
911
912         * device/include/malloc.h: Added z80 and gbz80 support.
913
914         * device/lib/gbz80/heap.s: Added.
915
916         * device/lib/z80/heap.s: Added.
917
918         * device/lib/malloc.c: Added z80 and gbz80 support.
919
920         * support/regression/tests/malloc.c (testMalloc): Added.
921
922         * src/SDCCmain.c (parseCmdLine): Added support for -Wp.
923
924         * support/regression/tests/bug-478094.c: Added.
925
926         * src/z80/gen.c (commitPair): Fixed silly gbz80/z80 commit to static bug.
927
928 2001-11-04  Bernhard Held  <bernhard@bernhardheld.de>
929
930         * sdcc/sim/ucsim/s51.src/uc390cl.h: Improvement for ds390 to run regression tests
931
932         * sdcc/sim/ucsim/s51.src/uc390.h: Improvement for ds390 to run regression tests
933
934         * sdcc/sim/ucsim/s51.src/regs51.h: Improvement for ds390 to run regression tests
935
936         * sdcc/sim/ucsim/s51.src/glob.cc: Improvement for ds390 to run regression tests
937
938         * sdcc/support/regression/tests/bug-460010.c: Small change for ds390
939
940 2001-11-04  Michael Hope  <michaelh@juju.net.nz>
941
942         * src/z80/peeph-gbz80.def: Removed a bad sub optimisation.
943
944 2001-11-03  Michael Hope  <michaelh@juju.net.nz>
945
946         * support/regression/tests/bug-477927.c: Added.
947
948         * src/z80/peeph.def: Added minor rules.
949
950         * src/z80/gen.c (genPlusIncr): Added an extra plusinc rule.
951
952         * src/z80/peeph.def: Added jump optimisation modification.
953
954 2001-11-01  Michael Hope  <michaelh@juju.net.nz>
955
956         * src/SDCCmain.c (linkEdit): Added runtime path detection to the mcs51 port.
957
958 2001-10-30  Michael Hope  <michaelh@juju.net.nz>
959
960         * support/regression/tests/funptrs.c: Added.
961
962 2001-10-29  Michael Hope  <michaelh@juju.net.nz>
963
964         * src/z80/ralloc.c (packRegsForHLUse): Fixed up bad spill due to pushing one byte via HL.
965
966 2001-10-28  Michael Hope  <michaelh@juju.net.nz>
967
968         * src/z80/gen.c (genArrayInit): Made it work for on stack arrays.
969
970         * src/z80/main.c (gbz80_port =): Added rle support to the gbz80 port.
971
972         * src/z80/gen.c (genMinus): Fixed for where the result is one byte.
973         (movLeft2ResultLong): Created.
974
975         * src/z80/ralloc.c (packRegsForHLUse): Added a couple of simple cases for the GB.
976         (joinPushes): Added.  Joins two char pushes into a word push.
977
978 2001-10-27  Michael Hope  <michaelh@juju.net.nz>
979
980         * support/cpp2/Makefile.in (install): Added creation of dest dir.
981
982         * support/makebin/Makefile (install): Added creation of dest dir.
983
984 2001-10-24 Karl Bongers <karl@turbobit.com>
985
986         * configure.in, configure, Makefile, support/cpp: Removed cpp folder, since we have new cpp2 preprocessor code.
987
988 2001-10-21  Michael Hope  <michaelh@juju.net.nz>
989
990         * src/z80/ralloc.c: Turned off faulty pack for one use.
991
992         * src/z80/peeph-gbz80.def: Removed redundent restart options.
993
994         * src/z80/gen.c (genMult): Added native mul for constants on the z80 and gbz80.
995
996 2001-10-21  Bernhard Held  <bernhard@bernhardheld.de>
997
998         * support/regression/Makefile: Improved clean
999
1000         * support/regression/ports/gbz80/spec.mk: Added clean
1001
1002         * support/regression/ports/host/spec.mk: Added clean
1003
1004         * support/regression/ports/z80/spec.mk: Added clean
1005
1006         * support/regression/ports/mcs51/spec.mk: Added clean, little improvements
1007
1008         * support/regression/ports/mcs51/timeout.c: little improvements
1009
1010 2001-10-17  Michael Hope  <michaelh@juju.net.nz>
1011
1012         * device/lib/malloc.c (MEMHEADER): Fixed against new pedantic pointers.
1013
1014         * support/regression/fwk/include/testfwk.h: Fixed up to use function pts correctly.
1015
1016         * support/regression/generate-cases.py: Fixed up to use function pts correctly.
1017
1018 2001-10-16  Bernhard Held  <bernhard@bernhardheld.de>
1019
1020         * support/regression/port/mcs51/spec.mk: add timeout for uCsim
1021
1022         * support/regression/port/mcs51/timeout.c: add timeout for uCsim
1023
1024 2001-10-13  Michael Hope  <michaelh@juju.net.nz>
1025         * src/z80/gen.c (emitCall): Fixed up missing spill of HL when used to assign the result value.
1026
1027         * src/z80/ralloc.c: Turned off pack for one use as it's quite broken.
1028
1029         * src/SDCCmain.c (linkEdit): Added support for passing a legacy command line through the processor.
1030
1031         * src/mcs51/main.c (_linkCmd): Added bin path to command.
1032
1033         * src/SDCCmain.c (initValues): Added support for when it it called just to link.
1034
1035         * as/mcs51/lklibr.c (libfil;): Turned off 'library file' message.
1036
1037         * src/SDCCval.c (constVal): Fixed usage of 'L' modifier problems on ppc.
1038
1039         * support/regression/tests/longor.c: Added.
1040
1041 2001-10-11  Bernhard Held  <bernhard@bernhardheld.de>
1042
1043         * as/mcs51/asdata.c: replaced FILENAME_MAX with PATH_MAX
1044
1045         * as/mcs51/aslink.h: define PATH_MAX
1046
1047         * as/mcs51/asm.h: define PATH_MAX
1048
1049         * as/mcs51/asmain.c: replaced FILENAME_MAX with PATH_MAX
1050
1051         * as/mcs51/asnoice.c: replaced FILENAME_MAX with PATH_MAX
1052
1053         * as/mcs51/lklex.c: replaced FILENAME_MAX with PATH_MAX
1054
1055         * as/mcs51/lkmain.c: replaced FILENAME_MAX with PATH_MAX
1056
1057         * src/SDCCglobl.h: define PATH_MAX
1058
1059         * src/SDCCmacro.c: replaced FILENAME_MAX with PATH_MAX
1060
1061         * src/SDCCmain.c: replaced FILENAME_MAX with PATH_MAX
1062
1063 2001-10-11  Michael Hope  <michaelh@juju.net.nz>
1064
1065         * src/z80/gen.c (gencjneshort): Fixed
1066
1067         * src/z80/ralloc.c (packRegsForHLUse): Added pack into HL for cast then ipush.
1068
1069 2001-10-09  Michael Hope  <michaelh@juju.net.nz>
1070
1071         * support/regression/tests/bug-469671.c: Added.
1072
1073         * src/z80/gen.c (shiftIntoPair): Fixed up warning.
1074
1075 2001-10-08  Michael Hope  <michaelh@juju.net.nz>
1076
1077         * src/SDCCmain.c: Added --fommit-frame-pointer option and implemented in the z80 port.
1078
1079         * src/z80/gen.c (genPlus): Fixed to work with extended stack.  Also fixed genMinus, genCmp.  genUMinus is still left.
1080
1081 2001-10-08  Bernhar Held  <bernhard@bernhardheld.de>
1082
1083         * src/SDCCmain.c (preProcess): added define SDCC_NOOVERLAY
1084
1085         * src/device/lib/_mulint.c  : removed hint: nooverlay bug
1086
1087         * src/device/lib/_mullong.c : removed hint: nooverlay bug
1088
1089         * src/device/lib/_divuint.c : removed hint: nooverlay bug
1090
1091         * src/device/lib/_divulong.c: removed hint: nooverlay bug
1092
1093         * src/device/lib/_moduint.c : removed hint: nooverlay bug
1094
1095         * src/device/lib/_modulong.c: removed hint: nooverlay bug
1096
1097 2001-10-07  Michael Hope  <michaelh@juju.net.nz>
1098
1099         * 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.
1100
1101         * support/Util/NewAlloc.c (freeTrace): Changed free for the gc case to not free at all.  Fixes runtime segfault.
1102
1103         * support/regression/tests/scott-compare3.c (c_abcd): Fixed up casts.
1104
1105 2001-10-07    <johan@FRIJA>
1106
1107         * device/lib/gets.c (gets): fixed the return value.
1108
1109 2001-10-06  Michael Hope  <michaelh@juju.net.nz>
1110         * src/SDCCmain.c (WRITE_SEG_LOC): Fixed up to use Safe_strdup.
1111
1112         * 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.
1113
1114         * 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.
1115
1116         * src/z80/gen.c (genZ80Code): Added de-allocation via trace support.
1117
1118         * src/pic/gen.c: Removed Safe_strdup.
1119
1120         * configure.in: Added option to enable libgc support.
1121
1122         * src/SDCCbitv.c (bitVectnBitsOn): Optimised.
1123         (bitVectUnion): Optimised.
1124         (bitVectIntersect): Optimised.
1125         (bitVectBitsInCommon): Optimised.
1126         (bitVectCplAnd): Optimised.
1127
1128         * support/makebin/makebin.c (usage): Removed getopt as mingw32 doesn't have it.  Sigh.
1129
1130 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
1131
1132         * src/SDCCmain.c: distinguish between assembler debug and plain options
1133
1134         * src/avr/main.c:   remove standard assembler options
1135
1136         * src/ds390/main.c: remove standard assembler options
1137
1138         * src/mcs51/main.c: remove standard assembler options
1139
1140         * src/port.h: removed "PENDING" comment
1141
1142 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
1143
1144         * src/device/lib/_mulint.c  : new, with assember functions
1145
1146         * src/device/lib/_mullong.c : new, with assember functions
1147
1148         * src/device/lib/_divuint.c : with assember functions
1149
1150         * src/device/lib/_divsint.c : with assember functions
1151
1152         * src/device/lib/_divulong.c: with assember functions
1153
1154         * src/device/lib/_divslong.c: with assember functions
1155
1156         * src/device/lib/_moduint.c : with assember functions
1157
1158         * src/device/lib/_modsint.c : with assember functions
1159
1160         * src/device/lib/_modulong.c: with assember functions
1161
1162         * src/device/lib/_modslong.c: with assember functions
1163
1164         * src/device/lib/libint.lib:  replaced _muluint.c  and _mulsint.c  by _mulint.c
1165
1166         * src/device/lib/liblong.lib: replaced _mululong.c and _mulslong.c by _mullong.c
1167
1168         * src/device/lib/Makefile.in: replaced _muluint.c  and _mulsint.c  by _mulint.c
1169                                       replaced _mululong.c and _mulslong.c by _mullong.c
1170
1171 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
1172
1173         * src/SDCCsymt.c: sequence of specifiers in pintTypeChain() corrected
1174
1175 2001-10-01 Bernhard Held <bernhard@bernhardheld.de>
1176
1177         * src/SDCCglue.c: test, if win32api is available for MINGW
1178
1179 2001-10-01 Bernhard Held <bernhard@bernhardheld.de>
1180
1181         * src/SDCCsymt.c: no more _modifier in printTypeChain()
1182         * support/regression/tests/driverstruct.c: REENTRANT for mcs51
1183         * support/regression/ports/gbz80/spec.mk: removed GENERIC
1184         * support/regression/ports/host/spec.mk: removed GENERIC
1185         * support/regression/ports/mcs51/spec.mk: removed GENERIC
1186         * support/regression/ports/z80/spec.mk: removed GENERIC
1187
1188 2001-10-01  Michael Hope  <michaelh@juju.net.nz>
1189
1190         * support/regression/fwk/lib/testfwk.c (__printf): Removed GENERIC.
1191
1192         * support/regression/tests/bug-467035.c: Created.
1193
1194 2001-10-01    <johan@FRIJA>
1195
1196         * src/SDCC.y: fixed bug #466586 part 1
1197
1198 2001-10-01  Johan Knol <johan.knol@iduna.nl>
1199
1200         * SDCCicode.c: z80 has no generic pointers
1201         * removed -s from strip in all Makefile(.in)'s. It is not needed, but Solaris chocks on it.
1202         
1203 2001-09-30  Michael Hope  <michaelh@juju.net.nz>
1204
1205         * sim/ucsim/cmd.src/Makefile.in ($(PRJDIR)/libcmd.a): Changed all ar references to $(AR) for Solaris.
1206
1207 2001-09-29  Michael Hope  <michaelh@juju.net.nz>
1208
1209         * Makefile (sdcc-libs): Added makebin to the list of standard targets.
1210
1211         * support/regression/ports/z80/spec.mk: Updated to use env for sdcc bin dir for automatic regression.
1212
1213 2001-09-25  Michael Hope  <michaelh@juju.net.nz>
1214
1215         * configure.in: Fixed up so that ucsim is only configured once.
1216
1217         * support/cpp2/configure.in: Fixed to use the program transform to append the .exe for the win32 build.
1218
1219         * src/SDCCutil.c (getPrefixFromBinPath): Fixed up to work with win32 in all of its glory.
1220         (getPathDifference): As above.
1221
1222         * src/SDCCmain.c (preProcess): Changed to use a temporary file in a proper temp directory.  Fixed case where pre-processing only.
1223
1224         * src/SDCCglue.c (tempfilename): Added function for pre-processor.
1225
1226 2001-09-23  Michael Hope  <michaelh@juju.net.nz>
1227         * .version: Updated to 2.3.1
1228
1229         * src/z80/main.c (z80_port =): Added macro based linker and assembler command line support.
1230         Added copyright header.
1231
1232         * src/SDCCmain.c: Shifted various functions into SDCCutil.c
1233         (assemble): Added support for macro based assembler commands.
1234         (linkEdit): Added support for macro based linker commands.
1235         (preProcess): Changed the pre-processor to use macros.
1236         (_setPaths): Added functionality to autodetect the include, lib and bin dir paths.
1237         (_discoverPaths): Added support for overriding the install directory using the SDCCDIR env variable.
1238
1239         * device/lib/z80/crt0.s: Added module name for debugging.
1240
1241 2001-09-20  Michael Hope  <michaelh@juju.net.nz>
1242
1243         * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
1244
1245         * src/SDCChasht.c (hTabDeleteByKey): Fixed delete as it would delete the last item from a bucket even if it wasn't the real one.
1246
1247         * src/SDCCglue.c: Moved gc_strdup to SDCCutil.c
1248
1249         * src/Makefile.in: Added SDCCmacro and SDCCutil
1250
1251 2001-09-19  Michael Hope  <michaelh@juju.net.nz>
1252
1253         * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
1254
1255 2001-09-16    <johan@FRIJA>
1256
1257         * 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.
1258
1259 2001-09-15    <johan@FRIJA>
1260
1261         * src/mcs51/ralloc.c: (findAssignToSym): fixed bug #460662 part 1
1262         * src/ds390/ralloc.c (findAssignToSym): fixed bug #460662 part 1
1263
1264 2001-09-11    <johan@FRIJA>
1265
1266         * src/SDCCval.c (valDiv Mod Minus Plus Shift): keep litteral expressions as small as possible (bug #460010)
1267
1268 2001-09-10  Michael Hope  <michaelh@juju.net.nz>
1269
1270         * support/regression/tests/bug-460444.c: Added test case.
1271
1272         * src/z80/gen.c (genOr): bug 460444: if (a ^ lit) was broken for &, |, and ^.
1273         (genCast): Added justification for all of the asserts.
1274
1275 2001-09-10  Bernhard Held <bernhard@bernhardheld.de>
1276
1277         * support/regression/support.c: _xdata replaced by xdata
1278
1279         * support/regression/spec.mk: removed _generic
1280
1281 2001-09-09  Michael Hope  <michaelh@juju.net.nz>
1282
1283         * src/pic/ralloc.c (debugLogRegType): Removed some old types to get it to compile.
1284
1285         * src/z80/gen.c (shiftR2Left2Result): Improved the case when v = v >> n for small values of n to use less code space and time.
1286         (genrshTwo): Fixed v = v >> n where v is a negative int and n is > 8: bug 460010.
1287
1288         * src/z80/peeph.def: Added a rule to optimise shift then compare.
1289
1290         * support/regression/tests/bug-460000.c (testShiftByParam): Added test case.
1291
1292         * support/regression/tests/bug-460010.c: Added test case.
1293
1294         * support/regression/Makefile (test-host): Removed a silly 'clean' target when testing against gcc.
1295
1296 2001-09-09  Bernhard Held <bernhard@bernhardheld.de>
1297
1298         * support/regression/Makefile: inter-port-clean adjusted for mcs51
1299
1300         * support/regression/testfwk.c: removed workaround for bug #436344
1301
1302         * support/regression/tests/bp.c: use less memory with mcs51
1303
1304         * support/regression/tests/bug-441448.c: use less memory
1305
1306         * support/regression/tests/ports/mcs51/spec.mk: cleanup, use --stack-after-data
1307
1308         * support/regression/collate-results.py: typo
1309
1310 2001-09-08  Michael Hope  <michaelh@juju.net.nz>
1311
1312         * support/regression/tests/fetchoverlap.c: Added new test case.
1313
1314         * support/regression/tests/bp.c: Added new test case.
1315
1316         * support/regression/tests/bug-448984.c: Added new test case.
1317
1318         * support/regression/tests/pow2shifts.c: Added new test case.
1319
1320         * src/z80/gen.c: Turned off the noise it normally generates for the release.
1321         (genlshTwo): Fixed right shift for count > 8.
1322
1323         * src/z80/ralloc.c: Disabled most of the ACC packing rules as they weren't getting hit and weren't at all safe.
1324
1325 2001-09-08    <johan@FRIJA>
1326
1327         * src/SDCCicode.c (geniCodeCall): a CPOINTER can be used as a function
1328
1329 2001-09-07    <johan@FRIJA>
1330
1331         * src/SDCCicode.c (newiCodeCondition): fixed bug #456235 (1.77)
1332
1333         * src/SDCCglue.c (emitRegularMap): only delete a symbol when it is a symbol
1334
1335 2001-09-06    <johan@FRIJA>
1336
1337         * src/SDCC.y: this could be a fix for bug #458744 (1.37)
1338         * bernhard noted me at this: "() equals to (void)" (1.38)
1339
1340 2001-09-05    <johan@FRIJA>
1341
1342         * src/SDCCglue.c (emitRegularMap): a fix for bug #458099/2
1343
1344 2001-09-04    <johan@FRIJA>
1345
1346         * src/SDCCsymt.c (checkSClass): a fix for bug #458099/1
1347
1348
1349 2001-09-04  Paul Stoffregen  <paul@pjrc.com>
1350
1351         * pragma noinduction broke memcpy on mcs51 large model.  Moved it inside z80 optimization
1352
1353 2001-09-03  Michael Hope  <michaelh@juju.net.nz>
1354
1355         * link/z80/aslink.h: Fixed path for PATH_MAX
1356
1357 2001-09-02  Michael Hope  <michaelh@juju.net.nz>
1358
1359         * src/z80/gen.c (fetchLitPair): Changed so that it properly caches direct space references.
1360
1361         * support/regression/tests/addsub.c: Added cases to cover all the +, - combinations.
1362
1363         * support/regression/tests/uminus.c: Added a test for the unary minus operator.
1364
1365         * 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.
1366
1367 2001-09-01  Michael Hope  <michaelh@juju.net.nz>
1368
1369         * src/z80/gen.c: Fixed up generator to pass the regresion tests, specifically fixing loads for longs, genCmp, and turned on the map file.
1370         (genCmp): Fixed up genCmp for the GB with longs.
1371
1372         * device/lib/gbz80/Makefile: Fixed up all the libraries to pass the regression tests.
1373
1374         * support/regression/ports/host/spec.mk: Updated to compile with the new type specifiers.
1375
1376         * device/lib/Makefile.in (Z80SOURCES): Removed old _mululong, _mulslong, and unneeded _mulint.
1377
1378         * device/lib/_mullong.c (_mulslong): Changed to actually return a value :)
1379
1380 2001-08-30  Paul Stoffregen  <paul@pjrc.com>
1381
1382         * added peepholes 223 to 231 to mcs51 port.  These improve code when using large model.
1383
1384 2001-08-30  Michael Hope  <michaelh@juju.net.nz>
1385
1386         * 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.
1387
1388         * src/z80/gen.c (genPlus): Changed bad long add for gb to a fall through.
1389
1390 2001-08-29  Michael Hope  <michaelh@juju.net.nz>
1391
1392         * link/z80/aslink.h: Fixed long file name support.  Is now based off PATH_MAX instead of a constant.
1393
1394         * src/z80/gen.c: Fixed add and sub for the case where left or right are in static space.
1395
1396 2001-08-30 Bernhard Held   <bernhard@bernhardheld.de>
1397
1398   * sim/ucsim/configure:    little improvement of Cygwin-detection      
1399   * sim/ucsim/configure.in: little improvement of Cygwin-detection      
1400   * sim/ucsim/cmd.src/newcmdcl.h: include <sys/types.h> to define fd_set automated build
1401   * support/regression/tests/bug-221100.c: small changes for mcs51
1402   * support/regression/tests/bug-221168.c: small changes for mcs51
1403   * support/regression/tests/bug-227710.c: small changes for mcs51
1404   * support/regression/tests/staticinit.c: small changes for mcs51
1405   * as/mcs51/aslink.h: accept everything as symbol name in rel-files, bug fix ID 452601
1406   * as/mcs51/lklex.c:  accept everything as symbol name in rel-files, bug fix ID 452601
1407   * as/mcs51/lksym.c:  accept everything as symbol name in rel-files, bug fix ID 452601