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