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