OpenCores
URL https://opencores.org/ocsvn/eco32/eco32/trunk

Subversion Repositories eco32

[/] [eco32/] [trunk/] [lcc/] [LOG] - Blame information for rev 296

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 4 hellwig
From lcc 4.1 to 4.2:
2
 
3
Below is a summary of the source-control log entries for those files
4
changed for lcc 4.2.
5
$Id: LOG,v 1.26 2002/08/26 23:59:51 drh Exp $
6
 
7
src/alloc.c:
8
Fixed subtle alignment bug on p. 28.
9
 
10
src/dag.c:
11
Renamed kill to killnodes to avoid possible clash with kill in .
12
 
13
Made address interface function optional.
14
 
15
Ensured that generated locals, even if not temps, are
16
added to the code list.
17
 
18
Avoided calls to undag when errcnt>0.
19
 
20
Changed listnodes so that array types decay to pointers; bug
21
tickled by -n option.
22
 
23
src/decl.c:
24
Moved call to retcode that injects a return at the end of a function
25
into compound so that temps created by retcode will be
26
scoped properly.
27
 
28
Fixed bug in which functions that return const struct S {...} issued
29
an incorrect diagnostic.
30
 
31
Ensure addressed is set for local arrays.
32
 
33
src/enode.c:
34
Corrected type conversions in addtree for ADD+P nodes;
35
stripped qualifiers from pointer types in eqtree and cmptree.
36
 
37
src/event.c:
38
Revise functions called at events so all have the same signature,
39
modulo pointer types.
40
 
41
src/expr.c:
42
With -b, avoid instrumenting  constant ?: expressions.
43
 
44
Fixed bug in wide-character literals.
45
 
46
Fix allocation error for identifiers injected to quell
47
undeclared identifier errors;
48
Correct int type added to addresses in field offsets.
49
 
50
src/gen.c:
51
Made emitasm extern.
52
 
53
src/input.c:
54
Fixed bug in resynch that caused infinite loop.
55
 
56
Added #ident recognition, which simply ignores it.
57
 
58
src/symbolic.c:
59
Revised symbolic back end to emit -0.0 correctly.
60
 
61
Emit flags in symbolic output.
62
 
63
src/bytecode.c:
64
Fixed double output botch in defconst in bytecode backend.
65
 
66
src/dagcheck.c:
67
Added mssing cases in dagcheck's reduce for types signedptr
68
and unsignedptr. Without these, reduce can fail.
69
 
70
src/lex.c:
71
Permit \ to escape newline in string literals.
72
 
73
Fixed scon() so that it accepts and concatenates adjacent wide-character literals.
74
 
75
src/main.c:
76
Fixed long-standing bug in which -n, -b, -C, and -a options caused
77
interface functions to be called before progbeg.
78
 
79
src/mips.md:
80
Fixed FP comparisons to handle NaNs correctly.
81
 
82
Round up framesize to a multiple of 16 for Irix 6.x;
83
added casts in defconst to discard unused bits.
84
 
85
src/prof.c:
86
Revise functions called at events so all have the same signature,
87
modulo pointer types.
88
 
89
Change ftype to build arbitrary prototypes.
90
 
91
Fixed long-standing bug in which -n, -b, -C, and -a options caused
92
interface functions to be called before progbeg.
93
Also, added missing call to space.
94
 
95
Relaxed assertion in loop that searches for
96
embedded CALL nodes.
97
 
98
Emit correct padding in generated -b strutures.
99
 
100
Revised call hook to find CALL nodes embedded
101
at any depth.
102
 
103
Edited bbincr so that it doesn't inject increments in constant expressions.
104
 
105
src/profio.c:
106
Change compare's prototype to conform to ANSI standard;
107
change calls to qsort accordingly.
108
 
109
Fixed implicit assumption that execution point i in file f always
110
refers to the same x,y. This isn't true for noweb files.
111
 
112
src/simp.c:
113
Made address interface function optional.
114
 
115
Tighten test that avoids folding addressing expressions
116
for switch tables when the offset exceeds 16 bits. Without
117
this addition, lcc can emit erroneous "initializer must be
118
constant" diagnostics.
119
 
120
Revised simplify() so that if doesn't call address to
121
fold (ADDGRP a n) when n exceeds 16 bits.
122
 
123
Reordered tests in MOD+I case so expressions like 6%1 fold correctly.
124
 
