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