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