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