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