* sdcc/sim/ucsim/globals.cc: New: IXRAM.
[fw/sdcc] / ChangeLog
1 2001-11-07  Bernhard Held  <bernhard@bernhardheld.de>
2
3         * sdcc/sim/ucsim/globals.cc: New: IXRAM.
4
5         * sdcc/sim/ucsim/stypes.h: New: IXRAM.
6
7         * sdcc/sim/ucsim/s51.src/uc390.cc: New: IXRAM.
8
9 2001-11-07  Michael Hope  <michaelh@juju.net.nz>
10
11         * src/z80/ralloc.c (packRegsForHLUse): Banned IFXs from being packed into HL.
12         (packRegsForHLUse): Added rule to pack address of/pointer get for itemps into HL for the Z80.
13         (packRegsForAccUse2): Added rule to pack hbit IFXs into A.
14
15         * src/z80/main.c (_setDefaultOptions): Made float code re-entrant by default.
16
17         * src/z80/gen.c (aopGetLitWordLong): Added word support for floats.
18         (genNotFloat): Added.
19         (genUminusFloat): Added.
20
21         * device/lib/z80/Makefile: Added floating pt stubs.
22
23         * device/lib/Makefile.in (Z80SOURCES): Added floating pt support.
24
25         * src/z80/gen.c (genIpush): Fixed up a push of one byte when left is in a pair.
26
27         * device/lib/_fsadd.c (__fsadd): Fixed up return where the numbers are hugely different.
28
29 2001-11-07  Bernhard Held  <bernhard@bernhardheld.de>
30
31         * sdcc/sim/ucsim/s51.src/glob.cc: Minor fix.
32
33         * sdcc/sim/ucsim/s51.src/regs51.h: Minor fix.
34
35         * sdcc/support/regression/Makefile: Add port ds390.
36
37         * sdcc/support/regression/ports/mcs51/spec.mk: Minor change.
38
39         * sdcc/support/regression/ports/z80/spec.mk: Minor change.
40
41         * sdcc/support/regression/ports/ds390/spec.mk: Added.
42
43         * sdcc/support/regression/ports/ds390/support.c: Added.
44
45         * sdcc/support/regression/ports/ds390/uCsim.cmd: Added.
46
47         * sdcc/support/regression/ports/mcs51/timeout.c: Cut.
48
49         * sdcc/support/regression/fwk/lib/timeout.c: Paste.
50
51 2001-11-04  Michael Hope  <michaelh@juju.net.nz>
52
53         * device/include/malloc.h: Added z80 and gbz80 support.
54
55         * device/lib/gbz80/heap.s: Added.
56
57         * device/lib/z80/heap.s: Added.
58
59         * device/lib/malloc.c: Added z80 and gbz80 support.
60
61         * support/regression/tests/malloc.c (testMalloc): Added.
62
63         * src/SDCCmain.c (parseCmdLine): Added support for -Wp.
64
65         * support/regression/tests/bug-478094.c: Added.
66
67         * src/z80/gen.c (commitPair): Fixed silly gbz80/z80 commit to static bug.
68
69 2001-11-04  Bernhard Held  <bernhard@bernhardheld.de>
70
71         * sdcc/sim/ucsim/s51.src/uc390cl.h: Improvement for ds390 to run regression tests
72
73         * sdcc/sim/ucsim/s51.src/uc390.h: Improvement for ds390 to run regression tests
74
75         * sdcc/sim/ucsim/s51.src/regs51.h: Improvement for ds390 to run regression tests
76
77         * sdcc/sim/ucsim/s51.src/glob.cc: Improvement for ds390 to run regression tests
78
79         * sdcc/support/regression/tests/bug-460010.c: Small change for ds390
80
81 2001-11-04  Michael Hope  <michaelh@juju.net.nz>
82
83         * src/z80/peeph-gbz80.def: Removed a bad sub optimisation.
84
85 2001-11-03  Michael Hope  <michaelh@juju.net.nz>
86
87         * support/regression/tests/bug-477927.c: Added.
88
89         * src/z80/peeph.def: Added minor rules.
90
91         * src/z80/gen.c (genPlusIncr): Added an extra plusinc rule.
92
93         * src/z80/peeph.def: Added jump optimisation modification.
94
95 2001-11-01  Michael Hope  <michaelh@juju.net.nz>
96
97         * src/SDCCmain.c (linkEdit): Added runtime path detection to the mcs51 port.
98
99 2001-10-30  Michael Hope  <michaelh@juju.net.nz>
100
101         * support/regression/tests/funptrs.c: Added.
102
103 2001-10-29  Michael Hope  <michaelh@juju.net.nz>
104
105         * src/z80/ralloc.c (packRegsForHLUse): Fixed up bad spill due to pushing one byte via HL.
106
107 2001-10-28  Michael Hope  <michaelh@juju.net.nz>
108
109         * src/z80/gen.c (genArrayInit): Made it work for on stack arrays.
110
111         * src/z80/main.c (gbz80_port =): Added rle support to the gbz80 port.
112
113         * src/z80/gen.c (genMinus): Fixed for where the result is one byte.
114         (movLeft2ResultLong): Created.
115
116         * src/z80/ralloc.c (packRegsForHLUse): Added a couple of simple cases for the GB.
117         (joinPushes): Added.  Joins two char pushes into a word push.
118
119 2001-10-27  Michael Hope  <michaelh@juju.net.nz>
120
121         * support/cpp2/Makefile.in (install): Added creation of dest dir.
122
123         * support/makebin/Makefile (install): Added creation of dest dir.
124
125 2001-10-24 Karl Bongers <karl@turbobit.com>
126
127         * configure.in, configure, Makefile, support/cpp: Removed cpp folder, since we have new cpp2 preprocessor code.
128
129 2001-10-21  Michael Hope  <michaelh@juju.net.nz>
130
131         * src/z80/ralloc.c: Turned off faulty pack for one use.
132
133         * src/z80/peeph-gbz80.def: Removed redundent restart options.
134
135         * src/z80/gen.c (genMult): Added native mul for constants on the z80 and gbz80.
136
137 2001-10-21  Bernhard Held  <bernhard@bernhardheld.de>
138
139         * support/regression/Makefile: Improved clean
140
141         * support/regression/ports/gbz80/spec.mk: Added clean
142
143         * support/regression/ports/host/spec.mk: Added clean
144
145         * support/regression/ports/z80/spec.mk: Added clean
146
147         * support/regression/ports/mcs51/spec.mk: Added clean, little improvements
148
149         * support/regression/ports/mcs51/timeout.c: little improvements
150
151 2001-10-17  Michael Hope  <michaelh@juju.net.nz>
152
153         * device/lib/malloc.c (MEMHEADER): Fixed against new pedantic pointers.
154
155         * support/regression/fwk/include/testfwk.h: Fixed up to use function pts correctly.
156
157         * support/regression/generate-cases.py: Fixed up to use function pts correctly.
158
159 2001-10-16  Bernhard Held  <bernhard@bernhardheld.de>
160
161         * support/regression/port/mcs51/spec.mk: add timeout for uCsim
162
163         * support/regression/port/mcs51/timeout.c: add timeout for uCsim
164
165 2001-10-13  Michael Hope  <michaelh@juju.net.nz>
166         * src/z80/gen.c (emitCall): Fixed up missing spill of HL when used to assign the result value.
167
168         * src/z80/ralloc.c: Turned off pack for one use as it's quite broken.
169
170         * src/SDCCmain.c (linkEdit): Added support for passing a legacy command line through the processor.
171
172         * src/mcs51/main.c (_linkCmd): Added bin path to command.
173
174         * src/SDCCmain.c (initValues): Added support for when it it called just to link.
175
176         * as/mcs51/lklibr.c (libfil;): Turned off 'library file' message.
177
178         * src/SDCCval.c (constVal): Fixed usage of 'L' modifier problems on ppc.
179
180         * support/regression/tests/longor.c: Added.
181
182 2001-10-11  Bernhard Held  <bernhard@bernhardheld.de>
183
184         * as/mcs51/asdata.c: replaced FILENAME_MAX with PATH_MAX
185
186         * as/mcs51/aslink.h: define PATH_MAX
187
188         * as/mcs51/asm.h: define PATH_MAX
189
190         * as/mcs51/asmain.c: replaced FILENAME_MAX with PATH_MAX
191
192         * as/mcs51/asnoice.c: replaced FILENAME_MAX with PATH_MAX
193
194         * as/mcs51/lklex.c: replaced FILENAME_MAX with PATH_MAX
195
196         * as/mcs51/lkmain.c: replaced FILENAME_MAX with PATH_MAX
197
198         * src/SDCCglobl.h: define PATH_MAX
199
200         * src/SDCCmacro.c: replaced FILENAME_MAX with PATH_MAX
201
202         * src/SDCCmain.c: replaced FILENAME_MAX with PATH_MAX
203
204 2001-10-11  Michael Hope  <michaelh@juju.net.nz>
205
206         * src/z80/gen.c (gencjneshort): Fixed
207
208         * src/z80/ralloc.c (packRegsForHLUse): Added pack into HL for cast then ipush.
209
210 2001-10-09  Michael Hope  <michaelh@juju.net.nz>
211
212         * support/regression/tests/bug-469671.c: Added.
213
214         * src/z80/gen.c (shiftIntoPair): Fixed up warning.
215
216 2001-10-08  Michael Hope  <michaelh@juju.net.nz>
217
218         * src/SDCCmain.c: Added --fommit-frame-pointer option and implemented in the z80 port.
219
220         * src/z80/gen.c (genPlus): Fixed to work with extended stack.  Also fixed genMinus, genCmp.  genUMinus is still left.
221
222 2001-10-08  Bernhar Held  <bernhard@bernhardheld.de>
223
224         * src/SDCCmain.c (preProcess): added define SDCC_NOOVERLAY
225
226         * src/device/lib/_mulint.c  : removed hint: nooverlay bug
227
228         * src/device/lib/_mullong.c : removed hint: nooverlay bug
229
230         * src/device/lib/_divuint.c : removed hint: nooverlay bug
231
232         * src/device/lib/_divulong.c: removed hint: nooverlay bug
233
234         * src/device/lib/_moduint.c : removed hint: nooverlay bug
235
236         * src/device/lib/_modulong.c: removed hint: nooverlay bug
237
238 2001-10-07  Michael Hope  <michaelh@juju.net.nz>
239
240         * 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.
241
242         * support/Util/NewAlloc.c (freeTrace): Changed free for the gc case to not free at all.  Fixes runtime segfault.
243
244         * support/regression/tests/scott-compare3.c (c_abcd): Fixed up casts.
245
246 2001-10-07    <johan@FRIJA>
247
248         * device/lib/gets.c (gets): fixed the return value.
249
250 2001-10-06  Michael Hope  <michaelh@juju.net.nz>
251         * src/SDCCmain.c (WRITE_SEG_LOC): Fixed up to use Safe_strdup.
252
253         * 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.
254
255         * 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.
256
257         * src/z80/gen.c (genZ80Code): Added de-allocation via trace support.
258
259         * src/pic/gen.c: Removed Safe_strdup.
260
261         * configure.in: Added option to enable libgc support.
262
263         * src/SDCCbitv.c (bitVectnBitsOn): Optimised.
264         (bitVectUnion): Optimised.
265         (bitVectIntersect): Optimised.
266         (bitVectBitsInCommon): Optimised.
267         (bitVectCplAnd): Optimised.
268
269         * support/makebin/makebin.c (usage): Removed getopt as mingw32 doesn't have it.  Sigh.
270
271 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
272
273         * src/SDCCmain.c: distinguish between assembler debug and plain options
274
275         * src/avr/main.c:   remove standard assembler options
276
277         * src/ds390/main.c: remove standard assembler options
278
279         * src/mcs51/main.c: remove standard assembler options
280
281         * src/port.h: removed "PENDING" comment
282
283 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
284
285         * src/device/lib/_mulint.c  : new, with assember functions
286
287         * src/device/lib/_mullong.c : new, with assember functions
288
289         * src/device/lib/_divuint.c : with assember functions
290
291         * src/device/lib/_divsint.c : with assember functions
292
293         * src/device/lib/_divulong.c: with assember functions
294
295         * src/device/lib/_divslong.c: with assember functions
296
297         * src/device/lib/_moduint.c : with assember functions
298
299         * src/device/lib/_modsint.c : with assember functions
300
301         * src/device/lib/_modulong.c: with assember functions
302
303         * src/device/lib/_modslong.c: with assember functions
304
305         * src/device/lib/libint.lib:  replaced _muluint.c  and _mulsint.c  by _mulint.c
306
307         * src/device/lib/liblong.lib: replaced _mululong.c and _mulslong.c by _mullong.c
308
309         * src/device/lib/Makefile.in: replaced _muluint.c  and _mulsint.c  by _mulint.c
310                                       replaced _mululong.c and _mulslong.c by _mullong.c
311
312 2001-10-03 Bernhard Held <bernhard@bernhardheld.de>
313
314         * src/SDCCsymt.c: sequence of specifiers in pintTypeChain() corrected
315
316 2001-10-01 Bernhard Held <bernhard@bernhardheld.de>
317
318         * src/SDCCglue.c: test, if win32api is available for MINGW
319
320 2001-10-01 Bernhard Held <bernhard@bernhardheld.de>
321
322         * src/SDCCsymt.c: no more _modifier in printTypeChain()
323         * support/regression/tests/driverstruct.c: REENTRANT for mcs51
324         * support/regression/ports/gbz80/spec.mk: removed GENERIC
325         * support/regression/ports/host/spec.mk: removed GENERIC
326         * support/regression/ports/mcs51/spec.mk: removed GENERIC
327         * support/regression/ports/z80/spec.mk: removed GENERIC
328
329 2001-10-01  Michael Hope  <michaelh@juju.net.nz>
330
331         * support/regression/fwk/lib/testfwk.c (__printf): Removed GENERIC.
332
333         * support/regression/tests/bug-467035.c: Created.
334
335 2001-10-01    <johan@FRIJA>
336
337         * src/SDCC.y: fixed bug #466586 part 1
338
339 2001-10-01  Johan Knol <johan.knol@iduna.nl>
340
341         * SDCCicode.c: z80 has no generic pointers
342         * removed -s from strip in all Makefile(.in)'s. It is not needed, but Solaris chocks on it.
343         
344 2001-09-30  Michael Hope  <michaelh@juju.net.nz>
345
346         * sim/ucsim/cmd.src/Makefile.in ($(PRJDIR)/libcmd.a): Changed all ar references to $(AR) for Solaris.
347
348 2001-09-29  Michael Hope  <michaelh@juju.net.nz>
349
350         * Makefile (sdcc-libs): Added makebin to the list of standard targets.
351
352         * support/regression/ports/z80/spec.mk: Updated to use env for sdcc bin dir for automatic regression.
353
354 2001-09-25  Michael Hope  <michaelh@juju.net.nz>
355
356         * configure.in: Fixed up so that ucsim is only configured once.
357
358         * support/cpp2/configure.in: Fixed to use the program transform to append the .exe for the win32 build.
359
360         * src/SDCCutil.c (getPrefixFromBinPath): Fixed up to work with win32 in all of its glory.
361         (getPathDifference): As above.
362
363         * src/SDCCmain.c (preProcess): Changed to use a temporary file in a proper temp directory.  Fixed case where pre-processing only.
364
365         * src/SDCCglue.c (tempfilename): Added function for pre-processor.
366
367 2001-09-23  Michael Hope  <michaelh@juju.net.nz>
368         * .version: Updated to 2.3.1
369
370         * src/z80/main.c (z80_port =): Added macro based linker and assembler command line support.
371         Added copyright header.
372
373         * src/SDCCmain.c: Shifted various functions into SDCCutil.c
374         (assemble): Added support for macro based assembler commands.
375         (linkEdit): Added support for macro based linker commands.
376         (preProcess): Changed the pre-processor to use macros.
377         (_setPaths): Added functionality to autodetect the include, lib and bin dir paths.
378         (_discoverPaths): Added support for overriding the install directory using the SDCCDIR env variable.
379
380         * device/lib/z80/crt0.s: Added module name for debugging.
381
382 2001-09-20  Michael Hope  <michaelh@juju.net.nz>
383
384         * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
385
386         * src/SDCChasht.c (hTabDeleteByKey): Fixed delete as it would delete the last item from a bucket even if it wasn't the real one.
387
388         * src/SDCCglue.c: Moved gc_strdup to SDCCutil.c
389
390         * src/Makefile.in: Added SDCCmacro and SDCCutil
391
392 2001-09-19  Michael Hope  <michaelh@juju.net.nz>
393
394         * src/SDCCmain.c (printVersionInfo): Added the build date to the version info.
395
396 2001-09-16    <johan@FRIJA>
397
398         * 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.
399
400 2001-09-15    <johan@FRIJA>
401
402         * src/mcs51/ralloc.c: (findAssignToSym): fixed bug #460662 part 1
403         * src/ds390/ralloc.c (findAssignToSym): fixed bug #460662 part 1
404
405 2001-09-11    <johan@FRIJA>
406
407         * src/SDCCval.c (valDiv Mod Minus Plus Shift): keep litteral expressions as small as possible (bug #460010)
408
409 2001-09-10  Michael Hope  <michaelh@juju.net.nz>
410
411         * support/regression/tests/bug-460444.c: Added test case.
412
413         * src/z80/gen.c (genOr): bug 460444: if (a ^ lit) was broken for &, |, and ^.
414         (genCast): Added justification for all of the asserts.
415
416 2001-09-10  Bernhard Held <bernhard@bernhardheld.de>
417
418         * support/regression/support.c: _xdata replaced by xdata
419
420         * support/regression/spec.mk: removed _generic
421
422 2001-09-09  Michael Hope  <michaelh@juju.net.nz>
423
424         * src/pic/ralloc.c (debugLogRegType): Removed some old types to get it to compile.
425
426         * src/z80/gen.c (shiftR2Left2Result): Improved the case when v = v >> n for small values of n to use less code space and time.
427         (genrshTwo): Fixed v = v >> n where v is a negative int and n is > 8: bug 460010.
428
429         * src/z80/peeph.def: Added a rule to optimise shift then compare.
430
431         * support/regression/tests/bug-460000.c (testShiftByParam): Added test case.
432
433         * support/regression/tests/bug-460010.c: Added test case.
434
435         * support/regression/Makefile (test-host): Removed a silly 'clean' target when testing against gcc.
436
437 2001-09-09  Bernhard Held <bernhard@bernhardheld.de>
438
439         * support/regression/Makefile: inter-port-clean adjusted for mcs51
440
441         * support/regression/testfwk.c: removed workaround for bug #436344
442
443         * support/regression/tests/bp.c: use less memory with mcs51
444
445         * support/regression/tests/bug-441448.c: use less memory
446
447         * support/regression/tests/ports/mcs51/spec.mk: cleanup, use --stack-after-data
448
449         * support/regression/collate-results.py: typo
450
451 2001-09-08  Michael Hope  <michaelh@juju.net.nz>
452
453         * support/regression/tests/fetchoverlap.c: Added new test case.
454
455         * support/regression/tests/bp.c: Added new test case.
456
457         * support/regression/tests/bug-448984.c: Added new test case.
458
459         * support/regression/tests/pow2shifts.c: Added new test case.
460
461         * src/z80/gen.c: Turned off the noise it normally generates for the release.
462         (genlshTwo): Fixed right shift for count > 8.
463
464         * src/z80/ralloc.c: Disabled most of the ACC packing rules as they weren't getting hit and weren't at all safe.
465
466 2001-09-08    <johan@FRIJA>
467
468         * src/SDCCicode.c (geniCodeCall): a CPOINTER can be used as a function
469
470 2001-09-07    <johan@FRIJA>
471
472         * src/SDCCicode.c (newiCodeCondition): fixed bug #456235 (1.77)
473
474         * src/SDCCglue.c (emitRegularMap): only delete a symbol when it is a symbol
475
476 2001-09-06    <johan@FRIJA>
477
478         * src/SDCC.y: this could be a fix for bug #458744 (1.37)
479         * bernhard noted me at this: "() equals to (void)" (1.38)
480
481 2001-09-05    <johan@FRIJA>
482
483         * src/SDCCglue.c (emitRegularMap): a fix for bug #458099/2
484
485 2001-09-04    <johan@FRIJA>
486
487         * src/SDCCsymt.c (checkSClass): a fix for bug #458099/1
488
489
490 2001-09-04  Paul Stoffregen  <paul@pjrc.com>
491
492         * pragma noinduction broke memcpy on mcs51 large model.  Moved it inside z80 optimization
493
494 2001-09-03  Michael Hope  <michaelh@juju.net.nz>
495
496         * link/z80/aslink.h: Fixed path for PATH_MAX
497
498 2001-09-02  Michael Hope  <michaelh@juju.net.nz>
499
500         * src/z80/gen.c (fetchLitPair): Changed so that it properly caches direct space references.
501
502         * support/regression/tests/addsub.c: Added cases to cover all the +, - combinations.
503
504         * support/regression/tests/uminus.c: Added a test for the unary minus operator.
505
506         * 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.
507
508 2001-09-01  Michael Hope  <michaelh@juju.net.nz>
509
510         * src/z80/gen.c: Fixed up generator to pass the regresion tests, specifically fixing loads for longs, genCmp, and turned on the map file.
511         (genCmp): Fixed up genCmp for the GB with longs.
512
513         * device/lib/gbz80/Makefile: Fixed up all the libraries to pass the regression tests.
514
515         * support/regression/ports/host/spec.mk: Updated to compile with the new type specifiers.
516
517         * device/lib/Makefile.in (Z80SOURCES): Removed old _mululong, _mulslong, and unneeded _mulint.
518
519         * device/lib/_mullong.c (_mulslong): Changed to actually return a value :)
520
521 2001-08-30  Paul Stoffregen  <paul@pjrc.com>
522
523         * added peepholes 223 to 231 to mcs51 port.  These improve code when using large model.
524
525 2001-08-30  Michael Hope  <michaelh@juju.net.nz>
526
527         * 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.
528
529         * src/z80/gen.c (genPlus): Changed bad long add for gb to a fall through.
530
531 2001-08-29  Michael Hope  <michaelh@juju.net.nz>
532
533         * link/z80/aslink.h: Fixed long file name support.  Is now based off PATH_MAX instead of a constant.
534
535         * src/z80/gen.c: Fixed add and sub for the case where left or right are in static space.
536
537 2001-08-30 Bernhard Held   <bernhard@bernhardheld.de>
538
539   * sim/ucsim/configure:    little improvement of Cygwin-detection      
540   * sim/ucsim/configure.in: little improvement of Cygwin-detection      
541   * sim/ucsim/cmd.src/newcmdcl.h: include <sys/types.h> to define fd_set automated build
542   * support/regression/tests/bug-221100.c: small changes for mcs51
543   * support/regression/tests/bug-221168.c: small changes for mcs51
544   * support/regression/tests/bug-227710.c: small changes for mcs51
545   * support/regression/tests/staticinit.c: small changes for mcs51
546   * as/mcs51/aslink.h: accept everything as symbol name in rel-files, bug fix ID 452601
547   * as/mcs51/lklex.c:  accept everything as symbol name in rel-files, bug fix ID 452601
548   * as/mcs51/lksym.c:  accept everything as symbol name in rel-files, bug fix ID 452601