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