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