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