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