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