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