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