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