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