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