125
src/sparc.md:
126
Fixed FP comparisons to handle NaNs correctly.
127
 
128
Added casts in defconst() to emit constants with proper sizes.
129
 
130
Replaced pseudo-instructions st2/ld2 with pairs of st/ld instructions.
131
 
132
src/stmt.c:
133
Fixed botch in 2.16 revision.
134
 
135
Fixed return statement so that "return;" in a function that returns
136
a value returns 0. Similar code is already in decl.nw.
137
 
138
Resynch to distributable version.
139
 
140
Used dynamic variables for loop and switch handles.
141
 
142
Fixed bug in which functions that return const struct S {...} issued
143
an incorrect diagnostic.
144
 
145
Appended a missing \n to a warning.
146
 
147
src/sym.c:
148
Revised 2.19's code for comparing -0.0 and 0.0 so that it works
149
correctly when long double's occupy more bytes than the actual
150
values, as on the x86 under gcc.
151
Fix constant() so that it treats -0.0 and +0.0 as different constants.
152
 
153
Added newtable() to allocate empty symbol tables.
154
 
155
src/trace.c:
156
Revise functions called at events so all have the same signature,
157
modulo pointer types.
158
 
159
Change ftype to build arbitrary prototypes.
160
 
161
Fixed long-standing bug in which -n, -b, -C, and -a options caused
162
interface functions to be called before progbeg.
163
 
164
src/tree.c:
165
Correct revision 2.9's implementation of check to avoid
166
superfluous diagnostics on widening conversions.
167
 
168
Avoid diagnostics for superfluous widening conversions.
169
 
170
src/types.c:
171
Revise fieldmask definition so it works
172
for all values of fieldsize.
173
 
174
Change ftype to build arbitrary prototypes.
175
 
176
src/x86.md:
177
Fixed FP comparisons to handle NaNs correctly.
178
 
179
Changed ARGB instruction sequence to decrement
180
esp by the size of the structure rounded up to 4.
181
Changed struct allignment to 1; this required changing local to
182
insure that on-stack structs are aligned to at least 4 bytes.
183
 
184
Added cast in defconst to eliminate extraneous bits.
185
 
186
Fixed float-to-int conversions so they truncate properly;
187
fixed assembler syntax errors on x86/linux.
188
 
189
Fixed frame size adjustment for frames >= 4096; now calls _chkstk
190
to allocate large frames.
191
 
192
Fixed overly specific opcode for loading constants.
193
 
194
Changed add/sub to addl/subl in potentially ambiguous
195
instructions in the x86/linux back end.
196
 
197
cpp/cpp.c:
198
Added line to fix Nelson Beebe's bug using #defined x X.
199
 
200
cpp/cpp.h:
201
Revised to use stdio for output.
202
 
203
Converted to use stdio for input.
204
 
205
cpp/eval.c:
206
Added evaluation stack overflow checks.
207
 
208
Included stdio.h.
209
 
210
cpp/getopt.c:
211
Include ; cut decl. for strchr.
212
 
213
cpp/hideset.c:
214
Fixed potential sizeof botches.
215
 
216
cpp/include.c:
217
Revised to use stdio for output.
218
 
219
Removed unused wd[].
220
 
221
Fixed incorrect check of fopen return value.
222
 
223
Converted to use stdio for input.
224
 
225
cpp/lex.c:
226
Fixed incorrect test of fd value; fixed comments.
227
 
228
Converted to use stdio for input.
229
 
230
cpp/macro.c:
231
Fixed obscure bug that occurs when string literals are stored
232
in read-only memory. -DX attempts to append a null byte to "1".
233
Found by Nelson Beebe.
234
 
235
Converted to use stdio for input.
236
 
237
cpp/nlist.c:
238
Removed unused wd[].
239
 
240
Added #ident; ignored as for #pragma.
241
 
242
cpp/tokens.c:
243
Revised to use stdio for output.
244
 
245
Fixed erroneous initialization and check of FILE * value.
246
 
247
cpp/unix.c:
248
Revised to use stdio for output.
249
 
250
Fixed erroneous initialization and check of FILE * value.
251
 
252
Converted to use stdio for input.
253
 
254
etc/irix.c:
255
Added -D_LONGLONG, because some SGI assume this.
256
Reported by Nelson Beebe.
257
 
258
Added -32 option to insure O32 object files and libraries are used.
259
 
