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