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