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