260
etc/lcc.c:
261
Fixed -l file so that file doesn't have to exist.
262
 
263
Changed \ to / at the end of Win32 include paths.
264
 
265
Added casts and prototypes to make _spawnvp compatible
266
with Win32 version.
267
 
268
Permit -dynamic -static on all systems, using option to check
269
for validity.
270
Edited help messages.
271
 
272
Look for -Wf-unsigned_char=1 and added
273
-D__CHAR_IUNSIGNED__ and -U_CHAR_IS_SIGNED to the cpp
274
command line. These options interact with changes to the
275
standard header limits.h to set CHAR_MIN and CHAR_MAX correctly.
276
Look for -Wf-wchar_t=... and define _WCHAR_T_SIZE appropriately,
277
which interacts with stddef.h and stdlib.h to typedef wchar_t correctly.
278
 
279
Fixed botch in initinputs that cleared LCCINPUTS.
280
 
281
etc/win32.c:
282
Added oldnames.lib to link command.
283
 
284
Cut useless -align directive in ld command.
285
 
286
include/*/*/limits.h:
287
Corrected name: __CHAR_IS_UNSIGNED__ should be __CHAR_UNSIGNED__.
288
 
289
Define CHAR_MIN/CHAR_MAX depending on defintion of __CHAR_IS_UNSIGNED__.
290
 
291
include/*/*/locale.h:
292
Change NULL to ((void*)0).
293
 
294
Protected definition of NULL;
295
defined NULL as 0L on osf systems.
296
 
297
include/*/*/stdarg.h:
298
Fixed typedef for __va_list so it's protected by #ifdef.
299
 
300
Fixed missing #endif;
301
protected definition of va_list by _VA_LIST_DEFINED.
302
 
303
Changed the type of va_list.
304
 
305
Insured only va_list was conditionally defined.
306
 
307
Insured _VA_LIST is defined.
308
 
309
Revised __va_arg macro to handle va_arg(float) correctly;
310
this addition required a static double temporary, which is
311
less than elegant and subject to order-of-evaluation bugs.
312
 
313
include/*/*/stddef.h:
314
Change NULL to ((void*)0).
315
 
316
Added _x_T_DEFINED flag macros for Windows compatibility.
317
 
318
Added code to typedef wchar_t to unsigned char, short, or int
319
depending on the value of _WCHAR_T_SIZE.
320
 
321
Protected definition of NULL;
322
defined NULL as 0L on osf systems.
323
 
324
include/*/*/stdio.h:
325
Change NULL to ((void*)0).
326
 
327
Added _x_T_DEFINED flag macros for Windows compatibility.
328
 
329
Changed the type of va_list.
330
 
331
Protected definition of size_t by _SIZE_T_DEFINED;
332
added definition for va_list protected by _VA_LIST.
333
 
334
Protected definition of NULL;
335
defined NULL as 0L on osf systems.
336
 
337
include/*/*/stdlib.h:
338
Change NULL to ((void*)0).
339
 
340
Added _x_T_DEFINED flag macros for Windows compatibility.
341
 
342
Added code to typedef wchar_t to unsigned char, short, or int
343
depending on the value of _WCHAR_T_SIZE.
344
 
345
Protected definition of NULL;
346
defined NULL as 0L on osf systems.
347
 
348
include/*/*/string.h:
349
Change NULL to ((void*)0).
350
 
351
Added _x_T_DEFINED flag macros for Windows compatibility.
352
 
353
Protected definition of NULL;
354
defined NULL as 0L on osf systems.
355
 
356
include/*/*/time.h:
357
Change NULL to ((void*)0).
358
 
359
Added _x_T_DEFINED flag macros for Windows compatibility.
360
 
361
Protected definition of NULL;
362
defined NULL as 0L on osf systems.
363
 
364
lburg/lburg.c:
365
Simplified use of va_arg to accommodate gcc bug.
366
 
367
Added ()s to avoid bogus compilation error on Linux.
368
 
369
lib/assert.c:
370
Added EXPORT and default definition.
371
 
372
lib/bbexit.c:
373
Access _caller via indirection; add _setcallerp.
374
 
375
Added EXPORT and default definition.
376
 
377
Changed profiling counters to ints.
378
 
379
lib/yynull.c:
380
Added EXPORT and default definition.
381
 
382
tst/cq.c:
383
Added prototypes to function pointer initializations.

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.