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