]>
Commit | Line | Data |
---|---|---|
207ff633 CB |
1 | Mon Jul 13 17:33:44 1998 Craig Burley <burley@gnu.org> |
2 | ||
3 | Cleanups vis-a-vis system.h cutover and g77-0.5.24: | |
4 | * Makefile.in (fini.o): Define USE_HCONFIG macro | |
5 | so source code doesn't have to. | |
6 | * fini.c: Don't define USE_HCONFIG here, since | |
7 | source code usually shouldn't care about this. | |
8 | * ansify.c: Include stddef.h only if we have it. | |
9 | * intdoc.c: Ditto. | |
10 | * proj.h: Ditto. | |
11 | ||
30e5b40b NC |
12 | Mon Jul 13 17:30:29 1998 Nick Clifton <nickc@cygnus.com> |
13 | ||
14 | * lang-options.h: Format changed to work with --help support added | |
15 | to gcc/toplev.c | |
16 | ||
6bf71635 CB |
17 | Mon Jul 13 11:54:03 1998 Craig Burley <burley@gnu.org> |
18 | ||
19 | * com.c (ffecom_push_tempvar): Replace kludge that | |
20 | munged back-end globals directly with proper calls | |
21 | to push_topmost_sequence and pop_topmost_sequence. | |
22 | ||
e3fc7b68 DL |
23 | 1998-07-12 Dave Love <d.love@dl.ac.uk> |
24 | ||
25 | * version.c: Bump version. | |
26 | ||
4fe911f5 CB |
27 | Sat Jul 11 19:24:32 1998 Craig Burley <burley@gnu.org> |
28 | ||
29 | Fix 980616-0.f: | |
30 | * equiv.c (ffeequiv_offset_): Don't crash on various | |
31 | possible ANY operands. | |
32 | ||
c264f113 CB |
33 | Sat Jul 11 18:24:37 1998 Craig Burley <burley@gnu.org> |
34 | ||
35 | * com.c (ffecom_expr_) [FFEBLD_opCONTER]: Die if padding | |
36 | for constant is non-zero. | |
37 | ||
38 | * com.c (__eprintf): Delete this function, it is obsolete. | |
39 | ||
1cd97bb3 DL |
40 | 1998-07-09 Dave Love <d.love@dl.ac.uk> |
41 | ||
42 | * intdoc.in (HOSTNM_func, HOSTNM_subr): Update last change. | |
43 | ||
621bb5b1 CB |
44 | Thu Jul 9 00:45:59 1998 Craig Burley <burley@gnu.org> |
45 | ||
46 | Fix debugging of CHARACTER*(*), etc., which requires | |
47 | emitting debug info on types like `ftnlen': | |
48 | * com.c (ffecom_start_progunit_): Don't bother | |
49 | resetting "invented" flag for identifier. | |
50 | (ffecom_transform_equiv_): Don't bother zeroing | |
51 | "ignored" flag for decl. | |
52 | (pushdecl): No longer set "ignored", "used", or | |
53 | "suppressed debug" flags for decls having "invented" | |
54 | identifiers. | |
55 | ||
60afa297 DL |
56 | 1998-07-06 Dave Love <d.love@dl.ac.uk> |
57 | ||
58 | * intdoc.in (HOSTNM_func, HOSTNM_subr): Note possible need for | |
59 | -lsocket. | |
60 | ||
9e8e701d DL |
61 | 1998-07-05 Dave Love <d.love@dl.ac.uk> |
62 | ||
63 | * intdoc.in: Add entry for DATE_AND_TIME. | |
64 | ||
65 | * intrin.def: Add implementation for DATE_AND_TIME. Make second | |
66 | and third args of SYSTEM_CLOCK optional. | |
67 | ||
68 | * com.c (ffecom_expr_intrinsic_): New case for DATE_AND_TIME. | |
69 | ||
70 | * com-rt.def (FFECOM_gfrtSYSTEM_CLOCK): Call G77_system_clock_0, | |
71 | not system_clock_. | |
72 | (FFECOM_gfrtDATE_AND_TIME): New DEFGFRT. | |
73 | ||
f781186f CB |
74 | Wed Jul 1 11:19:13 1998 Craig Burley <burley@gnu.org> |
75 | ||
76 | Fix 980701-1.f (which was producing "unaligned trap" | |
77 | on an Alpha running GNU/Linux, as predicted): | |
78 | * equiv.c (ffeequiv_layout_local_): Don't bother | |
79 | coping with pre-padding of entire area while building | |
80 | it; do that instead after the building is done, and | |
81 | do it by modifying only the modulo field. This covers | |
82 | the case of alignment stringency being increased without | |
83 | lowering the starting offset, unlike the previous changes, | |
84 | and even more elegantly than those. | |
85 | ||
86 | * target.c (ffetarget_align): Make sure alignments | |
87 | are non-zero, just in case. | |
88 | ||
a6fa6420 CB |
89 | Mon Jun 29 09:47:33 1998 Craig Burley <burley@gnu.org> |
90 | ||
91 | Fix 980628-*.f: | |
92 | * bld.h: New `pad' field and accessor macros for | |
93 | ACCTER, ARRTER, and CONTER ops. | |
94 | * bld.c (ffebld_new_accter, ffebld_new_arrter, | |
95 | ffebld_new_conter_with_orig): Initialize `pad' field | |
96 | to zero. | |
97 | * com.c (ffecom_transform_common_): Include initial | |
98 | padding (aka modulo aka offset) in size calculation. | |
99 | Copy initial padding value into FFE initialization expression | |
100 | so the GBE transformation of that expression includes it. | |
101 | Make array low bound 0 instead of 1, for consistency. | |
102 | (ffecom_transform_equiv_): Include initial | |
103 | padding (aka modulo aka offset) in size calculation. | |
104 | Copy initial padding value into FFE initialization expression | |
105 | so the GBE transformation of that expression includes it. | |
106 | Make array low bound 0 instead of 1, for consistency. | |
107 | (ffecom_expr_, case FFEBLD_opACCTER): Delete unused `size' | |
108 | variable. | |
109 | Track destination offset separately, allowing for | |
110 | initial padding. | |
111 | Don't bother setting initial PURPOSE offset if zero. | |
112 | Include initial padding in size calculation. | |
113 | (ffecom_expr_, case FFEBLD_opARRTER): Allow for | |
114 | initial padding. | |
115 | Include initial padding in size calculation. | |
116 | Make array low bound 0 instead of 1, for consistency. | |
117 | (ffecom_finish_global_): Make array low bound 0 instead | |
118 | of 1, for consistency. | |
119 | (ffecom_notify_init_storage): Copy `pad' field from old | |
120 | ACCTER to new ARRTER. | |
121 | (ffecom_notify_init_symbol): Ditto. | |
122 | * data.c (ffedata_gather_): Initialize `pad' field in new | |
123 | ARRTER to 0. | |
124 | (ffedata_value_): Ditto. | |
125 | * equiv.c (ffeequiv_layout_local_): When lowering start | |
126 | of equiv area, extend lowering to maintain needed alignment. | |
127 | * target.c (ffetarget_align): Handle negative offset correctly. | |
128 | ||
129 | * global.c (ffeglobal_pad_common): Warn about non-zero | |
130 | padding only the first time its seen. | |
131 | If new padding larger than old, update old. | |
132 | (ffeglobal_save_common): Use correct type for size throughout. | |
133 | * global.h: Use correct type for size throughout. | |
134 | (ffeglobal_common_pad): New macro. | |
135 | (ffeglobal_pad): Delete this unused and broken macro. | |
136 | ||
973bd7a4 CB |
137 | Fri Jun 26 11:54:19 1998 Craig Burley <burley@gnu.org> |
138 | ||
139 | * g77spec.c (lang_specific_driver): Put `-lg2c' in | |
140 | front of any `-lm' that is seen. | |
141 | ||
08e901b9 CB |
142 | Mon Jun 15 23:39:24 1998 Craig Burley <burley@gnu.org> |
143 | ||
144 | * Make-lang.in (f/g77.info): Use -f when removing | |
145 | pre-existing Info files, if any. (This rm command | |
146 | can go away once makeinfo has been changed to delete | |
147 | .info-N files beyond the last one it creates.) | |
148 | ||
149 | * Make-lang.in ($(srcdir)/f/intdoc.texi): Compile | |
150 | using $(INCLUDES) macro to get the new hconfig.h | |
151 | and system.h headers. [Instead of change below.] | |
152 | ||
fd66d5a6 MH |
153 | 1998-16-19 Manfred Hollstein <manfred@s-direktnet.de> |
154 | ||
155 | * Makefile.in ($(srcdir)/f/intdoc.texi): Add $(INCLUDES). | |
156 | ||
8b45da67 CB |
157 | Mon Jun 15 22:21:57 1998 Craig Burley <burley@gnu.org> |
158 | ||
159 | Cutover to system.h: | |
160 | * Make-lang.in: | |
161 | * Makefile.in: | |
162 | * ansify.c: | |
163 | * bad.c: | |
164 | * bld.c: | |
165 | * com.c: | |
166 | * com.h: | |
167 | * expr.c: | |
168 | * fini.c: | |
169 | * g77spec.c: | |
170 | * implic.c: | |
171 | * intdoc.c: | |
172 | * intrin.c: | |
173 | * lex.c: | |
174 | * lex.h: | |
175 | * parse.c: | |
176 | * proj.c: | |
177 | * proj.h: | |
178 | * src.c: | |
179 | * src.h: | |
180 | * stb.c: | |
181 | * ste.c: | |
182 | * target.c: | |
183 | * top.c: | |
184 | * system.j: New file. | |
185 | ||
186 | Use toplev.h where appropriate: | |
187 | * Make-lang.in: | |
188 | * Makefile.in: | |
189 | * bad.c: | |
190 | * bld.c: | |
191 | * com.c: | |
192 | * lex.c: | |
193 | * ste.c: | |
194 | * top.c: | |
195 | * toplev.j: New file. | |
196 | ||
197 | Conditionalize all dumping/reporting routines so they don't | |
198 | get built for gcc/egcs: | |
199 | * bld.c: | |
200 | * bld.h: | |
201 | * com.c: | |
202 | * equiv.c: | |
203 | * equiv.h: | |
204 | * sta.c: | |
205 | * stt.c: | |
206 | * stt.h: | |
207 | * symbol.c: | |
208 | * symbol.h: | |
209 | ||
210 | Use hconfig.h instead of config.h where appropriate: | |
211 | * Makefile.in (proj-h.o): Compile with -DUSE_HCONFIG. | |
212 | * fini.c: Define USE_HCONFIG before including proj.h. | |
213 | ||
214 | * Makefile.in (deps-kinda): Redirect stderr to stdout, | |
215 | to eliminate diagnostics vis-a-vis g77spec.c. | |
216 | ||
217 | * Makefile.in: Regenerate dependencies via deps-kinda. | |
218 | ||
219 | * lex.c (ffelex_file_fixed, ffelex_file_free): Eliminate | |
220 | apparently spurious warnings about uninitialized variables | |
221 | `c', `column', and so on. | |
222 | ||
3f1e4292 CB |
223 | Sat Jun 13 03:13:18 1998 Craig Burley <burley@gnu.org> |
224 | ||
225 | * g77spec.c (lang_specific_driver): Print out egcs | |
226 | version info first, to be compatible with what some | |
227 | test facilities expect. | |
228 | ||
ab9e0ff9 DB |
229 | Wed Jun 10 13:17:32 1998 Dave Brolley <brolley@cygnus.com> |
230 | ||
231 | * top.h (ffe_decode_option): New argc/argv interface. | |
232 | * top.c (ffe_decode_option): New argc/argv interface. | |
233 | * parse.c (yyparse): New argc/argv interface for ffe_decode_option. | |
234 | * com.c (lang_decode_option): New argc/argv interface. | |
95a1b676 | 235 | |
a835e351 CB |
236 | Mon Jun 1 19:37:42 1998 Craig Burley <burley@gnu.org> |
237 | ||
238 | * com.c (ffecom_init_0): Fix setup of INTEGER(KIND=7) | |
239 | pointer type. | |
240 | * info.c (ffeinfo_type): Don't crash on null type. | |
241 | * expr.c (ffeexpr_fulfill_call_): Don't special-case | |
242 | %LOC(expr) or LOC(expr). | |
243 | Delete FFEGLOBAL_argsummaryPTR. | |
244 | * global.c, global.h: Delete FFEGLOBAL_argsummaryPTR. | |
245 | ||
95a1b676 CB |
246 | Thu May 28 21:32:18 1998 Craig Burley <burley@gnu.org> |
247 | ||
248 | Restore circa-0.5.22 capabilities of `g77' driver: | |
249 | * Make-lang.in (g77spec.o): Depend on f/version.h. | |
250 | (g77version.o): New rule to compile g77 version info. | |
251 | (g77$(exeext)): Depend on and link in g77version.o. | |
252 | * g77spec.c: Rewrite to be more like 0.5.22 version | |
253 | of g77.c, making filtering of command line smarter | |
254 | so mixed Fortran and C (etc.) can be compiled, verbose | |
255 | version info can be obtained, etc. | |
256 | * lang-specs.h (f77-version): New "language" to support | |
257 | "g77 -v" command under new gcc 2.8 regime. | |
258 | * lex.c (ffelex_file_fixed): If -fnull-version, just | |
259 | substitute a "source file" that prints out version info. | |
260 | * top.c, top.h: Support -fnull-version. | |
261 | ||
262 | * lang-specs.h: Use "%O" instead of OO macro to specify | |
263 | object extension. Remove old stringizing cruft. | |
264 | ||
265 | * Make-lang.in (g77.c, g77spec.o, g77.o, g77$(exeext), | |
266 | g77-cross$(exeext), f771, | |
267 | $(srcdir)/f/g77.info, $(srcdir)/f/g77.dvi, | |
268 | $(srcdir)/f/intdoc.texi, | |
269 | f77.install-common, f77.install-info, f77.install-man, | |
270 | f77.uninstall, $(G77STAGESTUFF), f77.stage1, f77.stage2, | |
271 | f77.stage3, f77.stage4, f77.distdir): Don't do anything | |
272 | unless user specified "f77" or "F77" in $LANGUAGES either | |
273 | during configuration or explicitly. For convenience of | |
274 | various tests and to work around lack of the assignment | |
275 | "LANGUAGES=$(BOOT_LANGUAGES)" in the "make stage1" command | |
276 | of "make bootstrap" in gcc, use a touch file named "lang-f77" | |
277 | to communicate whether this is the case. | |
278 | ||
279 | * Make-lang.in (F77_FLAGS_TO_PASS): Delete this macro, | |
280 | replace with minimal expansion of its former self in | |
281 | each of the two instances where it was used. | |
282 | ||
283 | * Makefile.in (HOST_CC): Delete this definition. | |
284 | ||
285 | * com.c (index, rindex): Delete these declarations. | |
286 | ||
287 | * proj.h: (isascii): Delete this. | |
288 | ||
289 | * Make-lang.in (f77.install-common): Warn if `f77-install-ok' | |
290 | flag-file exists, since it no longer triggers any activity. | |
291 | ||
292 | Rename libf2c.a and f2c.h to libg2c.a and g2c.h, | |
293 | normalize and simplify g77/libg2c build process: | |
294 | * Make-lang.in: Remove all support for overwriting | |
295 | /usr/bin/f77 etc., or whatever the actual names are | |
296 | via $(prefix) and $(local_prefix). (g++ overwrites | |
297 | /usr/bin/c++, but then it's often the only C++ compiler | |
298 | on the system; f77 often exists on systems that are | |
299 | installing g77.) | |
300 | (f77.realclean): Remove obsolete target. | |
301 | (g77.c, g77$(exeext)): Minor changes to look more like g++'s | |
302 | stuff. | |
303 | (f771): Now built with srcdir=gcc/f, not srcdir=gcc, to be | |
304 | more like g++ and such. | |
305 | (f/Makefile): Removed, as g++ doesn't need this rule. | |
306 | (f77.install-common): No longer install f77, etc. | |
307 | (f77.install-man): No longer install f77.1. | |
308 | (f77.uninstall): No longer uninstall f77, f77.1, etc. | |
309 | (f77.stage1, f77.stage2, f77.stage3, f77.stage4): Do work | |
310 | only if "f77" appears in $(LANGUAGES). | |
311 | (Note: gcc's Makefile.in's bootstrap target should set | |
312 | LANGUAGES=$(BOOT_LANGUAGES) when making the stage1 target.) | |
313 | * Makefile.in: Update vis-a-vis gcc/cp/Makefile.in. | |
314 | (none): Remove. | |
315 | (g77-only): Relocate. | |
316 | (all.indirect, f771, *.o): Now assumes current directory | |
317 | is this dir (gcc/f), not the parent directory. | |
318 | (TAGS): Remove "echo 'parse.y,0' >> TAGS ;" line. | |
319 | * config-lang.in: Delete commented-out code. | |
320 | Fix stagestuff definition. Add more stuff to | |
321 | diff_excludes definition. Don't create any directories. | |
322 | Set outputs to f/Makefile, to get variable substition | |
323 | to happen (what does that really do, anyway?!). | |
324 | * g77spec.c: Rename libf2c to libg2c. | |
325 | ||
326 | * com.h: Remove all of the gcc back-end decls, | |
327 | since egcs should have all of them correct. | |
328 | ||
329 | * com.c: Include "proj.h" before anything else, | |
330 | as that's how things are supposed to work. | |
331 | * ste.c: Ditto. | |
332 | ||
333 | * bad.c: Include "flags.j" here, since some diagnostics | |
334 | check flag_pedantic_errors. | |
335 | ||
336 | * Makefile.in (f/*.o): Rebuild dependencies via | |
337 | deps-kinda. | |
338 | ||
339 | * output.j: New source file. | |
340 | * Make-lang.in (F77_SRCS): Update accordingly. | |
341 | * Makefile.in (OUTPUT_H): Ditto. | |
342 | (deps-kinda): Ditto. | |
343 | * com.c: Include "output.j" here. | |
344 | * lex.c: Ditto. | |
345 | ||
5a3321e1 CB |
346 | Mon May 25 03:34:42 1998 Craig Burley <burley@gnu.org> |
347 | ||
348 | * com.c (ffecom_expr_): Fix D**I and Z**I cases to | |
349 | not convert (DOUBLE PRECISION) D and (DOUBLE COMPLEX) Z | |
350 | to INTEGER. (This is dead code here anyway.) | |
351 | ||
6829256f CB |
352 | Sat May 23 06:32:52 1998 Craig Burley <burley@gnu.org> |
353 | ||
354 | * com.c (ffecom_finish_symbol_transform_): Don't transform | |
355 | statement (nested) functions, to avoid gcc compiling them | |
356 | and thus producing linker errors if they refer to undefined | |
a835e351 CB |
357 | external functions. But warn if they're unused and -Wunused. |
358 | * bad.def (FFEBAD_SFUNC_UNUSED): New diagnostic. | |
6829256f | 359 | |
2e0773e8 CB |
360 | Tue May 19 14:52:41 1998 Craig Burley <burley@gnu.org> |
361 | ||
362 | * bad.def (FFEBAD_OPEN_UNSUPPORTED, FFEBAD_INQUIRE_UNSUPPORTED, | |
363 | FFEBAD_READ_UNSUPPORTED, FFEBAD_WRITE_UNSUPPORTED, | |
364 | FFEBAD_QUAD_UNSUPPORTED, FFEBAD_BLOCKDATA_STMT, | |
365 | FFEBAD_TRUNCATING_CHARACTER, FFEBAD_TRUNCATING_HOLLERITH, | |
366 | FFEBAD_TRUNCATING_NUMERIC, FFEBAD_TRUNCATING_TYPELESS, | |
367 | FFEBAD_TYPELESS_OVERFLOW): Change these from warnings | |
368 | to errors. | |
369 | ||
370 | Tue May 19 14:51:59 1998 Craig Burley <burley@gnu.org> | |
371 | ||
372 | * Make-lang.in (f77.install-info, f77.uninstall): | |
373 | Use install-info as appropriate. | |
374 | ||
375 | Tue May 19 12:56:54 1998 Craig Burley <burley@gnu.org> | |
376 | ||
377 | * com.c (ffecom_init_0): Rename xargc to f__xargc, | |
378 | in accord with same-dated change to f/runtime. | |
379 | ||
bfe12bab | 380 | Fri May 15 10:52:49 1998 Craig Burley <burley@gnu.org> |
ac549fc3 CB |
381 | |
382 | * com.c (ffecom_convert_narrow_, ffecom_convert_widen_): | |
383 | Be even more persnickety in checking for internal bugs. | |
384 | Also, if precision isn't changing, just return the expr. | |
ac549fc3 | 385 | |
bfe12bab | 386 | * expr.c (ffeexpr_token_number_): Call |
ac549fc3 CB |
387 | ffeexpr_make_float_const_ to make an integer. |
388 | (ffeexpr_make_float_const_): Handle making an integer. | |
389 | ||
390 | * intrin.c (ffeintrin_init_0): Distinguish between | |
391 | crashes on bad arg base and kind types. | |
392 | ||
bfe12bab CB |
393 | Thu May 14 13:30:59 1998 Craig Burley <burley@gnu.org> |
394 | ||
395 | * Make-lang.in (f/expr.c): Now depends on f/stamp-str. | |
396 | * expr.c: Use ffestrOther in place of ffeexprDotdot_. | |
ac549fc3 CB |
397 | * str-ot.fin: Add more keywords for expr.c. |
398 | ||
399 | * intdoc.c (dumpimp): Trivial fix. | |
400 | ||
bfe12bab | 401 | * com.c (ffecom_expr_): Add ltkt variable for clarity. |
ac549fc3 | 402 | |
5a3321e1 CB |
403 | Wed May 13 13:05:34 1998 Craig Burley <burley@gnu.org> |
404 | ||
405 | * Make-lang.in (G77STAGESTUFF): Add g77.o, g77spec.o, | |
406 | and g77version.o. | |
407 | (f77.clean): Add removal of g77.c, g77.o, g77spec.o, | |
408 | and g77version.o. | |
409 | (f77.distclean): Delete removal of g77.c. | |
410 | ||
f8676b5d CB |
411 | Tue Apr 28 09:23:10 1998 Craig Burley <burley@gnu.org> |
412 | ||
413 | Fix 980427-0.f: | |
414 | * global.c (ffeglobal_ref_progunit_): When transitioning | |
415 | from EXT to FUNC, discard hook, since the decl, if any, is | |
416 | probably wrong. | |
417 | ||
945beb7c CB |
418 | Sun Apr 26 09:05:50 1998 Craig Burley <burley@gnu.org> |
419 | ||
420 | * com.c (ffecom_char_enhance_arg_): Wrap the upper bound | |
421 | (the PARM_DECL specifying the length of the CHARACTER*(*) | |
422 | dummy arg) in a variable_size invocation, to prevent | |
423 | dwarf2out.c crashing when compiling code with -g. | |
424 | ||
425 | Sat Apr 18 05:03:21 1998 Craig Burley <burley@gnu.org> | |
426 | ||
427 | * com.c (ffecom_check_size_overflow_): Ignore overflow | |
428 | as well if dummy argument. | |
429 | ||
4a26588b CB |
430 | Fri Apr 17 17:18:04 1998 Craig Burley <burley@gnu.org> |
431 | ||
432 | * version.h: Get rid of the overly large headers | |
433 | here too, as done in version.c. | |
434 | ||
3cf0cea4 CB |
435 | Tue Apr 14 14:40:40 1998 Craig Burley <burley@gnu.org> |
436 | ||
437 | * com.c (ffecom_start_progunit_): Mark function decl | |
438 | as used, to avoid spurious warning (-Wunused) for ENTRY. | |
439 | ||
440 | Tue Apr 14 14:19:34 1998 Craig Burley <burley@gnu.org> | |
441 | ||
442 | * sta.c (ffesta_second_): Check for CASE DEFAULT | |
443 | as well as CASE, or it won't be recognized. | |
444 | ||
bfe12bab CB |
445 | Mon Mar 23 21:20:35 1998 Craig Burley <burley@gnu.org> |
446 | ||
447 | * version.c: Reduce to a one-line file, like | |
448 | gcc's version.c, since there's really no content | |
449 | there. | |
450 | ||
f861f674 CB |
451 | Mon Mar 23 11:58:43 1998 Craig Burley <burley@gnu.org> |
452 | ||
667332c2 CB |
453 | * bugs.texi: Various updates. |
454 | ||
f861f674 CB |
455 | * com.c (ffecom_tree_canonize_ptr_): Fix up spacing a bit. |
456 | ||
14a378ec CB |
457 | Mon Mar 16 21:20:35 1998 Craig Burley <burley@gnu.org> |
458 | ||
459 | * expr.c (ffeexpr_sym_impdoitem_): Don't blindly | |
460 | reset symbol info after calling ffesymbol_error, | |
461 | to avoid crash. | |
462 | ||
d2723ca0 CB |
463 | Thu Mar 12 13:50:21 1998 Craig Burley <burley@gnu.org> |
464 | ||
465 | * lang-options.h: Sort all -f*-intrinsics-* options, | |
466 | for consistency with other g77 versions. | |
467 | ||
44d2eabc JL |
468 | Mon Mar 16 15:38:50 1998 Craig Burley <burley@gnu.org> |
469 | ||
470 | * Version 0.5.22 released. | |
471 | ||
472 | Mon Mar 16 14:36:02 1998 Craig Burley <burley@gnu.org> | |
473 | ||
474 | Make -g work better for ENTRY: | |
475 | * com.c (ffecom_start_progunit_): Master function | |
476 | for ENTRY-laden procedure is not really invented, | |
477 | so it can be debugged. | |
478 | (ffecom_do_entry_): Push/set/pop lineno for each | |
479 | entry point. | |
480 | ||
481 | Sun Mar 15 05:48:49 1998 Craig Burley <burley@gnu.org> | |
482 | ||
483 | * intrin.def: Fix spelling of mixed-case form | |
484 | of `CPU_Time' (was `Cpu_Time'). | |
485 | ||
486 | 1998-03-09 Dave Love <d.love@dl.ac.uk> | |
487 | ||
488 | * Make-lang.in: Set CONFIG_SITE to a non-existent file since | |
489 | /dev/null loses with bash 2.0/autoconf 2.12. Put | |
490 | F77_FLAGS_TO_PASS before CC. | |
491 | ||
492 | Sun Mar 8 16:35:34 1998 Craig Burley <burley@gnu.org> | |
493 | ||
494 | * intrin.def: Use tabs instead of blanks more | |
495 | consistently (excepting DEFGEN section for now). | |
496 | ||
497 | Sat Feb 28 15:24:38 1998 Craig Burley <burley@gnu.org> | |
498 | ||
499 | * intrin.def: Make CPU_TIME's arg generic real to be just | |
500 | like SECOND_subr. | |
501 | ||
b50fa387 CB |
502 | Fri Feb 20 12:45:53 1998 Craig Burley <burley@gnu.org> |
503 | ||
504 | * expr.c (ffeexpr_token_arguments_): Make sure | |
505 | outer exprstack isn't null. | |
506 | ||
44d2eabc | 507 | 1998-02-16 Dave Love <d.love@dl.ac.uk> |
a52ad720 | 508 | |
44d2eabc | 509 | * Makefile.in (f/fini): Don't use -W -Wall with HOST_CC. |
30286a36 | 510 | |
575094a2 CB |
511 | Sun Jan 11 02:14:47 1998 Craig Burley <burley@gnu.org> |
512 | ||
513 | Support FORMAT(I<1+2>) (constant variable-FORMAT | |
514 | expressions): | |
515 | * bad.def (FFEBAD_FORMAT_VARIABLE): New diagnostic. | |
516 | * std.c (ffestd_R1001rtexpr_): New function. | |
517 | (ffestd_R1001dump_, ffestd_R1001dump_1005_1_, | |
518 | ffestd_R1001dump_1005_2_, ffestd_R1001dump_1005_3_, | |
519 | ffestd_R1001dump_1005_4_, ffestd_R1001dump_1005_5_, | |
520 | ffestd_R1001dump_1010_2_, ffestd_R1001dump_1010_3_, | |
521 | ffestd_R1001dump_1010_4_, ffestd_R1001dump_1010_5_): | |
522 | Use new function instead of ffestd_R1001error_. | |
523 | ||
524 | * stb.c (ffestb_R10014_, ffestb_R10016_, ffestb_R10018_, | |
525 | ffestb_R100110_): Restructure `for' loop for style. | |
526 | ||
44d2eabc JL |
527 | Fix 970626-2.f by not doing most back-end processing |
528 | when current_function_decl is an ERROR_MARK, and by | |
529 | making that the case when its type would be an ERROR_MARK: | |
530 | * com.c (ffecom_start_progunit_, finish_function, | |
531 | lang_printable_name, start_function, | |
532 | ffecom_finish_symbol_transform_): Test for ERROR_MARK. | |
533 | * std.c (ffestd_stmt_pass_): Don't do any downstream | |
534 | processing if ERROR_MARK. | |
535 | ||
536 | * Make-lang.in (f77.install-common): Don't install, and | |
537 | don't uninstall existing, Info files if f/g77.info | |
538 | doesn't exit. (This is a somewhat modified version | |
539 | of an egcs patch on 1998-01-07 12:05:51 by Bruno Haible | |
540 | <bruno@linuix.mathematik.uni-karlsruhe.de>.) | |
541 | ||
99ce4a11 CB |
542 | Fri Jan 9 19:09:07 1998 Craig Burley <burley@gnu.org> |
543 | ||
44d2eabc JL |
544 | Fix -fpedantic combined with `F()' invocation, |
545 | also -fugly-comma combined with `IARGC()' invocation: | |
546 | * bad.def (FFEBAD_NULL_ARGUMENT_W): New diagnostic. | |
547 | * expr.c (ffeexpr_finished_): Don't reject null expressions | |
548 | in the argument-expression context -- let outer context | |
549 | handle that. | |
550 | (ffeexpr_token_arguments_): Warn about null expressions | |
551 | here if -fpedantic (as appropriate). | |
552 | Obey -fugly-comma for only external-procedure invocations. | |
99ce4a11 CB |
553 | * intrin.c (ffeintrin_check_): No longer ignore explicit |
554 | omitted trailing args. | |
555 | ||
6d433196 CB |
556 | Tue Dec 23 14:58:04 1997 Craig Burley <burley@gnu.org> |
557 | ||
44d2eabc JL |
558 | * intrin.c (ffeintrin_fulfill_generic): Don't generate |
559 | FFEBAD_INTRINSIC_TYPE for CHARACTER*(*) intrinsic. | |
560 | ||
561 | * com.c (ffecom_gfrt_basictype): | |
562 | (ffecom_gfrt_kindtype): | |
563 | (ffecom_make_gfrt_): | |
564 | (FFECOM_rttypeVOIDSTAR_): New return type `void *', for | |
565 | the SIGNAL intrinsic. | |
566 | * com-rt.def (FFECOM_rttypeSIGNAL): Now returns `void *'. | |
567 | * intdoc.c: Replace `p' kind specifier with `7'. | |
568 | * intrin.c (ffeintrin_check_, ffeintrin_init_0): Replace | |
569 | `p' kind specifier with `7'. | |
570 | * intrin.def (FFEINTRIN_impLOC, FFEINTRIN_impSIGNAL_func, | |
571 | FFEINTRIN_impSIGNAL_subr): Replace `p' specifier with `7'. | |
572 | Also, SIGNAL now returns a `void *' status, not `int'. | |
573 | ||
86fc7a6c CB |
574 | Improve run-time diagnostic for "PRINT '(I1', 42": |
575 | * com.c (ffecom_char_args_x_): Renamed from ffecom_char_args_, | |
576 | which is now a macro (to avoid lots of changes to other code) | |
577 | with new arg, ffecom_char_args_with_null_ being another new | |
578 | macro to call same function with different value for new arg. | |
579 | This function now appends a null byte to opCONTER expression | |
580 | if the new arg is TRUE. | |
581 | (ffecom_arg_ptr_to_expr): Support NULL length pointer. | |
582 | * ste.c (ffeste_io_cilist_): | |
583 | (ffeste_io_icilist_): Pass NULL length ptr for | |
584 | FORMAT expression, so null byte gets appended where | |
585 | feasible. | |
586 | * target.c (ffetarget_character1): | |
587 | (ffetarget_concatenate_character1): | |
588 | (ffetarget_substr_character1): | |
589 | (ffetarget_convert_character1_character1): | |
590 | (ffetarget_convert_character1_hollerith): | |
591 | (ffetarget_convert_character1_integer4): | |
592 | (ffetarget_convert_character1_logical4): | |
593 | (ffetarget_convert_character1_typeless): | |
594 | (ffetarget_hollerith): Append extra phantom null byte as | |
595 | part of FFETARGET-NULL-BYTE kludge. | |
596 | ||
44d2eabc JL |
597 | * intrin.def (FFEINTRIN_impCPU_TIME): Point to |
598 | FFECOM_gfrtSECOND as primary run-time routine. | |
6d433196 CB |
599 | |
600 | Mon Dec 22 12:41:07 1997 Craig Burley <burley@gnu.org> | |
601 | ||
602 | * intrin.c (ffeintrin_init_0): Remove duplicate | |
603 | check for `!'. | |
604 | ||
605 | Sun Dec 14 02:49:58 1997 Craig Burley <burley@gnu.org> | |
606 | ||
607 | * intrin.c (ffeintrin_init_0): Fix up indentation a bit. | |
608 | Fix bug that prevented checking of arguments other | |
609 | than the first. | |
610 | ||
611 | * intdoc.c: Fix up indentation a bit. | |
612 | ||
44d2eabc JL |
613 | Tue Dec 9 16:20:57 1997 Richard Henderson <rth@cygnus.com> |
614 | ||
615 | * com.c (ffecom_type_vardesc_): Vardesc.dims is a `ftnlen*'. | |
616 | ||
6d433196 CB |
617 | Mon Dec 1 19:12:36 1997 Craig Burley <burley@gnu.org> |
618 | ||
619 | * intrin.c (ffeintrin_check_): Fix up indentation a bit more. | |
620 | ||
e2fa159e JL |
621 | Mon Dec 1 16:21:08 1997 Craig Burley <burley@gnu.org> |
622 | ||
623 | * com.c (ffecom_arglist_expr_): Crash if non-supplied | |
624 | optional arg isn't passed as an address. | |
625 | Pass null pointer explicitly, instead of via ffecom routine. | |
626 | If incoming argstring is NULL, substitute pointer to "0". | |
627 | Recognize '0' as ending the usual arg stuff, just like '\0'. | |
628 | ||
6d433196 CB |
629 | Sun Nov 30 22:22:22 1997 Craig Burley <burley@gnu.org> |
630 | ||
631 | * intdoc.c: Minor fix-ups. | |
632 | ||
633 | * intrin.c (ffeintrin_check_): Fix up indentation a bit. | |
634 | ||
44d2eabc JL |
635 | * intrin.def: Fix up spacing a bit. |
636 | ||
e2fa159e JL |
637 | 1997-11-17 Dave Love <d.love@dl.ac.uk> |
638 | ||
639 | * com.c (ffecom_arglist_expr_): Pass null pointers for optional | |
640 | args which aren't supplied. | |
6d433196 | 641 | |
44d2eabc JL |
642 | Sun Nov 16 21:45:43 1997 H.J. Lu (hjl@gnu.ai.mit.edu) |
643 | ||
644 | * Make-lang.in (f77.install-info): Depend on f77.info. | |
645 | ||
646 | 1997-11-06 Dave Love <d.love@dl.ac.uk> | |
647 | ||
648 | * intrin.def: Allow non-integer args for INT2 and INT8 (per | |
649 | documentation). | |
650 | ||
651 | Tue Oct 28 02:21:25 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
652 | ||
653 | * lang-options.h: Add -fgnu-intrinsics-* and | |
654 | -fbadu77-intrinsics-* options. | |
655 | ||
56a0044b JL |
656 | Sun Oct 26 02:36:21 1997 Craig Burley <burley@gnu.ai.mit.edu> |
657 | ||
658 | * com.c (lang_print_error_function): Fix to more | |
659 | reliably notice when the diagnosed region changes. | |
660 | ||
661 | Sat Oct 25 23:43:36 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
662 | ||
663 | Fix 950327-0.f: | |
664 | * sta.c, sta.h (ffesta_outpooldisp): New function. | |
665 | * std.c (ffestd_stmt_pass_): Don't kill NULL pool. | |
666 | (ffestd_R842): If pool already preserved, save NULL | |
667 | for pool, because it should be killed only once. | |
668 | ||
669 | * malloc.c [MALLOC_DEBUG]: Put initializer for `name' | |
670 | component in braces, to avoid compiler warning. | |
671 | ||
a2977d2d CB |
672 | Fri Oct 10 13:00:48 1997 Craig Burley <burley@gnu.ai.mit.edu> |
673 | ||
674 | * ste.c (ffeste_begin_iterdo_): Fix loop setup so iteration | |
675 | variable is modified only after the #iterations is calculated; | |
676 | otherwise if the iteration variable is aliased to any of the | |
677 | operands in the start, end, or increment expressions, the | |
678 | wrong #iterations might be calculated. | |
679 | ||
680 | * com.c (ffecom_save_tree): Fix indentation. | |
681 | ||
44d2eabc JL |
682 | 1997-10-05 Dave Love <d.love@dl.ac.uk> |
683 | ||
684 | * intrin.def: Make SECOND_subr's arg generic real for people | |
685 | porting from Cray and making everything double precision. | |
686 | ||
82d109f2 JL |
687 | Mon Sep 29 16:18:21 1997 Craig Burley <burley@gnu.ai.mit.edu> |
688 | ||
689 | * stu.c (ffestu_list_exec_transition_, | |
690 | ffestu_dummies_transition_): Specify `bool' type for | |
691 | `in_progress' variables. | |
692 | ||
693 | * com.h (assemble_string): Declare this routine (instead | |
694 | of #include'ing "output.h" from gcc) to eliminate warnings | |
695 | from lex.c. | |
696 | ||
697 | Fri Sep 19 01:12:27 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
698 | ||
699 | * expr.c (ffeexpr_reduced_eqop2_): | |
700 | (ffeexpr_reduced_relop2_): Minor fixes to diagnostic code. | |
701 | ||
702 | * fini.c (main): Change return type to `int'. | |
703 | ||
704 | Wed Sep 17 10:47:08 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
705 | ||
706 | * com-rt.def (FFECOM_gfrtDSIGN, FFECOM_gfrtISIGN, | |
707 | FFECOM_gfrtSIGN): Add second argument. | |
708 | ||
709 | * expr.c (ffeexpr_cb_comma_c_): Trivial fixes. | |
710 | ||
34b8e428 JL |
711 | Tue Sep 9 01:59:35 1997 Craig Burley <burley@gnu.ai.mit.edu> |
712 | ||
713 | * Version 0.5.21 released. | |
714 | ||
715 | Tue Sep 9 00:31:01 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
716 | ||
717 | * intdoc.c (dumpem): Put appropriate commentary in | |
718 | output file, so readers know it isn't source. | |
719 | ||
720 | Wed Aug 27 08:08:25 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
721 | ||
722 | * proj.h: Always #include "config.j" first, to pick up | |
723 | gcc's configuration. | |
724 | * com.c: Change bcopy() and bzero() calls to memcpy() | |
725 | and memset() calls, to make more of g77 ANSI C. | |
726 | ||
727 | 1997-08-26 Dave Love <d.love@dl.ac.uk> | |
728 | ||
729 | * Make-lang.in ($(srcdir)/f/runtime/configure, | |
730 | $(srcdir)/f/runtime/libU77/configure): Fix for when srcdir isn't | |
731 | relative. | |
732 | ||
795232f7 JL |
733 | Tue Aug 26 05:59:21 1997 Craig Burley <burley@gnu.ai.mit.edu> |
734 | ||
735 | * ansify.c (main): Make sure readers of stdout know | |
736 | it's derived from stdin; omit comment text; get source | |
737 | line numbers in future stderr output to be correct. | |
738 | ||
739 | Tue Aug 26 01:36:01 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
740 | ||
741 | Fix 970825-0.f: | |
742 | * stb.c (ffestb_R5284_): Allow OPEN_PAREN after closing | |
743 | SLASH as well as NAME. | |
744 | ||
745 | Mon Aug 25 23:48:17 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
746 | ||
747 | Changes to allow g77 docs to be built entirely from scratch | |
748 | using any ANSI C compiler, not requiring GNU C: | |
749 | * Make-lang.in ($(srcdir)/f/intdoc.texi): "Pipe" new | |
750 | location of intrinsic documentation data base, f/intdoc.in, | |
751 | through new `ansify' program to append `\n\' to quoted | |
752 | newlines, into f/intdoc.h0. Do appropriate cleanups. Explain. | |
753 | (f77.mostlyclean): Add f/ansify and f/intdoc.h0 to cleanups. | |
754 | * f/ansify.c: New program. | |
755 | * f/intdoc.c: Fix so it conforms to ANSI C. | |
756 | #include f/intdoc.h0 instead of f/intdoc.h. | |
757 | Avoid some warnings. | |
758 | * f/intdoc.h, f/intdoc.in: Rename the former to the latter; no | |
759 | changes made to the content in this patch! | |
760 | * f/intrin.h (ffeintrinFamily): Fix to conform to ANSI C. | |
761 | ||
762 | Sun Aug 24 06:52:48 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
763 | ||
764 | Fix up g77 compiler data base for libf2c routines: | |
765 | * com-rt.def (FFECOM_gfrtSIGNAL): Change return type to | |
766 | FTNINT to match actual code. | |
767 | ||
768 | * com.c (ffecomRttype_): Replace FFECOM_rttypeINT_ with | |
769 | FFECOM_rttypeFTNINT_. | |
770 | Add and fix up comments. | |
771 | (ffecom_make_gfrt_, ffecom_gfrt_basictype, | |
772 | ffecom_gfrt_kindtype): Replace FFECOM_rttypeINT_ with | |
773 | FFECOM_rttypeFTNINT_; add FFECOM_rttypeDOUBLEREAL_. | |
774 | ||
775 | Wed Aug 20 17:18:40 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
776 | ||
777 | * global.c (ffeglobal_ref_progunit_): It's okay to have | |
778 | a different CHARACTER*n length for a reference if the | |
779 | existing length is for another reference, not a definition. | |
780 | ||
781 | Mon Aug 18 14:27:18 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
782 | ||
783 | Fix 970814-0.f: | |
784 | * global.c (ffeglobal_new_progunit_): Distinguish | |
785 | between previously defined, versus inferred, filewide | |
786 | when it comes to diagnostics. | |
787 | ||
788 | Fix 970816-1.f: | |
789 | * global.c (ffeglobal_ref_progunit_): Change BDATA into EXT | |
790 | right at the beginning, so EXTERNAL FOO followed later | |
791 | by SUBROUTINE FOO is not diagnosed. | |
792 | ||
793 | Fix 970813-0.f: | |
794 | * com-rt.def (FFECOM_gfrtALARM): Returns `integer', not | |
795 | `void'. | |
796 | ||
797 | Sun Aug 17 03:32:44 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
798 | ||
799 | Fix up problems when virtual memory exhausted: | |
800 | * malloc.c (malloc_new_): Use gcc's xmalloc(), so we | |
801 | print a nicer message when malloc returns no memory. | |
802 | (malloc_resize_): Ditto for xrealloc(). | |
803 | ||
804 | * Make-lang.in, Makefile.in: Comment out lines containing | |
805 | just formfeeds. | |
806 | ||
807 | Sat Aug 16 19:41:33 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
808 | ||
809 | * com.c (ffecom_make_gfrt_): For rttypeREAL_F2C_, return | |
810 | double_type_node; for rttypeREAL_GNU_, return | |
811 | _real_type_node. | |
812 | ||
813 | 1997-08-13 Dave Love <d.love@dl.ac.uk> | |
814 | ||
815 | * config-lang.in (diff_excludes): Add some hints about known | |
816 | problematic platforms. | |
817 | ||
818 | 1997-08-13 Dave Love <d.love@dl.ac.uk> | |
819 | ||
820 | * intdoc.h: Document `alarm'. | |
821 | ||
5ff904cd JL |
822 | Mon Aug 11 21:19:22 1997 Craig Burley <burley@gnu.ai.mit.edu> |
823 | ||
824 | * Make-lang.in ($(RUNTIMESTAGESTUFF)): Add | |
825 | f/runtime/stamp-lib. | |
826 | ||
827 | Mon Aug 11 01:52:03 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
828 | ||
829 | * com.c (ffecom_build_complex_constant_): Go with the | |
830 | new build_complex() approach used in gcc-2.8. | |
831 | ||
832 | * com.c (ffecom_sym_transform_): Don't set | |
833 | DECL_IN_SYSTEM_HEADER for a tree node that isn't | |
834 | a VAR_DECL, which happens when var is in common! | |
835 | ||
836 | * com.c (ffecom_expr_intrinsic_) (case FFEINTRIN_impALARM): | |
837 | No need to test codegen_imp -- there's only one valid here. | |
838 | ||
839 | * intrin.def (FFEINTRIN_impALARM): Specify `Status' argument | |
840 | as write-only. | |
841 | ||
842 | Fri Aug 8 05:40:23 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
843 | ||
844 | Substantial changes to accommodate distinctions among | |
845 | run-time routines that support intrinsics, and between | |
846 | routines that compute and return the same type vs. those | |
847 | that compute one type and return another (or `void'): | |
848 | * com-rt.def: Specify new return type REAL_F2C_ instead | |
849 | of many DOUBLE_, COMPLEX_F2C_ instead of COMPLEX_, and | |
850 | so on. | |
851 | Clear up the *BES* routines "once and for all". | |
852 | * com.c: New return types. | |
853 | (ffecom_convert_narrow_, ffecom_convert_widen_): | |
854 | New functions that are "safe" variants of convert(), | |
855 | to catch errors that ffecom_expr_intrinsic_() now | |
856 | no longer catches. | |
857 | (ffecom_arglist_expr_): Ensure arguments are not | |
858 | converted to narrower types. | |
859 | (ffecom_call_): Ensure return value is not converted | |
860 | to a wider type. | |
861 | (ffecom_char_args_): Use new ffeintrin_gfrt_direct() | |
862 | routine. | |
863 | (ffecom_expr_intrinsic_): Simplify how run-time | |
864 | routine is selected (via `gfrt' only now; lose the | |
865 | redundant `ix' variable). | |
866 | Eliminate the `library' label; any code that doesn't | |
867 | return directly just `break's out now with `gfrt' | |
868 | set appropriately. | |
869 | Set `gfrt' to default choice initially, either a | |
870 | fast direct form or, if not available, a slower | |
871 | indirect-callable form. | |
872 | (ffecom_make_gfrt_): No longer need to do special | |
873 | check for complex; it's built into the new return-type | |
874 | regime. | |
875 | (ffecom_ptr_to_expr): Use new ffeintrin_gfrt_indirect() | |
876 | routine. | |
877 | * intrin.c, intrin.h: `gfrt' field replaced with three fields, | |
878 | so it is easier to provide faster direct-callable and | |
879 | GNU-convention indirect-callable routines in the future. | |
880 | DEFIMP macro adjusted accordingly, along with all its uses. | |
881 | (ffeintrin_gfrt_direct): New function. | |
882 | (ffeintrin_gfrt_indirect): Ditto. | |
883 | (ffeintrin_is_actualarg): If `-fno-f2c' is in effect, | |
884 | require a GNU-callable version of intrinsic instead of | |
885 | an f2c-callable version, so indirect calling is still checked. | |
886 | * intrin.def: Replace one GFRT field with the three new fields, | |
887 | as appropriate for each DEFIMP intrinsic. | |
888 | ||
889 | * com.c (ffecom_stabilize_aggregate_, | |
890 | ffecom_convert_to_complex_): Make these `static'. | |
891 | ||
892 | Thu Aug 7 11:24:34 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
893 | ||
894 | Provide means for front end to determine actual | |
895 | "standard" return type for an intrinsic if it is | |
896 | passed as an actual argument: | |
897 | * com.h, com.c (ffecom_gfrt_basictype, | |
898 | ffecom_gfrt_kindtype): New functions. | |
899 | (ffecom_gfrt_kind_type_): Replaced with new function. | |
900 | All callers updated. | |
901 | (ffecom_make_gfrt_): No longer need do anything | |
902 | with kind type. | |
903 | ||
904 | * intrin.c (ffeintrin_basictype, ffeintrin_kindtype): | |
905 | Now returns correct type info for specific intrinsic | |
906 | (based on type of run-time-library implementation). | |
907 | ||
908 | Wed Aug 6 23:08:46 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
909 | ||
910 | * global.c (ffeglobal_ref_progunit_): Don't reset | |
911 | number of arguments just due to new type info, | |
912 | so useful warnings can be issued. | |
913 | ||
914 | 1997-08-06 Dave Love <d.love@dl.ac.uk> | |
915 | ||
916 | * intrin.def: Fix IDATE_vxt argument order. | |
917 | * intdoc.h: Likewise. | |
918 | ||
919 | Thu Jul 31 22:22:03 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
920 | ||
921 | * global.c (ffeglobal_proc_ref_arg): If REF/DESCR | |
922 | disagreement, DESCR is CHARACTER, and types disagree, | |
923 | pretend the argsummary agrees so the message ends up | |
924 | being about type disagreement. | |
925 | (ffeglobal_proc_def_arg): Ditto. | |
926 | ||
927 | * expr.c (ffeexpr_token_first_rhs_3_): Set info for LABTOK | |
928 | to NONE of everything, to avoid misdiagnosing filewide | |
929 | usage of alternate returns. | |
930 | ||
931 | Sun Jul 20 23:07:47 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
932 | ||
933 | * com.c (ffecom_sym_transform_): If type gets set | |
934 | to error_mark_node, just return that for transformed symbol. | |
935 | (ffecom_member_phase2_): If type gets set to error_mark_node, | |
936 | just return. | |
937 | (ffecom_check_size_overflow_): Add `dummy' argument to | |
938 | flag that type is for a dummy, update all callers. | |
939 | ||
940 | Sun Jul 13 17:40:53 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
941 | ||
942 | Fix 970712-1.f: | |
943 | * where.c (ffewhere_set_from_track): If start point | |
944 | is too large, just use initial start point. 0.6 should | |
945 | fix all this properly. | |
946 | ||
947 | Fix 970712-2.f: | |
948 | * com.c (ffecom_sym_transform_): Preserve error_mark_node for type. | |
949 | (ffecom_type_localvar_): Ditto. | |
950 | (ffecom_sym_transform_): If type is error_mark_node, | |
951 | don't error-check decl size, because back end responds by | |
952 | setting that to an integer 0 instead of error_mark_node. | |
953 | (ffecom_transform_common_): Same as earlier fix to _transform_ | |
954 | in that size is checked by dividing BITS_PER_UNIT instead of | |
955 | multiplying. | |
956 | (ffecom_transform_equiv_): Ditto. | |
957 | ||
958 | Fix 970712-3.f: | |
959 | * stb.c (ffestb_R10014_): Fix flaky fall-through in error | |
960 | test for FFELEX_typeCONCAT by just replicating the code, | |
961 | and do FFELEX_typeCOLONCOLON while at it. | |
962 | ||
963 | 1997-07-07 Dave Love <d.love@dl.ac.uk> | |
964 | ||
965 | * intdoc.h: Add various missing pieces; correct GMTIME, LTIME | |
966 | result ordering. | |
967 | ||
968 | * intrin.def, com-rt.def: Add alarm. | |
969 | ||
970 | * com.c (ffecom_expr_intrinsic_): Add case for alarm. | |
971 | ||
972 | Thu Jun 26 04:19:40 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
973 | ||
974 | Fix 970302-3.f: | |
975 | * com.c (ffecom_sym_transform_): For sanity-check compare | |
976 | of gbe size of local variable to g77 expectation, | |
977 | use varasm.c/assemble_variable technique of dividing | |
978 | BITS_PER_UNIT out of gbe info instead of multiplying | |
979 | g77 info up, to avoid crash when size in bytes is very | |
980 | large, and overflows an `int' or similar when multiplied. | |
981 | ||
982 | Fix 970626-2.f: | |
983 | * com.c (ffecom_finish_symbol_transform_): Don't bother | |
984 | transforming a dummy argument, to avoid a crash. | |
985 | * ste.c (ffeste_R1227): Don't return a value if the | |
986 | result decl, or its type, is error_mark_node. | |
987 | ||
988 | Fix 970626-4.f: | |
989 | * lex.c (ffelex_splice_tokens): `-fdollar-ok' is | |
990 | irrelevant to whether a DOLLAR token should be made | |
991 | from an initial character of `$'. | |
992 | ||
993 | Fix 970626-6.f: | |
994 | * stb.c (ffestb_do3_): DO iteration variable is an | |
995 | lhs, not rhs, expression. | |
996 | ||
997 | Fix 970626-7.f and 970626-8.f: | |
998 | * expr.c (ffeexpr_cb_comma_i_1_): Set IMPDO expression | |
999 | to have clean info, because undefined rank, for example, | |
1000 | caused crash on mangled source on UltraSPARC but not | |
1001 | on Alpha for a series of weird reasons. | |
1002 | (ffeexpr_cb_close_paren_): If not CLOSE_PAREN, push | |
1003 | opANY expression onto stack instead of attempting | |
1004 | to mimic what program might have wanted. | |
1005 | (ffeexpr_cb_close_paren_): Don't wrap opPAREN around | |
1006 | opIMPDO, just warn that it's gratuitous. | |
1007 | * bad.def (FFEBAD_IMPDO_PAREN): New warning. | |
1008 | ||
1009 | Fix 970626-9.f: | |
1010 | * expr.c (ffeexpr_declare_parenthesized_): Must shut down | |
1011 | parsing in kindANY case, otherwise the parsing engine might | |
1012 | decide there's an ambiguity. | |
1013 | (ffeexpr_token_name_rhs_): Eliminate parentypeSUBROUTINE_ | |
1014 | case, so we crash right away if it comes through. | |
1015 | * st.c, st.h, sta.c, sta.h (ffest_shutdown, ffesta_shutdown): | |
1016 | New functions. | |
1017 | ||
1018 | Tue Jun 24 19:47:29 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1019 | ||
1020 | * com.c (ffecom_check_size_overflow_): New function | |
1021 | catches some cases of the size of a type getting | |
1022 | too large. varasm.c must catch the rest. | |
1023 | (ffecom_sym_transform_): Use new function. | |
1024 | (ffecom_type_localvar_): Ditto. | |
1025 | ||
1026 | Mon Jun 23 01:09:28 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1027 | ||
1028 | * global.c (ffeglobal_proc_def_arg): Fix comparison | |
1029 | of argno to #args. | |
1030 | (ffeglobal_proc_ref_arg): Ditto. | |
1031 | ||
1032 | * lang-options.h, top.c: Rename `-fdebug' to `-fxyzzy', | |
1033 | since it's an unsupported internals option and some | |
1034 | poor user might guess that it does something. | |
1035 | ||
1036 | * bad.def: Make a warning for each filewide diagnostic. | |
1037 | Put all filewides together. | |
1038 | * com.c (ffecom_sym_transform_): Don't substitute | |
1039 | known global tree for global entities when `-fno-globals'. | |
1040 | * global.c (ffeglobal_new_progunit_): Don't produce | |
1041 | fatal diagnostics about globals when `-fno-globals'. | |
1042 | Instead, produce equivalent warning when `-Wglobals'. | |
1043 | (ffeglobal_proc_ref_arg): Ditto. | |
1044 | (ffeglobal_proc_ref_nargs): Ditto. | |
1045 | (ffeglobal_ref_progunit_): Ditto. | |
1046 | * lang-options.h, top.c, top.h: New `-fno-globals' option. | |
1047 | ||
1048 | Sat Jun 21 12:32:54 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1049 | ||
1050 | * expr.c (ffeexpr_fulfill_call_): Set array variable | |
1051 | to avoid warning about uninitialized variable. | |
1052 | ||
1053 | * Make-lang.in: Get rid of any setting of HOST_* macros, | |
1054 | since these will break gcc's build! | |
1055 | * makefile: New file to make building derived files | |
1056 | easier. | |
1057 | ||
1058 | Thu Jun 19 18:19:28 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1059 | ||
1060 | * g77.c (main): Install Emilio Lopes' patch to support | |
1061 | Ratfor, and to fix the printing of the version string | |
1062 | to go to stderr, not stdout. | |
1063 | * lang-specs.h: Install Emilio Lopes' patch to support | |
1064 | Ratfor, and patch the result to support picking up | |
1065 | `*f771' from the `specs' file. | |
1066 | ||
1067 | Thu Jun 12 14:36:25 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1068 | ||
1069 | * storag.c (ffestorag_update_init, ffestorag_update_save): | |
1070 | Also update parent, in case equivalence processing | |
1071 | has already eliminated pointers to it via the | |
1072 | local equivalence info. | |
1073 | ||
1074 | Tue Jun 10 14:08:26 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1075 | ||
1076 | * intdoc.c: Add cross-reference to end of description | |
1077 | of any generic intrinsic pointing to other intrinsics | |
1078 | with the same name. | |
1079 | ||
1080 | Warn about explicit type declaration for intrinsic | |
1081 | that disagrees with invocation: | |
1082 | * expr.c (ffeexpr_paren_rhs_let_): Preserve type info | |
1083 | for intrinsic functions. | |
1084 | (ffeexpr_token_funsubstr_): Ditto. | |
1085 | * intrin.c (ffeintrin_fulfill_generic): Warn if type | |
1086 | info of fulfilled intrinsic invocation disagrees with | |
1087 | explicit type info given symbol. | |
1088 | (ffeintrin_fulfill_specific): Ditto. | |
1089 | * stc.c (ffestc_R1208_item): Preserve type info | |
1090 | for intrinsics. | |
1091 | (ffestc_R501_item): Ditto. | |
1092 | ||
1093 | Mon Jun 9 17:45:44 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1094 | ||
1095 | * com.c (ffecom_expr_intrinsic_): Fix several of the | |
1096 | libU77/libF77-unix handlers to properly convert their | |
1097 | arguments. | |
1098 | ||
1099 | * com-rt.def (FFECOM_gfrtFSTAT): Append missing "i" to | |
1100 | arg string. | |
1101 | ||
1102 | Fri Jun 6 14:37:30 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1103 | ||
1104 | * com.c (ffecom_expr_intrinsic_): Have a case statement | |
1105 | for every intrinsic implementation, so missing ones | |
1106 | are caught via gcc warnings. | |
1107 | Don't call ffeintrin_codegen_imp anymore. | |
1108 | * intrin.c (ffeintrin_fulfill_generic): Remove cg_imp | |
1109 | stuff from here. | |
1110 | (ffeintrin_codegen_imp): Delete this function. | |
1111 | * intrin.def, intrin.h: Remove DEFIMQ stuff from here | |
1112 | as well. | |
1113 | ||
1114 | Thu Jun 5 13:03:07 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1115 | ||
1116 | * top.c (ffe_decode_option): New -fbadu77-intrinsics-* | |
1117 | options. | |
1118 | * top.h: Ditto. | |
1119 | * intrin.h: New BADU77 family. | |
1120 | * intrin.c (ffeintrin_state_family): Ditto. | |
1121 | ||
1122 | Implement new scheme to track intrinsic names vs. forms: | |
1123 | * intrin.c (ffeintrin_fulfill_generic), | |
1124 | (ffeintrin_fulfill_specific), (ffeintrin_is_intrinsic), | |
1125 | intrin.def: The documented name is now either in the | |
1126 | generic info or, if no generic, in the specific info. | |
1127 | For a generic, the specific info contains merely the | |
1128 | distinguishing form (usually "function" or "subroutine"), | |
1129 | used for diagnostics about ambiguous references and | |
1130 | in the documentation. | |
1131 | ||
1132 | * intrin.def: Clean up formatting of DEFNAME block. | |
1133 | Convert many libU77 intrinsics into generics that | |
1134 | support both subroutine and function forms. | |
1135 | Put the function forms of side-effect routines into | |
1136 | the new BADU77 family. | |
1137 | Make MCLOCK and TIME return INTEGER*4 again, and add | |
1138 | INTEGER*8 equivalents called MCLOCK8 and TIME8. | |
1139 | Fix up more status return values to be written and | |
1140 | insist on them being I1 as well. | |
1141 | * com.c (ffecom_expr_intrinsic_): Lots of changes to | |
1142 | support new libU77 intrinsic interfaces. | |
1143 | ||
1144 | Mon Jun 2 00:37:53 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1145 | ||
1146 | * com.c (ffecom_init_0): Pointer type is now INTEGER(KIND=7), | |
1147 | not INTEGER(KIND=0), since we want to reserve KIND=0 for | |
1148 | future use. | |
1149 | ||
1150 | Thu May 29 14:30:33 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1151 | ||
1152 | Fix bugs preventing CTIME(I*4) from working correctly: | |
1153 | * com.c (ffecom_char_args_): For FUNCREF case, process | |
1154 | args to intrinsic just as they would be in | |
1155 | ffecom_expr_intrinsic_. | |
1156 | * com-rt.def (FFECOM_gfrtCTIME, FFECOM_gfrtTTYNAM): Fix | |
1157 | argument decls to specify `&'. | |
1158 | ||
1159 | Wed May 28 22:19:49 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1160 | ||
1161 | Fix gratuitous warnings exposed by dophot aka 970528-1: | |
1162 | * global.c (ffeglobal_proc_def_arg, ffeglobal_proc_ref_arg): | |
1163 | Support distinct function/subroutine arguments instead of | |
1164 | just procedures. | |
1165 | * global.h: Ditto. | |
1166 | * expr.c (ffeexpr_fulfill_call_): A SYMTER with kindNONE | |
1167 | also is a procedure (either function or subroutine). | |
1168 | ||
1169 | Mon May 26 20:25:31 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1170 | ||
1171 | * bad.def: Have several lexer diagnostics refer to | |
1172 | documentation for people who need more info on what Fortran | |
1173 | source code is supposed to look like. | |
1174 | ||
1175 | * expr.c (ffeexpr_reduced_bool1_), bad.def: New diagnostics | |
1176 | specific to .NOT. now mention only one operand instead | |
1177 | of two. | |
1178 | ||
1179 | * g77.c: Recognize -fsyntax-only, similar to -c etc. | |
1180 | (lookup_option): Fix bug that prevented non-`--' options | |
1181 | from being recognized. | |
1182 | ||
1183 | Sun May 25 04:29:04 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1184 | ||
1185 | * intrin.def (FFEINTRIN_impCTIME): Accept `I*' expression | |
1186 | for STime instead of requiring `I2'. | |
1187 | ||
1188 | Tue May 20 16:14:40 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1189 | ||
1190 | * symbol.c (ffesymbol_reference): All references to | |
1191 | standard intrinsics are considered explicit, so as | |
1192 | to avoid generating basically useless warnings. | |
1193 | * intrin.c, intrin.h (ffeintrin_is_standard): Returns TRUE | |
1194 | if intrinsic is standard. | |
1195 | ||
1196 | Sun May 18 21:14:59 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1197 | ||
1198 | * com-rt.def: Changed all external names of the | |
1199 | form `"\([a-z0-9]*\)_' to `"G77_\1_0"' so as to | |
1200 | allow any name valid as an intrinsic to be used | |
1201 | as such and as a user-defined external procedure | |
1202 | name or common block as well. | |
1203 | ||
1204 | Thu May 8 13:07:10 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1205 | ||
1206 | * expr.c (ffeexpr_cb_end_notloc_): For %VAL, %REF, and | |
1207 | %DESCR, copy arg info into new node. | |
1208 | ||
1209 | Mon May 5 14:42:17 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1210 | ||
1211 | From Uwe F. Mayer <mayer@math.Vanderbilt.Edu>: | |
1212 | * Make-lang.in (g77-cross): Fix typo in g77.c path. | |
1213 | ||
1214 | From Brian McIlwrath <bkm@star.rl.ac.uk>: | |
1215 | * lang-specs.h: Have g77 pick up options from a section | |
1216 | labeled `*f771' of the `specs' file. | |
1217 | ||
1218 | Sat May 3 02:46:08 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1219 | ||
1220 | * intrin.def (FFEINTRIN_defSIGNAL): Add optional `Status' | |
1221 | argument that com.c already expects (per Dave Love). | |
1222 | ||
1223 | More changes to support better tracking of (filewide) | |
1224 | globals, in particular, the arguments to procedures: | |
1225 | * bad.def (FFEBAD_FILEWIDE_NARGS, FFEBAD_FILEWIDE_NARGS_W, | |
1226 | FFEBAD_FILEWIDE_ARG, FFEBAD_FILEWIDE_ARG_W): New diagnostics. | |
1227 | * expr.c (ffebad_fulfill_call_): Provide info on each | |
1228 | argument to ffeglobal. | |
1229 | * global.c, global.h (ffeglobal_proc_def_arg, | |
1230 | ffeglobal_proc_def_nargs, ffeglobal_proc_ref_arg, | |
1231 | ffeglobal_proc_ref_args): New functions. | |
1232 | (ffeglobalArgSummary, ffeglobalArgInfo_): New types. | |
1233 | ||
1234 | Tue Apr 29 18:35:41 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1235 | ||
1236 | More changes to support better tracking of (filewide) | |
1237 | globals: | |
1238 | * expr.c (ffeexpr_fulfill_call_): New function. | |
1239 | (ffeexpr_token_name_lhs_): Call after building procedure | |
1240 | reference expression. Also leave info field for ANY-ized | |
1241 | expression alone. | |
1242 | (ffeexpr_token_arguments_): Ditto. | |
1243 | ||
1244 | Mon Apr 28 20:04:18 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1245 | ||
1246 | Changes to support better tracking of (filewide) | |
1247 | globals, mainly to avoid crashes due to inlining: | |
1248 | * bad.def: Go back to quoting intrinsic names, | |
1249 | (FFEBAD_FILEWIDE_DISAGREEMENT, FFEBAD_FILEWIDE_TIFF, | |
1250 | FFEBAD_FILEWIDE_TYPE_MISMATCH): New diagnostics. | |
1251 | (FFEBAD_INTRINSIC_EXPIMP, FFEBAD_INTRINSIC_GLOBAL): Reword | |
1252 | for clarity. | |
1253 | * com.c (ffecom_do_entry_, ffecom_start_progunit_, | |
1254 | ffecom_sym_transform_): Accommodate new FFEGLOBAL_typeEXT | |
1255 | possibility. | |
1256 | * expr.c (ffeexpr_sym_lhs_call_, ffeexpr_sym_lhs_extfunc_, | |
1257 | ffeexpr_sym_rhs_actualarg_, ffeexpr_declare_parenthesized_, | |
1258 | ffeexpr_paren_rhs_let_, ffeexpr_token_funsubstr_): | |
1259 | Fill in real kind info instead of leaving NONE where | |
1260 | appropriate. | |
1261 | Register references to intrinsics and globals with ffesymbol | |
1262 | using new ffesymbol_reference function instead of | |
1263 | ffesymbol_globalize. | |
1264 | * global.c (ffeglobal_type_string_): New array for | |
1265 | new diagnostics. | |
1266 | * global.h, global.c: | |
1267 | Replace ->init mechanism with ->tick mechanism. | |
1268 | Move other common-related members into a substructure of | |
1269 | a union, so the proc substructure can be introduced | |
1270 | to include members related to externals other than commons. | |
1271 | Don't complain about ANY-ized globals; ANY-ize globals | |
1272 | once they're complained about, in any case where code | |
1273 | generation could become a problem. | |
1274 | Handle global entries that have NONE type (seen as | |
1275 | intrinsics), EXT type (seen as EXTERNAL), and so on. | |
1276 | Keep track of kind and type of externals, both via | |
1277 | definition and via reference. | |
1278 | Diagnose disagreements about kind or type of externals | |
1279 | (such as functions). | |
1280 | (ffeglobal_ref_intrinsic, ffeglobal_ref_progunit_): New | |
1281 | functions. | |
1282 | * stc.c (ffestc_R1207_item, ffestc_R1208_item, | |
1283 | ffestc_R1219, ffestc_R1226): | |
1284 | Call ffesymbol_reference, not ffesymbol_globalize. | |
1285 | * stu.c (ffestu_sym_end_transition, | |
1286 | ffestu_sym_exec_transition): | |
1287 | Call ffesymbol_reference, not ffesymbol_globalize. | |
1288 | * symbol.c (ffesymbol_globalize): Removed... | |
1289 | (ffesymbol_reference): ...to this new function, | |
1290 | which more generally registers references to symbols, | |
1291 | globalizes globals, and calls on the ffeglobal module | |
1292 | to check globals filewide. | |
1293 | ||
1294 | * global.h, global.c: Rename some macros and functions | |
1295 | to more clearly distinguish common from other globals. | |
1296 | All callers changed. | |
1297 | ||
1298 | * com.c (ffecom_sym_transform_): Trees describing | |
1299 | filewide globals must be allocated on permanent obstack. | |
1300 | ||
1301 | * expr.c (ffeexpr_token_name_lhs_): Don't generate | |
1302 | gratuitous diagnostics for FFEINFO_whereANY case. | |
1303 | ||
1304 | Thu Apr 17 03:27:18 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1305 | ||
1306 | * global.c: Add support for flagging intrinsic/global | |
1307 | confusion via warnings. | |
1308 | * bad.def (FFEBAD_INTRINSIC_EXPIMP, | |
1309 | FFEBAD_INTRINSIC_GLOBAL): New diagnostics. | |
1310 | * expr.c (ffeexpr_token_funsubstr_): Ditto. | |
1311 | (ffeexpr_sym_lhs_call_): Ditto. | |
1312 | (ffeexpr_paren_rhs_let_): Ditto. | |
1313 | * stc.c (ffestc_R1208_item): Ditto. | |
1314 | ||
1315 | Wed Apr 16 22:40:56 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1316 | ||
1317 | * expr.c (ffeexpr_declare_parenthesized_): INCLUDE | |
1318 | context can't be an intrinsic invocation either. | |
1319 | ||
1320 | Fri Mar 28 10:43:28 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1321 | ||
1322 | * expr.c (ffeexpr_token_arguments_): Make sure top of | |
1323 | exprstack is operand before dereferencing operand field. | |
1324 | ||
1325 | * lex.c (ffelex_prepare_eos_): Fill up truncated | |
1326 | hollerith token, so crash on null ->text field doesn't | |
1327 | happen later. | |
1328 | ||
1329 | * stb.c (ffestb_R10014_): If NAMES isn't recognized (or | |
1330 | the recognized part is followed in the token by a | |
1331 | non-digit), don't try and collect digits, as there | |
1332 | might be more than FFEWHERE_indexMAX letters to skip | |
1333 | past to do so -- and the code is diagnosed anyway. | |
1334 | ||
1335 | Thu Mar 27 00:02:48 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1336 | ||
1337 | * com.c (ffecom_sym_transform_): Force local | |
1338 | adjustable array onto stack. | |
1339 | ||
1340 | * stc.c (ffestc_R547_item_object): Don't actually put | |
1341 | the symbol in COMMON if the symbol has already been | |
1342 | EQUIVALENCE'd to a different COMMON area. | |
1343 | ||
1344 | * equiv.c (ffeequiv_add): Don't actually do anything | |
1345 | if there's a disagreement over which COMMON area is | |
1346 | involved. | |
1347 | ||
1348 | Tue Mar 25 03:35:19 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1349 | ||
1350 | * com.c (ffecom_transform_common_): If no explicit init | |
1351 | of COMMON area, don't actually init it even though | |
1352 | storage area suggests it. | |
1353 | ||
1354 | Mon Mar 24 12:10:08 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1355 | ||
1356 | * lex.c (ffelex_image_char_): Avoid overflowing the | |
1357 | column counter itself, as well as the card image. | |
1358 | ||
1359 | * where.c (ffewhere_line_new): Cast ffelex_line_length() | |
1360 | to (size_t) so 255 doesn't overflow to 0! | |
1361 | ||
1362 | * stc.c (ffestc_labeldef_notloop_begin_): Don't gratuitously | |
1363 | terminate loop before processing statement, so block | |
1364 | doesn't disappear out from under EXIT/CYCLE processing. | |
1365 | (ffestc_labeldef_notloop_): Has old code from above | |
1366 | function, instead of just calling it. | |
1367 | ||
1368 | * expr.c (ffeexpr_cb_comma_i_4_): Don't skip over | |
1369 | arbitrary token (such as EOS). | |
1370 | ||
1371 | * com.c (ffecom_init_zero_): Handle RECORD_TYPE and | |
1372 | UNION_TYPE so -fno-zeros works with -femulated-complex. | |
1373 | ||
1374 | 1997-03-12 Dave Love <d.love@dl.ac.uk> | |
1375 | ||
1376 | * intrin.def: New intrinsics INT2, INT8, CPU_TIME. Fix AND, OR, | |
1377 | XOR. [Integrated by burley, AND/OR/XOR already fixed, INT8 | |
1378 | implementation changed/fixed.] | |
1379 | ||
1380 | Wed Mar 12 10:40:08 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1381 | ||
1382 | * Make-lang.in ($(srcdir)/f/intdoc.texi): Simplify rules | |
1383 | so building f/intdoc is not always necessary; remove | |
1384 | f/intdoc after running it if it is built. | |
1385 | ||
1386 | Tue Mar 11 23:42:00 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1387 | ||
1388 | * intrin.def (FFEINTRIN_impAND, FFEINTRIN_impOR, | |
1389 | FFEINTRIN_impXOR): Use the IAND, IOR, and IEOR implementations | |
1390 | of these, instead of crashing in ffecom_expr_intrinsic_ | |
1391 | or adding case labels there. | |
1392 | ||
1393 | Mon Mar 10 22:51:23 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1394 | ||
1395 | * intdoc.c: Fix so any C compiler can compile this. | |
1396 | ||
1397 | Fri Feb 28 13:16:50 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1398 | ||
1399 | * Version 0.5.20 released. | |
1400 | ||
1401 | Fri Feb 28 01:45:25 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1402 | ||
1403 | * Make-lang.in (RUNTIMESTAGESTUFF, LIBU77STAGESTUFF): | |
1404 | Move some files incorrectly in the former to the latter, | |
1405 | and add another file or two to the latter. | |
1406 | ||
1407 | New meanings for (KIND=n), and new denotations in the | |
1408 | little language describing intrinsics: | |
1409 | * com.c (ffecom_init_0): Assign new meanings. | |
1410 | * intdoc.c: Document new meanings. | |
1411 | Support the new denotations. | |
1412 | * intrin.c: Employ new meanings, mapping them to internal | |
1413 | values (which are the same as they ever were for now). | |
1414 | Support the new denotations. | |
1415 | * intrin.def: Switch DEFIMP table to the new denotations. | |
1416 | ||
1417 | * intrin.c (ffeintrin_check_): Fix bug that was leaving | |
1418 | LOC() and %LOC() returning INTEGER*4 on systems where | |
1419 | it should return INTEGER*8. | |
1420 | ||
1421 | * type.c: Canonicalize function definitions, for etags | |
1422 | and such. | |
1423 | ||
1424 | Wed Feb 26 20:43:03 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1425 | ||
1426 | * com.c (ffecom_init_0): Choose INTEGER(KIND=n) types, | |
1427 | where n is 2, 3, and 4, according to the new docs | |
1428 | instead of according to the old C correspondences | |
1429 | (which seem less useful at this point). | |
1430 | ||
1431 | * equiv.c (ffeequiv_destroy_): New function. | |
1432 | (ffeequiv_layout_local_): Use this new function | |
1433 | whenever the laying out of a local equivalence chain | |
1434 | is aborted for any reason. | |
1435 | Otherwise ensure that symbols no longer reference | |
1436 | the stale ffeequiv entries that result when they | |
1437 | are killed off in this procedure. | |
1438 | Also, the rooted symbol is one that has storage, | |
1439 | it really is irrelevant whether it has an equiv entry | |
1440 | at this point (though the code to remove the equiv | |
1441 | entry was put in at the end, just in case). | |
1442 | (ffeequiv_kill): When doing internal checks, make | |
1443 | sure the victim isn't named by any symbols it points | |
1444 | to. Not as complete a check as looking through the | |
1445 | entire symbol table (which does matter, since some | |
1446 | code in equiv.c used to remove symbols from the lists | |
1447 | for an ffeequiv victim but not remove that victim as the | |
1448 | symbol's equiv info), but this check did find some | |
1449 | real bugs in the code (that were fixed). | |
1450 | ||
1451 | Mon Feb 24 16:42:13 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1452 | ||
1453 | * com.c (ffecom_expr_intrinsic_): Fix a couple of | |
1454 | warnings about uninitialized variables. | |
1455 | * intrin.c (ffeintrin_check_): Ditto, but there were | |
1456 | a couple of _real_ uninitialized-variable _bugs_ here! | |
1457 | (ffeintrin_fulfill_specific): Ditto, no real bug here. | |
1458 | ||
1459 | Sun Feb 23 15:01:20 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1460 | ||
1461 | Clean up diagnostics (especially about intrinsics): | |
1462 | * bad.def (FFEBAD_UNIMPL_STMT): Remove. | |
1463 | (FFEBAD_INTRINSIC_*, FFEBAD_NEED_INTRINSIC): Clean these | |
1464 | up so they're friendlier. | |
1465 | (FFEBAD_INTRINSIC_CMPAMBIG): New. | |
1466 | * intrin.c (ffeintrin_fulfill_generic, | |
1467 | ffeintrin_fulfill_specific, ffeintrin_is_intrinsic): | |
1468 | Always choose | |
1469 | generic or specific name text (which is for doc purposes | |
1470 | anyway) over implementation name text (which is for | |
1471 | internal use). | |
1472 | * intrin.def: Use more descriptive name texts for generics | |
1473 | and specifics in cases where the names themselves are not | |
1474 | enough (e.g. IDATE, which has two forms). | |
1475 | ||
1476 | Fix some intrinsic mappings: | |
1477 | * intrin.def (FFEINTRIN_specIDINT, FFEINTRIN_specAND, | |
1478 | FFEINTRIN_specDFLOAT, FFEINTRIN_specDREAL, FFEINTRIN_specOR, | |
1479 | FFEINTRIN_specXOR): Now have their own implementations, | |
1480 | instead of borrowing from others. | |
1481 | (FFEINTRIN_specAJMAX0, FFEINTRIN_specAJMIN0, FFEINTRIN_specBJTEST, | |
1482 | FFEINTRIN_specDFLOTJ, FFEINTRIN_specFLOATJ, FFEINTRIN_specJIABS, | |
1483 | FFEINTRIN_specJIAND, FFEINTRIN_specJIBCLR, FFEINTRIN_specJIBITS, | |
1484 | FFEINTRIN_specJIBSET, FFEINTRIN_specJIDIM, FFEINTRIN_specJIDINT, | |
1485 | FFEINTRIN_specJIDNNT, FFEINTRIN_specJIEOR, FFEINTRIN_specJIFIX, | |
1486 | FFEINTRIN_specJINT, FFEINTRIN_specJIOR, FFEINTRIN_specJISHFT, | |
1487 | FFEINTRIN_specJISHFTC, FFEINTRIN_specJISIN, FFEINTRIN_specJMAX0, | |
1488 | FFEINTRIN_specJMAX1, FFEINTRIN_specJMIN0, FFEINTRIN_specJMIN1, | |
1489 | FFEINTRIN_specJMOD, FFEINTRIN_specJNINT, FFEINTRIN_specJNOT,): | |
1490 | Turn these implementations off, since it's not clear | |
1491 | just what types they expect in the context of portable Fortran. | |
1492 | (DFLOAT): Now in FVZ family, since f2c supports them | |
1493 | ||
1494 | Support intrinsic inquiry functions (BIT_SIZE, LEN): | |
1495 | * intrin.c: Allow `i' in <arg_extra>. | |
1496 | * intrin.def (FFEINTRIN_impBIT_SIZE, FFEINTRIN_impLEN): | |
1497 | Mark args with `i'. | |
1498 | ||
1499 | Sat Feb 22 13:34:09 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1500 | ||
1501 | Only warn, don't error, for reference to unimplemented | |
1502 | intrinsic: | |
1503 | * bad.def (FFEBAD_INTRINSIC_UNIMPLW): Warning version | |
1504 | of _UNIMPL. | |
1505 | * intrin.c (ffeintrin_is_intrinsic): Use new warning | |
1506 | version of _UNIMPL (FFEBAD_INTRINSIC_UNIMPLW). | |
1507 | ||
1508 | Complain about REAL(Z) and AIMAG(Z) (Z is DOUBLE COMPLEX): | |
1509 | * bad.def (FFEBAD_INTRINSIC_CMPAMBIG): New diagnostic. | |
1510 | * expr.c: Needed #include "intrin.h" anyway. | |
1511 | (ffeexpr_token_intrincheck_): New function handles delayed | |
1512 | diagnostic for "REAL(REAL(expr)" if next token isn't ")". | |
1513 | (ffeexpr_token_arguments_): Do most of the actual checking here. | |
1514 | * intrin.h, intrin.c (ffeintrin_fulfill_specific): New | |
1515 | argument, check_intrin, to tell caller that intrin is REAL(Z) | |
1516 | or AIMAG(Z). All callers updated, mostly to pass NULL in | |
1517 | for this. | |
1518 | (ffeintrin_check_): Also has new arg check_intrin for same | |
1519 | purpose. All callers updated the same way. | |
1520 | * intrin.def (FFEINTRIN_impAIMAG): Change return type | |
1521 | from "R0" to "RC", to accommodate f2c (and perhaps other | |
1522 | non-F90 F77 compilers). | |
1523 | * top.h, top.c: New option -fugly-complex. | |
1524 | ||
1525 | New GNU intrinsics REALPART, IMAGPART, and COMPLEX: | |
1526 | * com.c (ffecom_expr_intrinsic_): Implement impCOMPLEX | |
1527 | and impREALPART here. (specIMAGPART => specAIMAG.) | |
1528 | * intrin.def: Add the intrinsics here. | |
1529 | ||
1530 | Rename implementations of VXTIDATE and VXTTIME to IDATEVXT | |
1531 | and TIMEVXT, so they sort more consistently: | |
1532 | * com.c (ffecom_expr_intrinsic_): | |
1533 | * intrin.def: | |
1534 | ||
1535 | Delete intrinsic group `dcp', add `gnu', etc.: | |
1536 | * intrin.c (ffeintrin_state_family): FFEINTRIN_familyGNU | |
1537 | replaces FFEINTRIN_familyDCP, and gets state from `gnu' | |
1538 | group. | |
1539 | Get rid of FFEINTRIN_familyF2Z, nobody needs it. | |
1540 | Move FFEINTRIN_specDCMPLX from DCP family to FVZ family, | |
1541 | as f2c has it. | |
1542 | Move FFEINTRIN_specDFLOAT from F2C family to FVZ family. | |
1543 | (FFEINTRIN_specZABS, FFEINTRIN_specZCOS, FFEINTRIN_specZEXP, | |
1544 | FFEINTRIN_specZLOG, FFEINTRIN_specZSIN, FFEINTRIN_specZSQRT): | |
1545 | Move these from F2Z family to F2C family. | |
1546 | * intrin.h (FFEINTRIN_familyF2Z, FFEINTRIN_familyDCP): Remove. | |
1547 | (FFEINTRIN_familyGNU): Add. | |
1548 | * top.h, top.c: Replace `dcp' with `gnu'. | |
1549 | ||
1550 | * com.c (ffecom_expr_intrinsic_): Clean up by collecting | |
1551 | simple conversions into one nice, conceptual place. | |
1552 | Fix up some intrinsic subroutines (MVBITS, KILL, UMASK) to | |
1553 | properly push and pop call temps, to avoid wasting temp | |
1554 | registers. | |
1555 | ||
1556 | * g77.c (doit): Toon says variables should be defined | |
1557 | before being referenced. Spoilsport. | |
1558 | ||
1559 | * intrin.c (ffeintrin_check_): Now Dave's worried about | |
1560 | warnings about uninitialized variables. Okay, so for | |
1561 | basic return values 'g' and 's', they _were_ | |
1562 | uninitialized -- is determinism really _that_ useful? | |
1563 | ||
1564 | * intrin.def (FFEINTRIN_impFGETC): Fix STATUS argument | |
1565 | so that it is INTENT(OUT) instead of INTENT(IN). | |
1566 | ||
1567 | 1997-02-21 Dave Love <d.love@dl.ac.uk> | |
1568 | ||
1569 | * intrin.def, com.c: Support Sun-type `short' and `long' | |
1570 | intrinsics. Perhaps should also do Microcruft-style `int2'. | |
1571 | ||
1572 | Thu Feb 20 15:16:53 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1573 | ||
1574 | * com.c (ffecom_expr_intrinsic_): Clean up indentation. | |
1575 | Support SECONDSUBR intrinsic implementation. | |
1576 | Rename SECOND to SECONDFUNC for direct support via library. | |
1577 | ||
1578 | * g77.c: Fix to return proper status value to shell, | |
1579 | by obtaining it from processes it spawns. | |
1580 | ||
1581 | * intdoc.c: Fix minor typo. | |
1582 | ||
1583 | * intrin.def: Turn SECOND into generic that maps into | |
1584 | function and subroutine forms. | |
1585 | ||
1586 | * intrin.def: Make FLOAT and SNGL into specific intrinsics. | |
1587 | ||
1588 | * intrin.def, intrin.h: Change the way DEFGEN and DEFSPEC | |
1589 | macros work, to save on verbage. | |
1590 | ||
1591 | Mon Feb 17 02:08:04 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1592 | ||
1593 | New subsystem to automatically generate documentation | |
1594 | on intrinsics: | |
1595 | * Make-lang.in ($(srcdir)/f/g77.info, | |
1596 | $(srcdir)/f/g77.dvi): Move g77 doc rules around. | |
1597 | Add to g77 doc rules the new subsystem. | |
1598 | (f77.mostlyclean, f77.maintainer-clean): Also clean up | |
1599 | after new doc subsystem. | |
1600 | * intdoc.c, intdoc.h: New doc subsystem code. | |
1601 | * intrin.h [FFEINTRIN_DOC]: When 1, don't pull in | |
1602 | stuff not needed by doc subsystem. | |
1603 | ||
1604 | Improve on intrinsics mechanism to both be more | |
1605 | self-documenting and to catch more user errors: | |
1606 | * intrin.c (ffeintrin_check_): Recognize new arg-len | |
1607 | and arg-rank information, and check it. | |
1608 | Move goto and signal indicators to the basic type. | |
1609 | Permit reference to arbitrary argument number, not | |
1610 | just first argument (for BESJN and BESYN). | |
1611 | (ffeintrin_init_0): Check and accept new notations. | |
1612 | * intrin.c, intrin.def: Value in COL now identifies | |
1613 | arguments starting with number 0 being the first. | |
1614 | ||
1615 | Some minor intrinsics cleanups (resulting from doc work): | |
1616 | * com.c (ffecom_expr_intrinsic_): Implement FLUSH | |
1617 | directly once again, handle its optional argument, | |
1618 | so it need not be a generic (awkward to handle in docs). | |
1619 | * intrin.def (BESJ0, BESJ1, BESJN, BESY0, BESY1, BESYN, | |
1620 | CHDIR, CHMOD, CTIME, DBESJ0, DBESJ1, DBESJN, DBESY0, | |
1621 | DBESY1, DBESYN, DDIM, ETIME, FGETC, FNUM, FPUTC, FSTAT, | |
1622 | GERROR, GETCWD, GETGID, GETLOG, GETPID, GETUID, GMTIME, | |
1623 | HOSTNM, IDATE, IERRNO, IIDINT, IRAND, ISATTY, ITIME, JIDINT, | |
1624 | LNBLNK, LSTAT, LTIME, MCLOCK, PERROR, SRAND, SYMLNK, TTYNAM, | |
1625 | UMASK): Change capitalization of initcaps (official) name | |
1626 | to be consistent with Burley's somewhat arbitrary rules. | |
1627 | (BESJN, BESYN): These have return arguments of same type | |
1628 | as their _second_ argument. | |
1629 | (FLUSH): Now a specific, not generic, intrinsic, with one | |
1630 | optional argument. | |
1631 | (FLUSH1): Eliminated. | |
1632 | Add arg-len and arg-rank info to several intrinsics. | |
1633 | (ITIME): Change argument type from REAL to INTEGER. | |
1634 | ||
1635 | Tue Feb 11 14:04:42 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1636 | ||
1637 | * Make-lang.in (f771): Invocation of Makefile now done | |
1638 | with $(srcdir)=gcc to go along with $(VPATH)=gcc. | |
1639 | ($(srcdir)/f/runtime/configure, | |
1640 | $(srcdir)/f/runtime/libU77/configure): Break these out | |
1641 | so spurious triggers of this rule don't happen (as when | |
1642 | configure.in is more recent than libU77/configure). | |
1643 | (f77.rebuilt): Distinguish source versus build files, | |
1644 | so this target can be invoked from build directory and | |
1645 | still work. | |
1646 | * Makefile.in: This now expects $(srcdir) to be the gcc | |
1647 | source directory, not gcc/f, to agree with $(VPATH). | |
1648 | Accordingly, $(INCLUDES) has been fixed, various cruft | |
1649 | removed, the removal of f771 has been fixed to remove | |
1650 | the _real_ f771 (not the one in gcc's parent directory), | |
1651 | and so on. | |
1652 | ||
1653 | * lex.c: Part of ffelex_finish_statement_() now done | |
1654 | by new function ffelex_prepare_eos_(), so that, in one | |
1655 | popular case, the EOS can be prepared while the pointer | |
1656 | is at the end of the non-continued line instead of the | |
1657 | end of the line that marks no continuation. This improves | |
1658 | the appearance of diagnostics substantially. | |
1659 | ||
1660 | Mon Feb 10 12:44:06 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1661 | ||
1662 | * Make-lang.in: runtime Makefile's, and include/f2c.h, | |
1663 | also depend on f/runtime/configure and f/runtime/libU77/configure. | |
1664 | ||
1665 | Fix various libU77 routines: | |
1666 | * com-rt.def (FFECOM_gfrtCTIME, FFECOM_gfrtMCLOCK, | |
1667 | FFECOM_gfrtTIME): These now use INTEGER*8 for time values, | |
1668 | for compatibility with systems like Alpha. | |
1669 | (FFECOM_gfrtSYSTEM_CLOCK, FFECOM_gfrtTTYNAM): Delete incorrect | |
1670 | trailing underscore in routine names. | |
1671 | * intrin.c, intrin.def: Support INTEGER*8 return values and | |
1672 | arguments ('4'). Change FFEINTRIN_impCTIME, FFEINTRIN_impMCLOCK, | |
1673 | and FFEINTRIN_impTIME accordingly. | |
1674 | (ffeintrin_is_intrinsic): Don't give caller a clue about | |
1675 | form of intrinsic -- shouldn't be needed at this point. | |
1676 | ||
1677 | Cope with generic intrinsics that are subroutines and functions: | |
1678 | * com.c (ffecom_finish_symbol_transform_, ffecom_expr_transform_): | |
1679 | Don't transform an intrinsic that is not known to be a subroutine | |
1680 | or a function. (Maybe someday have to avoid transforming | |
1681 | any intrinsic with an undecided or unknown implementation.) | |
1682 | * expr.c (ffeexpr_declare_unadorned_, | |
1683 | ffeexpr_declare_parenthesized_): Ok to invoke generic | |
1684 | intrinsic that has at least one subroutine form as a | |
1685 | subroutine. | |
1686 | Ok to pass intrinsic as actual arg if it has a known specific | |
1687 | intrinsic form that is valid as actual arg. | |
1688 | (ffeexpr_declare_parenthesized_): An unknown kind of | |
1689 | intrinsic has a paren_type chosen based on context. | |
1690 | (ffeexpr_token_arguments_): Build funcref/subrref based | |
1691 | on context, not on kind of procedure being called. | |
1692 | * intrin.h, intrin.c (ffeintrin_is_intrinsic): Undo changes of | |
1693 | Tue Feb 4 23:12:04 1997 by me, change all callers to leave | |
1694 | intrinsics as FFEINFO_kindNONE at this point. (Some callers | |
1695 | also had unused variables deleted as a result.) | |
1696 | ||
1697 | Enable all intrinsic groups (especially f90 and vxt): | |
1698 | * target.h (FFETARGET_defaultSTATE_DCP, FFETARGET_defaultSTATE_F2C, | |
1699 | FFETARGET_defaultSTATE_F90, FFETARGET_defaultSTATE_MIL, | |
1700 | FFETARGET_defaultSTATE_UNIX, FFETARGET_defaultSTATE_VXT): | |
1701 | Delete these macros, let top.c set them directly. | |
1702 | * top.c (ffeintrinsic_state_dcp_, ffe_intrinsic_state_f2c_, | |
1703 | ffe_intrinsic_state_f90_, ffe_intrinsic_state_mil_, | |
1704 | ffe_intrinsic_state_unix_, ffe_intrinsic_state_vxt_): | |
1705 | Enable all these directly. | |
1706 | ||
1707 | Sat Feb 8 03:21:50 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1708 | ||
1709 | * g77.c: Incorporate recent changes to ../gcc.c. | |
1710 | For version magic (e.g. `g77 -v'), instead of compiling | |
1711 | /dev/null, write, compile, run, and then delete a small | |
1712 | program that prints the version numbers of the three | |
1713 | components of libf2c (libF77, libI77, and libU77), | |
1714 | so we get this info with bug reports. | |
1715 | Also, this change reduces the chances of accidentally | |
1716 | linking to an old (complex-alias-problem) libf2c. | |
1717 | Fix `-L' so the argument is expected in `-Larg'. | |
1718 | ||
1719 | * com.h (FFECOM_f2cLONGINT): For INTEGER*8 support in f2c.h, | |
1720 | dynamically determine proper type here, instead of | |
1721 | assuming `long long int' is correct. | |
1722 | ||
1723 | Tue Feb 4 23:12:04 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1724 | ||
1725 | Add libU77 library from Dave Love <d.love@dl.ac.uk>: | |
1726 | * Make-lang.in (f77-runtime): Depend on new Makefile. | |
1727 | (f/runtime/libU77/Makefile): New rule. | |
1728 | Also configure libU77. | |
1729 | ($(srcdir)/f/runtime/configure: Use Makefile.in, | |
1730 | so configuration doesn't have to have happened. | |
1731 | (f77.mostlyclean, f77.clean, f77.distclean, | |
1732 | f77.maintainer-clean): Some fixups here, but more work | |
1733 | needed. | |
1734 | (RUNTIMESTAGESTUFF): Add libU77's config.status. | |
1735 | (LIBU77STAGESTUFF, f77.stage1, f77.stage2, f77.stage3, | |
1736 | f77.stage4): New macro, appropriate uses added. | |
1737 | * com-rt.def: Add libU77 procedures. | |
1738 | * com.c (ffecom_f2c_ptr_to_integer_type_node, | |
1739 | ffecom_f2c_ptr_to_real_type_node): New type nodes. | |
1740 | (FFECOM_rttypeCHARACTER_): New type of run-time function. | |
1741 | (ffecom_char_args_): Handle CHARACTER*n intrinsics | |
1742 | where n != 1 here, instead of in ffecom_expr_intrinsic_. | |
1743 | (ffecom_expr_intrinsic_): New code to handle new | |
1744 | intrinsics. | |
1745 | In particular, change how FFEINTRIN_impFLUSH is handled. | |
1746 | (ffecom_make_gfrt_): Handle new type of run-time function. | |
1747 | (ffecom_init_0): Initialize new type nodes. | |
1748 | * config-lang.in: New libU77 directory. | |
1749 | * intrin.h, intrin.c (ffeintrin_is_intrinsic): Handle | |
1750 | potential generic for subroutine _and_ function | |
1751 | specifics via two new arguments. All callers changed. | |
1752 | Properly ignore deleted/disabled intrinsics in resolving | |
1753 | generics. | |
1754 | (ffeintrin_check_, ffeintrin_init_0): Handle CHARACTER intrinsics of (*) | |
1755 | length. | |
1756 | * intrin.def: Permission granted by FSF to place this in | |
1757 | public domain, which will allow it to serve as source | |
1758 | for both g77 program and its documentation. | |
1759 | Add libU77 intrinsics. | |
1760 | (FLUSH): Now a generic, not specific, intrinsic. | |
1761 | (DEFIMP): Now support return modifier for CHARACTER intrinsics. | |
1762 | ||
1763 | * com-rt.def (FFECOM_gfrtDIM, FFECOM_gfrtERF, | |
1764 | FFECOM_gfrtERFC, FFECOM_gfrtEXP, FFECOM_gfrtSIGN, | |
1765 | FFECOM_gfrtSIN, FFECOM_gfrtSINH, FFECOM_gfrtTAN, | |
1766 | FFECOM_gfrtTANH, FFECOM_gfrtPOW_RI): Change "&r" to "&f". | |
1767 | ||
1768 | Sat Feb 1 12:15:09 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1769 | ||
1770 | * Version 0.5.19.1 released. | |
1771 | ||
1772 | * com.c (ffecom_expr_, ffecom_expr_intrinsic_, | |
1773 | ffecom_tree_divide_): FFECOM_gfrtPOW_ZI, | |
1774 | FFECOM_gfrtCONJG, FFECOM_gfrtDCONJG, | |
1775 | FFECOM_gfrtCCOS, FFECOM_gfrtCDCOS, | |
1776 | FFECOM_gfrtCLOG, FFECOM_gfrtCDLOG, | |
1777 | FFECOM_gfrtCSIN, FFECOM_gfrtCDSIN, | |
1778 | FFECOM_gfrtCSQRT, FFECOM_gfrtCDSQRT, | |
1779 | FFECOM_gfrtDIV_CC, FFECOM_gfrtDIV_ZZ: These all require | |
1780 | result to _not_ overlap one or more inputs. | |
1781 | ||
1782 | Sat Feb 1 00:25:55 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1783 | ||
1784 | * com.c (ffecom_init_0): Do internal checks only if | |
1785 | -fset-g77-defaults not specified. | |
1786 | ||
1787 | Fix %LOC(), LOC() to return sufficiently wide type: | |
1788 | * com.h, com.c (ffecom_pointer_kind_, ffecom_label_kind_, | |
1789 | ffecom_pointer_kind(), ffecom_label_kind()): New globals | |
1790 | and accessor macros hold kind for integer pointers on target | |
1791 | machine. | |
1792 | (ffecom_init_0): Determine narrowest INTEGER type that | |
1793 | can hold a pointer (usually INTEGER*4 or INTEGER*8), | |
1794 | store it in ffecom_pointer_kind_, etc. | |
1795 | * expr.c (ffeexpr_cb_end_loc_): Use right type for %LOC(). | |
1796 | * intrin.c (ffeintrin_check_, ffeintrin_init_0): Support | |
1797 | new 'p' kind for type of intrinsic. | |
1798 | * intrin.def (FFEINTRIN_impLOC): Returns "Ip" instead of "I1", | |
1799 | so LOC() type is correct for target machine. | |
1800 | ||
1801 | Support -fugly-assign: | |
1802 | * lang-options.h, top.h, top.c (ffe_decode_option): | |
1803 | Accept -fugly-assign and -fno-ugly-assign. | |
1804 | * com.c (ffecom_expr_): Handle -fugly-assign. | |
1805 | * expr.c (ffeexpr_finished_): Check right type for ASSIGN | |
1806 | contexts. | |
1807 | ||
1808 | Fri Jan 31 14:30:00 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1809 | ||
1810 | Remove last vestiges of -fvxt-not-f90: | |
1811 | * stb.c (ffestb_R10012_, ffestb_R10014_, ffestb_V0201_): | |
1812 | top.c, top.h: | |
1813 | ||
1814 | Fri Jan 31 02:13:54 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1815 | ||
1816 | * top.c (ffe_decode_option): Warn if -fugly is specified, | |
1817 | it'll go away soon. | |
1818 | ||
1819 | * symbol.h: No need to #include "bad.h". | |
1820 | ||
1821 | Reorganize features from -fvxt-not-f90 to -fvxt: | |
1822 | * lang-options.h, top.h, top.c: | |
1823 | Accept -fvxt and -fno-vxt, but not -fvxt-not-f90 or -ff90-not-vxt. | |
1824 | Warn if the latter two are used. | |
1825 | * expr.c (ffeexpr_nil_rhs_): Double-quote means octal constant. | |
1826 | (ffeexpr_token_rhs_): Double-quote means octal constant. | |
1827 | * target.h (FFETARGET_defaultIS_VXT_NOT_90): Delete macro | |
1828 | definition, no longer needed. | |
1829 | ||
1830 | Make some -ff90 features the default: | |
1831 | * data.c (ffedata_value): DATA implies SAVE. | |
1832 | * src.h (ffesrc_is_name_noninit): Underscores always okay. | |
1833 | ||
1834 | Fix up some more #error directives by quoting their text: | |
1835 | * bld.c (ffebld_constant_is_zero): | |
1836 | * target.h: | |
1837 | ||
1838 | Sat Jan 18 18:22:09 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1839 | ||
1840 | * g77.c (lookup_option, main): Recognize `-Xlinker', | |
1841 | `-Wl,', `-l', `-L', `--library-directory', `-o', | |
1842 | `--output'. | |
1843 | (lookup_option): Don't depend on SWITCH_TAKES_ARG | |
1844 | being correct, it might or might not have `-x' in | |
1845 | it depending on host. | |
1846 | Return NULL argument if it would be an empty string. | |
1847 | (main): If no input files (by gcc.c's definition) | |
1848 | but `-o' or `--output' specified, produce diagnostic | |
1849 | to avoid overwriting output via gcc. | |
1850 | Recognize C++ `+e' options. | |
1851 | Treat -L as another non-magical option (like -B). | |
1852 | Don't append_arg `-x' twice. | |
1853 | ||
1854 | Fri Jan 10 23:36:00 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1855 | ||
1856 | * top.c [BUILT_FOR_270] (ffe_decode_option): Make | |
1857 | -fargument-noalias-global the default. | |
1858 | ||
1859 | Fri Jan 10 07:42:27 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1860 | ||
1861 | Enable inlining of previously-compiled program units: | |
1862 | * com.c (ffecom_do_entry_, ffecom_start_progunit_): | |
1863 | Register new public function in ffeglobal database. | |
1864 | (ffecom_sym_transform_): Any GLOBAL or potentially GLOBAL | |
1865 | symbol should be looked up in ffeglobal database and | |
1866 | that tree node used, if found. That way, gcc knows | |
1867 | the references are to those earlier definitions, so it | |
1868 | can emit shorter branches/calls, inline, etc. | |
1869 | (ffecom_transform_common_): Minor change for clarity. | |
1870 | * expr.c (ffeexpr_sym-lhs_call_, ffeexpr_sym_lhs_extfunc_, | |
1871 | ffeexpr_sym_rhs_actualarg_, ffeexpr_paren_rhs_let_, | |
1872 | ffeexpr_token_funsubstr_): Globalize symbol as needed. | |
1873 | * global.c (ffeglobal_promoted): New function to look up | |
1874 | existing local symbol in ffeglobal database. | |
1875 | * global.h: Declare new function. | |
1876 | * name.h (ffename_token): New macro, plus alphabetize. | |
1877 | * stc.c (ffestc_R1207_item): Globalize EXTERNAL symbol. | |
1878 | * stu.c (ffestu_sym_end_transition, ffestu_sym_exec_transition): | |
1879 | Globalize symbol as needed. | |
1880 | * symbol.h, symbol.c (ffesymbol_globalize): New function. | |
1881 | ||
1882 | Thu Jan 9 14:20:00 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1883 | ||
1884 | * ste.c (ffeste_R809): Produce a diagnostic for SELECT CASE | |
1885 | on CHARACTER type, instead of crashing. | |
1886 | ||
1887 | Thu Jan 9 00:52:45 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1888 | ||
1889 | * stc.c (ffestc_order_entry_, ffestc_order_format_, | |
1890 | ffestc_R1226): Allow ENTRY and FORMAT before IMPLICIT | |
1891 | NONE, by having them transition only to state 1 instead | |
1892 | of state 2 (which is disallowed by IMPLICIT NONE). | |
1893 | ||
1894 | Mon Jan 6 22:44:53 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1895 | ||
1896 | Fix AXP bug found by Rick Niles (961201-1.f): | |
1897 | * com.c (ffecom_init_0): Undo my 1996-05-14 change, as | |
1898 | it is incorrect and prevented easily finding this bug. | |
1899 | * target.h [__alpha__] (ffetargetReal1, ffetargetReal2): | |
1900 | Use int instead of long. | |
1901 | (ffetarget_cvt_r1_to_rv_, ffetarget_cvt_rv_to_r1_, | |
1902 | ffetarget_cvt_r2_to_rv_, ffetarget_cvt_rv_to_r2_): | |
1903 | New functions that intercede for callers of | |
1904 | REAL_VALUE_(TO|UNTO)_TARGET_(SINGLE|DOUBLE). | |
1905 | All callers changed, and damaging casts to (long *) removed. | |
1906 | ||
1907 | Sun Jan 5 03:26:11 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1908 | ||
1909 | * Make-lang.in (g77, g77-cross): Depend on both g77.c and | |
1910 | zzz.c, in $(srcdir)/f/. | |
1911 | ||
1912 | Better design for -fugly-assumed: | |
1913 | * stc.c (ffestc_R501_item, ffestc_R524_item, | |
1914 | ffestc_R547_item_object): Pass new is_ugly_assumed flag. | |
1915 | * stt.c, stt.h (ffestt_dimlist_as_expr, | |
1916 | ffestt_dimlist_type): New is_ugly_assumed flag now | |
1917 | controls whether "1" is treated as "*". | |
1918 | Don't treat "2-1" or other collapsed constants as "*". | |
1919 | ||
1920 | Sat Jan 4 15:26:22 1997 Craig Burley <burley@gnu.ai.mit.edu> | |
1921 | ||
1922 | * stb.c (ffestb_R10012_): Don't confirm on FORMAT(A,) | |
1923 | or even FORMAT(A,,B), as R1229 only warns about the | |
1924 | former currently, and this seems reasonable. | |
1925 | ||
1926 | Improvements to diagnostics: | |
1927 | * sta.c (ffesta_second_): Don't add any ffestb parsers | |
1928 | unless they're specifically called for. | |
1929 | Set up ffesta_tokens[0] before calling ffestc_exec_transition, | |
1930 | else stale info might get used. | |
1931 | (ffesta_save_): Do a better job picking which parser to run | |
1932 | after running all parsers with no confirmed possibles. | |
1933 | (FFESTA_maxPOSSIBLES_): Decrease from 100 now that so few | |
1934 | possibles are ever on the list at a given time. | |
1935 | (struct _ffesta_possible): Add named attribute. | |
1936 | (ffesta_add_possible_exec_, ffesta_add_possible_nonexec_): | |
1937 | Make these into macros that call a single function that now | |
1938 | sets the named attribute. | |
1939 | (ffesta_add_possible_unnamed_exec_, | |
1940 | ffeseta_add_possible_unnamed_nonexec_): New macros. | |
1941 | (ffesta_second_): Designate unnamed possibles as | |
1942 | appropriate. | |
1943 | * stb.c (ffestb_R1229, ffestb_R12291_): Use more general | |
1944 | diagnostic, so things like "POINTER (FOO, BAR)" are | |
1945 | diagnosed as unrecognized statements, not invalid statement | |
1946 | functions. | |
1947 | * stb.h, stb.c (ffestb_unimplemented): Remove function. | |
1948 | ||
1949 | 1996-12-30 Dave Love <d.love@dl.ac.uk> | |
1950 | ||
1951 | * com.c: #include libU77/config.h | |
1952 | (ffecom_f2c_ptr_to_integer_type_node, | |
1953 | ffecom_f2c_ptr_to_integer_type_node): New variables. | |
1954 | (ffecom_init_0): Use them. | |
1955 | (ffecom_expr_intrinsic_): Many news cases for libU77 intrinsics. | |
1956 | ||
1957 | * com-rt.def: New definitions for libU77. | |
1958 | * intrin.def: Likewise. Also correct ftell arg spec. | |
1959 | ||
1960 | * Makefile.in (f/runtime/libU77/config.h): New target for com.c | |
1961 | dependency. | |
1962 | * Make-lang.in (f771): Depend on f/runtime/Makefile for the above. | |
1963 | ||
1964 | Sat Dec 28 12:28:29 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
1965 | ||
1966 | * stt.c (ffestt_dimlist_type): Treat ([...,]1) in dimlist | |
1967 | as ([...,]*) if -fugly-assumed, so assumed-size array | |
1968 | detected early enough. | |
1969 | ||
1970 | Thu Dec 19 14:01:57 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
1971 | ||
1972 | * target.h (FFETARGET_REAL_VALUE_FROM_INT_): Conditionalize | |
1973 | definition on BUILT_FOR_280, not BUILT_WITH_280, since | |
1974 | the name of the macro was (properly) changed since 0.5.19. | |
1975 | ||
1976 | Fix warnings/errors resulting from ffetargetOffset becoming | |
1977 | `long long int' instead of `unsigned long' as of 0.5.19, | |
1978 | while ffebitCount remains `unsigned long': | |
1979 | * bld.c (ffebld_constantarray_dump): Avoid warnings by | |
1980 | using loop var of appropriate type, and using casts. | |
1981 | * com.c (ffecom_expr_): Use right type for loop var. | |
1982 | (ffecom_sym_transform_, ffecom_transform_equiv_): | |
1983 | Cast to right type in assertions. | |
1984 | * data.c (ffedata_gather_, ffedata_value_): Cast to right | |
1985 | type in assertions and comparisons. | |
1986 | ||
1987 | Wed Dec 18 12:07:11 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
1988 | ||
1989 | Patch from Alexandre Oliva <oliva@dcc.unicamp.br>: | |
1990 | * Makefile.in (all.indirect): Don't pass -bbigtoc option | |
1991 | to GNU ld. | |
1992 | ||
1993 | Cope with new versions of gcc: | |
1994 | * com.h (BUILT_FOR_280): New macro. | |
1995 | * com.c (ffecom_ptr_to_expr): Conditionalize test of | |
1996 | OFFSET_REF. | |
1997 | (ffecom_build_complex_constant_): Conditionalize calling | |
1998 | sequence for build_complex. | |
1999 | ||
2000 | Sat Dec 7 07:15:17 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2001 | ||
2002 | * Version 0.5.19 released. | |
2003 | ||
2004 | Fri Dec 6 12:23:55 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2005 | ||
2006 | * g77.c: Default to assuming "f77" is in $LANGUAGES, since | |
2007 | the LANGUAGE_F77 macro isn't defined by anyone anymore (but | |
2008 | might as well leave the no-f77 code in just in case). | |
2009 | * Make-lang.in (g77, g77-cross): Don't define LANGUAGE_F77 | |
2010 | anymore. | |
2011 | ||
2012 | 1996-12-06 Dave Love <d.love@dl.ac.uk> | |
2013 | ||
2014 | * Make-lang.in (g77, g77-cross): Revert to building `g77' or not | |
2015 | conditional on `f77' in LANGUAGES. | |
2016 | ||
2017 | Wed Dec 4 13:08:44 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2018 | ||
2019 | * Make-lang.in (g77, g77-cross): No libs or lib dependencies | |
2020 | in case where "f77" is not in $LANGUAGES. | |
2021 | ||
2022 | * lex.c (ffelex_image_char_, ffelex_file_fixed, | |
2023 | ffelex_file_free): Fixes to properly handle lines with | |
2024 | null character, and too-long lines as well. | |
2025 | ||
2026 | * lex.c: Call ffebad_start_msg_lex instead of | |
2027 | ffebad_start_msg throughout. | |
2028 | ||
2029 | Sun Dec 1 21:19:55 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2030 | ||
2031 | Fix-up for 1996-11-25 changes: | |
2032 | * com.c (ffecom_member_phase2_): Subtract out 0 offset for | |
2033 | elegance and consistency with EQUIVALENCE aggregates. | |
2034 | (ffecom_sym_transform_): Ditto for LOCAL/COMMON, and | |
2035 | ensure we get the same parent storage area. | |
2036 | * data.c (ffedata_gather_, ffedata_value_): Subtract out | |
2037 | aggregate offset. | |
2038 | ||
2039 | Wed Nov 27 13:55:57 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2040 | ||
2041 | * proj.h: Quote the text of the #error message, to avoid | |
2042 | strange-looking diagnostics from non-gcc ANSI compilers. | |
2043 | ||
2044 | * top.c: Make -fno-debug-kludge the default. | |
2045 | ||
2046 | Mon Nov 25 20:13:45 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2047 | ||
2048 | Provide more info on EQUIVALENCE mismatches: | |
2049 | * bad.def (FFEBAD_EQUIV_MISMATCH): More detailed message. | |
2050 | * equiv.c (ffeequiv_layout_local_, ffeequiv_layout_cblock): | |
2051 | More details for FFEBAD_EQUIV_MISMATCH. | |
2052 | ||
2053 | Fix problem with EQUIVALENCE handling: | |
2054 | * equiv.c (ffeequiv_layout_local_): Redesign algorithm -- | |
2055 | old one was broken, resulting in rejection of good code. | |
2056 | (ffeequiv_offset_): Add argument, change callers. | |
2057 | Clean up the code, fix up the (probably unused) negative-value | |
2058 | case for SYMTER. | |
2059 | * com.c (ffecom_sym_transform_): For local EQUIVALENCE | |
2060 | member, subtract out aggregate offset (which is <= 0). | |
2061 | ||
2062 | Thu Nov 21 12:44:56 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2063 | ||
2064 | Change type of ffetargetOffset from `unsigned long' to `long long': | |
2065 | * bld.c (ffebld_constantarray_dump): Change printf formats. | |
2066 | * storag.c (ffestorag_dump): Ditto. | |
2067 | * symbol.c (ffesymbol_report): Ditto. | |
2068 | * target.h (ffetargetOffset_f): Ditto and change type itself. | |
2069 | ||
2070 | Handle situation where list of languages does not include f77: | |
2071 | * Make-lang.in: Define LANGUAGE_F77 to 1 only if `f77' is in | |
2072 | the $LANGUAGES macro for the build. | |
2073 | * g77.c: Compile to a (nearly) no-op program if LANGUAGE_F77 | |
2074 | is not defined to 1. | |
2075 | ||
2076 | Fixes to delay confirmation of READ, WRITE, and GOTO statements | |
2077 | so the corresponding assignments to same-named CHAR*(*) arrays | |
2078 | work: | |
2079 | * stb.c (ffestb_R90915_, ffestb_91014_): New functions. | |
2080 | (ffestb_goto3_, ffestb_goto5_): Move confirmation from 3 to 5 | |
2081 | for the OPEN_PAREN case. | |
2082 | (ffestb_R9091_, ffestb_R9094_, ffestb_R90913_, ffestb_R90914_, | |
2083 | ffestb_R91012_, ffestb_R91013_): Use new functions, and confirm | |
2084 | except for the OPEN_PAREN case. | |
2085 | ||
2086 | Fixes to not confirm declarations with an open paren where | |
2087 | an equal sign or other assignment-like token might be, so the | |
2088 | corresponding assignments to same-named CHAR*(*) arrays work: | |
2089 | (ffestb_decl_entsp_5_): Move assertion so we crash on that first, | |
2090 | if it turns out to be wrong, before the less-debuggable crash | |
2091 | on mistaken confirmation. | |
2092 | (ffestb_decl_entsp_6_, ffestb_decl_entsp_7_, ffestb_decl_entsp_8_): | |
2093 | Include OPEN_PAREN in list of assignment-only tokens. | |
2094 | ||
2095 | Fix more diagnosed-crash bugs: | |
2096 | * stu.c (ffestu_sym_end_transition): ANY-ize an adjustable array | |
2097 | with bad dimension expressions even if still stateUNCERTAIN. | |
2098 | (ffestu_symter_end_transition_, ffestu_symter_exec_transition_): | |
2099 | Return TRUE for opANY as well. | |
2100 | For code elegance, move opSYMTER case into first switch. | |
2101 | ||
2102 | 1996-11-17 Dave Love <d.love@dl.ac.uk> | |
2103 | ||
2104 | * lex.c: Fix last change. | |
2105 | ||
2106 | 1996-11-14 Dave Love <d.love@dl.ac.uk> | |
2107 | ||
2108 | * Make-lang.in, config-lang.in: Remove the (broken) libU77 stuff, | |
2109 | pending 0.5.20. | |
2110 | ||
2111 | Thu Nov 14 15:40:59 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2112 | ||
2113 | * bad.def (FFEBAD_UNIMPL_STMT): Explain that invalid | |
2114 | intrinsic references can trigger this message, too. | |
2115 | ||
2116 | 1996-11-12 Dave Love <d.love@dl.ac.uk> | |
2117 | ||
2118 | * lex.c: Declare dwarfout routines. | |
2119 | ||
2120 | * config-lang.in: Sink grep o/p. | |
2121 | ||
2122 | Mon Nov 11 14:21:13 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2123 | ||
2124 | * g77.c (main): Might as well print version number | |
2125 | for --verbose as well. | |
2126 | ||
2127 | Thu Nov 7 18:41:41 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2128 | ||
2129 | * expr.c, lang-options.h, target.h, top.c, top.h: Split out | |
2130 | remaining -fugly stuff into -fugly-logint and -fugly-comma, | |
2131 | leaving -fugly as simply a `macro' that expands into other | |
2132 | options, and eliminate defaults for some of the ugly stuff | |
2133 | in target.h. | |
2134 | ||
2135 | * Make-lang.in (gcc-cross): Compile zzz.c, not version.o (!), | |
2136 | in to get version info for this target. | |
2137 | ||
2138 | * config-lang.in: Test for GBE patch application based | |
2139 | on whether 2.6.x or 2.7.x GBE is detected. | |
2140 | ||
2141 | Wed Nov 6 14:19:45 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2142 | ||
2143 | * Make-lang.in (g77): Compile zzz.c in to get version info. | |
2144 | * g77.c: Add support for --help and --version. | |
2145 | ||
2146 | * g77.c (lookup_option): Short-circuit long-winded tests | |
2147 | when second char is not hyphen, just to save a spot of time. | |
2148 | ||
2149 | Sat Nov 2 13:50:31 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2150 | ||
2151 | * intrin.def: Add FTELL and FSEEK intrinsics, plus new | |
2152 | `g' codes for alternate-return (GOTO) arguments. | |
2153 | * intrin.c (ffeintrin_check_): Support `g' codes. | |
2154 | * com-rt.def: Add ftell_() and fseek_() to database. | |
2155 | * com.c (ffecom_expr_intrinsic_): Ditto. Also, let each | |
2156 | subroutine intrinsic decide for itself what to do with | |
2157 | tree_type, the default being NULL_TREE once again (so | |
2158 | ffecom_call_ doesn't think it's supposed to cast the | |
2159 | function call to the type in the fall-through case). | |
2160 | ||
2161 | * ste.c (ffeste_R909_finish): Don't special-case list-directed | |
2162 | I/O, now that libf2c can return non-zero status codes. | |
2163 | (ffeste_R910_finish): Ditto. | |
2164 | (ffeste_io_call_): Simplify logic. | |
2165 | (ffeste_io_impdo_): | |
2166 | (ffeste_subr_beru_): | |
2167 | (ffeste_R904): | |
2168 | (ffeste_R907): | |
2169 | (ffeste_R909_start): | |
2170 | (ffeste_R909_item): | |
2171 | (ffeste_R909_finish): | |
2172 | (ffeste_R910_start): | |
2173 | (ffeste_R910_item): | |
2174 | (ffeste_R910_finish): | |
2175 | (ffeste_R911_start): | |
2176 | (ffeste_R923A): Ditto all the above. | |
2177 | ||
2178 | Thu Oct 31 20:56:28 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2179 | ||
2180 | * config-lang.in, Make-lang.in: Rename flag file | |
2181 | build-u77 to build-libu77, for consistency with | |
2182 | install-libf2c and such. | |
2183 | ||
2184 | * config-lang.in: Don't complain about failure to patch | |
2185 | if pre-2.7.0 gcc is involved (since our patch for that | |
2186 | doesn't add support for tooning). | |
2187 | ||
2188 | Sat Oct 26 05:56:51 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2189 | ||
2190 | * bad.def (FFEBAD_TYPELESS_TOO_LARGE): Remove this | |
2191 | unused and redundant diagnostic. | |
2192 | ||
2193 | Sat Oct 26 00:45:42 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2194 | ||
2195 | * target.c (ffetarget_integerhex): Fix dumb bug. | |
2196 | ||
2197 | 1996-10-20 Dave Love <d.love@dl.ac.uk> | |
2198 | ||
2199 | * gbe/2.7.2.1.diff: New file. | |
2200 | ||
2201 | * Makefile.in (F771_LDFLAGS): Add -bbigtoc for AIX4.1 up, suggested by | |
2202 | endo@material.tohoku.ac.jp [among others!]. | |
2203 | ||
2204 | Sat Oct 19 03:11:14 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2205 | ||
2206 | * bad.def, bld.c, bld.h, expr.c, lang-options.h, target.c, | |
2207 | target.h, top.c, top.h (ffebld_constant_new_integerbinary, | |
2208 | ffebld_constant_new_integerhex, ffebld_constant_new_integeroctal, | |
2209 | ffeexpr_token_name_apos_name_, ffetarget_integerbinary, | |
2210 | ffetarget_integerhex, ffetarget_integeroctal): Support | |
2211 | new -fno-typeless-boz option with new functions, mods to | |
2212 | existing octal-handling functions, new macros, new error | |
2213 | messages, and so on. | |
2214 | ||
2215 | * com.c, lang-options.h, top.c, top.h (ffecom_notify_primary_entry): | |
2216 | Print program unit name on stderr if -fno-silent (new option). | |
2217 | ||
2218 | * lang-options.h, top.c, top.h, stt.c (ffestt_dimlist_as_expr): | |
2219 | Treat ([...,]1) in dimlist as ([...,]*) if -fugly-assumed | |
2220 | (new option). | |
2221 | ||
2222 | * lang-options.h: Comment out options duplicated in gcc/toplev.c, | |
2223 | because, somehow, having them commented in and building on my | |
2224 | DEC Alpha results in a cc1 that always segfaults, and gdb that | |
2225 | also segfaults whenever it debugs it up to init_lex() calling | |
2226 | xmalloc() or so. | |
2227 | ||
2228 | Thu Oct 17 00:39:27 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2229 | ||
2230 | * stb.c (ffestb_R10013_): Don't change meaning of .sign until | |
2231 | after previous meaning/value used to set sign of value | |
2232 | (960507-1.f). | |
2233 | ||
2234 | Sun Oct 13 22:15:23 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2235 | ||
2236 | * top.c (ffe_decode_option): Don't set back-end flags | |
2237 | that are nonexistent prior to gcc 2.7.0. | |
2238 | ||
2239 | Sun Oct 13 12:48:45 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2240 | ||
2241 | * com.c (convert): Don't convert emulated complex expr to | |
2242 | real (via REALPART_EXPR) if the target type is (emulated) | |
2243 | complex. | |
2244 | ||
2245 | Wed Oct 2 21:57:12 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2246 | ||
2247 | * com.c (ffecom_debug_kludge_): Set DECL_IN_SYSTEM_HEADER so | |
2248 | -Wunused doesn't complain about these manufactured decls. | |
2249 | (ffecom_expr_): Ditto, for original (non-ASSIGN'ed) variable. | |
2250 | (ffecom_transform_equiv_): Clear DECL_IGNORED_P for aggregate | |
2251 | area so it shows up as a debug-accessible symbol. | |
2252 | (pushdecl): Default for "invented" identifiers (a g77-specific | |
2253 | concept for now) is that they are artificial, in system header, | |
2254 | ignored for debugging purposes, used, and (for types) suppressed. | |
2255 | This ought to be overkill. | |
2256 | ||
2257 | Fri Sep 27 23:13:07 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2258 | ||
2259 | * ste.c (ffeste_begin_iterdo_, ffeste_end_iterdo_): Support | |
2260 | one-trip DO loops (F66-style). | |
2261 | * lang-options.h, top.c, top.h (-fonetrip): New option. | |
2262 | ||
2263 | Thu Sep 26 00:18:40 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2264 | ||
2265 | * com.c (ffecom_debug_kludge_): New function. | |
2266 | (ffecom_sym_transform_): Use new function for COMMON and EQUIVALENCE | |
2267 | members. | |
2268 | ||
2269 | * lang-options.h, top.c, top.h (-fno-debug-kludge): | |
2270 | New option. | |
2271 | ||
2272 | 1996-09-24 Dave Love <d.love@dl.ac.uk> | |
2273 | ||
2274 | * Make-lang.in (include/f2c.h): | |
2275 | Remove dependencies on xmake_file and tmake_file. | |
2276 | They expand inconsistently in 2.8 c.f. 2.7; $(GCC_PARTS) depends on | |
2277 | them anyhow. | |
2278 | ||
2279 | 1996-09-22 Dave Love <d.love@dl.ac.uk> | |
2280 | ||
2281 | * config-lang.in: Add --enable-libu77 option handling. | |
2282 | ||
2283 | * Make-lang.in: | |
2284 | Conditionally add --enable-libu77 when running runtime configure. | |
2285 | Define LIBU77STAGESTUFF and use it in relevant rules. | |
2286 | ||
2287 | 1996-08-21 Dave Love <d.love@dl.ac.uk> | |
2288 | ||
2289 | * Make-lang.in (f77-runtime): | |
2290 | `stmp-hdrs' should have been `stmp-headers'. | |
2291 | ||
2292 | 1996-08-20 Dave Love <d.love@dl.ac.uk> | |
2293 | ||
2294 | * Make-lang.in (f77-runtime): | |
2295 | Depend on stmp-hdrs, not stmp-int-hdrs, since libF77 | |
2296 | needs float.h. | |
2297 | ||
2298 | Sat Jun 22 18:17:11 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2299 | ||
2300 | * com.c (ffecom_tree_divide_): Fix RECORD_TYPE case to | |
2301 | look at type of first field, properly, to determine | |
2302 | whether to call c_div or z_div. | |
2303 | ||
2304 | Tue Jun 4 04:27:18 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2305 | ||
2306 | * com.c (ffecom_build_complex_constant_): Explicitly specify | |
2307 | TREE_PURPOSE. | |
2308 | (ffecom_expr_): Fix thinko. | |
2309 | (ffecom_2): For COMPLEX_EXPR, explicitly specify TREE_PURPOSE. | |
2310 | ||
2311 | Mon May 27 16:23:43 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2312 | ||
2313 | Changes to optionally avoid gcc's back-end complex support: | |
2314 | * com.c (ffecom_stabilize_aggregate_): New function. | |
2315 | (ffecom_convert_to_complex_): New function. | |
2316 | (ffecom_make_complex_type_): New function. | |
2317 | (ffecom_build_complex_constant_): New function. | |
2318 | (ffecom_expr_): For opCONVERT of non-COMPLEX to COMPLEX, | |
2319 | don't bother explicitly converting to the subtype first, | |
2320 | because gcc does that anyway, and more code would have | |
2321 | to be added to find the subtype for the emulated-complex | |
2322 | case. | |
2323 | (ffecom_f2c_make_type_): Use ffecom_make_complex_type_ | |
2324 | instead of make_node etc. to make a complex type. | |
2325 | (ffecom_1, ffecom_2): Translate operations on COMPLEX operands | |
2326 | to appropriate operations when emulating complex. | |
2327 | (ffecom_constantunion): Use ffecom_build_complex_constant_ | |
2328 | instead of build_complex to build a complex constant. | |
2329 | (ffecom_init_0): Change point at which types are laid out | |
2330 | for improved consistency. | |
2331 | Use ffecom_make_complex_type_ instead of make_node etc. | |
2332 | to make a complex type. | |
2333 | Always calculate storage sizes from TYPE_SIZE, never TYPE_PRECISION. | |
2334 | (convert): Use e, not expr, since we've copied into that anyway. | |
2335 | For RECORD_TYPE cases, do emulated-complex conversions. | |
2336 | (ffecom_f2c_set_lio_code_): Always calculate storage sizes | |
2337 | from TYPE_SIZE, never TYPE_PRECISION. | |
2338 | (ffecom_tree_divide_): Allow RECORD_TYPE to also be handled | |
2339 | by run-time library. | |
2340 | (ffecom_expr_intrinsic_): Handle possible RECORD_TYPE as argument | |
2341 | to AIMAG intrinsic. | |
2342 | ||
2343 | * top.h, top.c, lang-options.h: Support new -f(no-)emulate-complex option. | |
2344 | ||
2345 | * com.c (ffecom_sym_transform_): Clarify and fix typos in comments. | |
2346 | ||
2347 | Mon May 20 02:06:27 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2348 | ||
2349 | * target.h: Use new REAL_VALUE_UNTO_TARGET_* macros instead | |
2350 | of REAL_VALUE_FROM_TARGET_DOUBLE and _SINGLE. | |
2351 | Explicitly use long instead of HOST_WIDE_INT for emulation | |
2352 | of ffetargetReal1 and ffetargetReal2. | |
2353 | ||
2354 | 1996-05-20 Dave Love <d.love@dl.ac.uk> | |
2355 | ||
2356 | * config-lang.in: | |
2357 | Test for patch being applied with flag_move_all_movables in toplev.c. | |
2358 | ||
2359 | * install.texi (Patching GNU Fortran): | |
2360 | Mention overriding X_CFLAGS rather than | |
2361 | editing proj.h on SunOS4. | |
2362 | ||
2363 | * Make-lang.in (F77_FLAGS_TO_PASS): | |
2364 | Add X_CFLAGS (convenient for SunOS4 kluge, in | |
2365 | particular). | |
2366 | (f77.{,mostly,dist}clean): Reorder things, in particular not to delete | |
2367 | Makefiles too early. | |
2368 | ||
2369 | * g77.c (DEFAULT_SWITCH_TAKES_ARG): Define a la gcc.c in the | |
2370 | current GCC snapshot. | |
2371 | ||
2372 | Tue May 14 00:24:07 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2373 | ||
2374 | Changes for DEC Alpha AXP support: | |
2375 | * com.c (ffecom_init_0): REAL_ARITHMETIC means internal | |
2376 | REAL/DOUBLE PRECISION might well have a different size | |
2377 | than the compiled type, so don't crash if this is the | |
2378 | case. | |
2379 | * target.h: Use `int' for ffetargetInteger1, | |
2380 | ffetargetLogical1, and magical tests. Set _f format | |
2381 | strings accordingly. | |
2382 | ||
2383 | Tue Apr 16 14:08:28 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2384 | ||
2385 | * top.c (ffe_decode_option): -Wall no longer implies | |
2386 | -Wsurprising. | |
2387 | ||
2388 | Sat Apr 13 14:50:06 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2389 | ||
2390 | * com.c (ffecom_char_args_): If item is error_mark_node, | |
2391 | set *length that way, too. | |
2392 | ||
2393 | * com.c (ffecom_expr_power_integer_): If either operand | |
2394 | is error_mark_node, return that. | |
2395 | ||
2396 | * com.c (ffecom_intrinsic_len_): If item is error_mark_node, | |
2397 | return that for length. | |
2398 | ||
2399 | * expr.c (ffeexpr_declare_unadorned_, | |
2400 | ffeexpr_declare_parenthesized_): Instead of crashing | |
2401 | on unexpected contexts, produce a diagnostic. | |
2402 | ||
2403 | * intrin.c (ffeintrin_check_), intrin.def (impSIGNAL): | |
2404 | Allow procedure as second arg to SIGNAL intrinsic. | |
2405 | ||
2406 | * stu.c (ffestu_symter_end_transition_): New function. | |
2407 | (ffestu_symter_exec_transition_): Return bool arg. | |
2408 | Always transition symbol (don't inhibit when !whereNONE). | |
2409 | (ffestu_sym_end_transition): If DUMMY/LOCAL arg has any | |
2410 | opANY exprs in its dimlist, diagnose it so it doesn't | |
2411 | make it through to later stages that try to deal with | |
2412 | dimlist stuff. | |
2413 | (ffestu_sym_exec_transition): If sym has any opANY exprs | |
2414 | in its dimlist, diagnose it so it becomes opANY itself. | |
2415 | ||
2416 | * symbol.c (ffesymbol_error): If token arg is NULL, | |
2417 | just ANY-ize the symbol -- don't produce diagnostic. | |
2418 | ||
2419 | Mon Apr 1 10:14:02 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2420 | ||
2421 | * Version 0.5.18 released. | |
2422 | ||
2423 | Mon Mar 25 20:52:24 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2424 | ||
2425 | * com.c (ffecom_expr_power_integer_): Don't generate code | |
2426 | that compares COMPLEX (or, as it happens, REAL) via "LT_EXPR", | |
2427 | since the back end crashes on that. (This code would never | |
2428 | be executed anyway, but the test that avoids it has now been | |
2429 | translated to control whether the code gets generated at all.) | |
2430 | Fixes 960323-3.f. | |
2431 | ||
2432 | * com.c (ffecom_type_localvar_): Handle variable-sized | |
2433 | dimension bounds expressions here, so they get calculated | |
2434 | and saved on procedure entry. Fixes 960323-4.f. | |
2435 | ||
2436 | * com.c (ffecom_notify_init_symbol): Symbol has no init | |
2437 | info at all if only zeros have been used to initialize it. | |
2438 | Fixes 960324-0.f. | |
2439 | ||
2440 | * expr.c, expr.h (ffeexpr_type_combine): Renamed from | |
2441 | ffeexpr_type_combine_ and now a public procedure; last arg now | |
2442 | a token, instead of an internal structure used to extract a token. | |
2443 | Now allows the outputs to be aliased with the inputs. | |
2444 | Now allows a NULL token to mean "don't report error". | |
2445 | (ffeexpr_reduced_bool2_, ffeexpr_reduced_eqop2_, | |
2446 | ffeexpr_reduced_math2_, ffeexpr_reduced_power_, | |
2447 | ffeexpr_reduced_relop2_): Handle new calling sequence for | |
2448 | ffeexpr_type_combine. | |
2449 | * (ffeexpr_convert): Don't put an opCONVERT node | |
2450 | in just because the size is unknown; all downstream code | |
2451 | should be able to deal without it being there anyway, and | |
2452 | getting rid of it allows new intrinsic code to more easily | |
2453 | combine types and such without generating bad code. | |
2454 | * info.c, info.h (ffeinfo_kindtype_max): Rewrite to do | |
2455 | proper comparison of size of types, not just comparison | |
2456 | of their internal kind numbers (so I2.eq.I1 doesn't promote | |
2457 | I1 to I2, rather the other way around). | |
2458 | * intrin.c (ffeintrin_check_): Combine types of arguments | |
2459 | in COL a la expression handling, for greater flexibility | |
2460 | and permissiveness (though, someday, -fpedantic should | |
2461 | report use of this kind of thing). | |
2462 | Make sure Hollerith/typeless where CHARACTER expected is | |
2463 | rejected. This all fixes 960323-2.f. | |
2464 | ||
2465 | * ste.c (ffeste_begin_iterdo_): Fix some more type conversions | |
2466 | so INTEGER*2-laden DO loops don't crash at compile time on | |
2467 | certain machines. Believed to fix 960323-1.f. | |
2468 | ||
2469 | * stu.c (ffestu_sym_end_transition): Certainly reject | |
2470 | whereDUMMY not in any dummy list, whether stateUNCERTAIN | |
2471 | or stateUNDERSTOOD. Fixes 960323-0.f. | |
2472 | ||
2473 | Tue Mar 19 13:12:40 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2474 | ||
2475 | * data.c (ffedata_value): Fix crash on opANY, and simplify | |
2476 | the code at the same time. | |
2477 | ||
2478 | * Make-lang.in (f77-runtime): Also depends on lib[FI]77/Makefile... | |
2479 | (include/f2c.h...): ...which in turn depend on */Makefile.in. | |
2480 | (f77.rebuilt): Rebuild runtime stuff too. | |
2481 | ||
2482 | * intrin.c (ffeintrin_check_): Accommodate TYPELESS/HOLLERITH | |
2483 | types, convert args as necessary, etc. | |
2484 | ||
2485 | * expr.c (ffeexpr_convert): Fix test for TYPELESS/HOLLERITH | |
2486 | to obey the docs; crash if no source token when error. | |
2487 | (ffeexpr_collapse_convert): Crash if no token when error. | |
2488 | ||
2489 | Mon Mar 18 15:51:30 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2490 | ||
2491 | * com.c (ffecom_init_zero_): Renamed from | |
2492 | ffecom_init_local_zero_; now handles top-level | |
2493 | (COMMON) initializations too. | |
2494 | ||
2495 | * bld.c (ffebld_constant_is_zero): | |
2496 | * com.c (ffecom_symbol_transform_, ffecom_sym_transform_assign_, | |
2497 | ffecom_transform_common_, ffecom_transform_equiv_): | |
2498 | * data.c: | |
2499 | * equiv.c: | |
2500 | * equiv.h: | |
2501 | * lang-options.h: | |
2502 | * stc.c: | |
2503 | * storag.c: | |
2504 | * storag.h: | |
2505 | * symbol.c: | |
2506 | * symbol.h: | |
2507 | * target.c: | |
2508 | * target.h: | |
2509 | * top.c: | |
2510 | * top.h: All of this is mostly housekeeping-type changes | |
2511 | to support -f(no-)zeros, i.e. not always stuff zero | |
2512 | values into the initializer fields of symbol/storage objects, | |
2513 | but still track that they have been given initial values. | |
2514 | ||
2515 | * bad.def: Fix wording for DATA-related diagnostics. | |
2516 | ||
2517 | * com.c (ffecom_sym_transform_assign_): Don't check | |
2518 | any EQUIVALENCE stuff for local ASSIGN, the check was | |
2519 | bad (crashing), and it's not necessary, anyway. | |
2520 | ||
2521 | * com.c (ffecom_expr_intrinsic_): For MAX and MIN, | |
2522 | ignore null arguments as far arg[123], and fix handling | |
2523 | of ANY arguments. (New intrinsic support now allows | |
2524 | spurious trailing null arguments.) | |
2525 | ||
2526 | * com.c (ffecom_init_0): Add HOLLERITH (unsigned) | |
2527 | equivalents for INTEGER*2, *4, and *8, so shift intrinsics | |
2528 | and other things that need unsigned versions of signed | |
2529 | types work. | |
2530 | ||
2531 | Sat Mar 16 12:11:40 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2532 | ||
2533 | * storag.c (ffestorag_exec_layout): Treat adjustable | |
2534 | local array like dummy -- don't create storage object. | |
2535 | * com.c (ffecom_sym_transform_): Allow for NULL storage | |
2536 | object in LOCAL case (adjustable array). | |
2537 | ||
2538 | Fri Mar 15 13:09:41 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2539 | ||
2540 | * com.c (ffecom_sym_transform_): Allow local symbols | |
2541 | with nonconstant sizes (adjustable local arrays). | |
2542 | (ffecom_type_localvar_): Allow dimensions with nonconstant | |
2543 | component (adjustable local arrays). | |
2544 | * expr.c: Various minor changes to handle adjustable | |
2545 | local arrays (a new case of stateUNCERTAIN). | |
2546 | * stu.c (ffestu_sym_end_transition, | |
2547 | ffestu_sym_exec_transition): Ditto. | |
2548 | * symbol.def: Update docs to reflect these changes. | |
2549 | ||
2550 | * com.c (ffecom_expr_): Reduce space/time needed for | |
2551 | opACCTER case by handling it here instead of converting | |
2552 | it to opARRTER earlier on. | |
2553 | (ffecom_notify_init_storage): Don't convert ACCTER to ARRTER. | |
2554 | (ffecom_notify_init_symbol): Ditto. | |
2555 | ||
2556 | * com.c (ffecom_init_0): Crash and burn if any of the types' | |
2557 | sizes, according to the GBE, disagrees with the sizes of | |
2558 | the FFE's internal implementation. This might catch | |
2559 | Alpha/SGI bugs earlier. | |
2560 | ||
2561 | Fri Mar 15 01:09:41 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2562 | ||
2563 | * com-rt.def, com.c, com.h: Changes for rewrite of intrinsic | |
2564 | handling. | |
2565 | * com.c (ffecom_arglist_expr_): New function. | |
2566 | (ffecom_widest_expr_type_): New function. | |
2567 | (ffecom_expr_intrinsic_): Reorganize, some rewriting. | |
2568 | (ffecom_f2c_make_type_): Layout complex types. | |
2569 | (ffecom_gfrt_args_): New function. | |
2570 | (ffecom_list_expr): Trivial change for consistency. | |
2571 | ||
2572 | * expr.c (ffeexpr_token_name_rhs_): Go back to getting | |
2573 | type from specific, not implementation, info. | |
2574 | (ffeexpr_token_funsubstr_): Set intrinsic implementation too! | |
2575 | * intrin.c: Major rewrite of most portions. | |
2576 | * intrin.def: Major rearchitecting of tables. | |
2577 | * intrin.h (ffeintrin_basictype, ffeintrin_kindtype): | |
2578 | Now (once again) take ffeintrinSpec as arg, not ffeintrinImp; | |
2579 | for now, these return NONE, since they're not really needed | |
2580 | and adding the necessary info to the tables is not trivial. | |
2581 | (ffeintrin_codegen_imp): New function. | |
2582 | * stc.c (ffestc_R1208_item): Change way ffeintrin funcs called, | |
2583 | back to original per above; but comment out the code anyway. | |
2584 | ||
2585 | * intrin.c (ffe_init_0): Do internal checks only if | |
2586 | -fset-g77-defaults not specified. | |
2587 | ||
2588 | * lang-options.h: Add -fset-g77-defaults option. | |
2589 | * lang-specs.h: Always pass -fset-g77-defaults. | |
2590 | * top.c, top.h: New option. | |
2591 | ||
2592 | Sat Mar 9 17:49:50 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2593 | ||
2594 | * Make-lang.in (stmp-int-hdrs): Use --no-validate when | |
2595 | generating the f77.rebuilt files (BUGS, INSTALL, NEWS) | |
2596 | so cross-references can work properly in g77.info | |
2597 | without a lot of hassle. Users can probably deal with | |
2598 | the way they end up looking in the f77.rebuilt files. | |
2599 | ||
2600 | * bld.c (ffebld_constant_new_integer4_val): INTEGER*8 | |
2601 | support -- new function. | |
2602 | (ffebld_constant_new_logical4_val): New function. | |
2603 | * com.c (ffecom_f2c_longint_type_node): New type. | |
2604 | (FFECOM_rttypeLONGINT_): New return type code. | |
2605 | (ffecom_expr_): Add code to invoke pow_qq instead | |
2606 | of pow_ii for INTEGER4 (INTEGER*8) case. | |
2607 | If ffecom_expr_power_integer_ returns NULL_TREE, just do | |
2608 | the usual work. | |
2609 | (ffecom_make_gfrt_): Handle new type. | |
2610 | (ffecom_expr_power_integer_): Let caller do the work if in | |
2611 | dummy-transforming case, since | |
2612 | caller now knows about INTEGER*8 and such, by returning | |
2613 | NULL_TREE. | |
2614 | * expr.c (ffeexpr_reduced_power_): Complain about non-INTEGER | |
2615 | raised to INTEGER4 (INTEGER*8) power. | |
2616 | ||
2617 | * target.c (ffetarget_power_integerdefault_integerdefault): | |
2618 | Fix any**negative. | |
2619 | * com.c (ffecom_expr_power_integer_): Fix (-1)**(-8) and similar | |
2620 | to ABS() the integral result if the exponent is negative | |
2621 | and even. | |
2622 | ||
2623 | * ste.c (ffeste_begin_iterdo_): Clean up a type ref. | |
2624 | Always convert iteration count to _default_ INTEGER. | |
2625 | ||
2626 | * sta.c (ffesta_second_): Add BYTE and WORD type/stmts; | |
2627 | changes by Scott Snyder <snyder@d0sgif.fnal.gov>. | |
2628 | * stb.c (ffestb_decl_recursive): Ditto. | |
2629 | (ffestb_decl_recursive): Ditto. | |
2630 | (ffestb_decl_entsp_2_): Ditto. | |
2631 | (ffestb_decl_entsp_3_): Ditto. | |
2632 | (ffestb_decl_funcname_2_): Ditto. | |
2633 | (ffestb_decl_R539): Ditto. | |
2634 | (ffestb_decl_R5395_): Ditto. | |
2635 | * stc.c (ffestc_establish_declstmt_): Ditto. | |
2636 | * std.c (ffestd_R539item): Ditto. | |
2637 | (ffestd_R1219): Ditto. | |
2638 | * stp.h: Ditto. | |
2639 | * str-1t.fin: Ditto. | |
2640 | * str-2t.fin: Ditto. | |
2641 | ||
2642 | * expr.c (ffeexpr_finished_): For DO loops, allow | |
2643 | any INTEGER type; convert LOGICAL (assuming -fugly) | |
2644 | to corresponding INTEGER type instead of always default | |
2645 | INTEGER; let later phases do conversion of DO start, | |
2646 | end, incr vars for implied-DO; change checks for non-integral | |
2647 | DO vars to be -Wsurprising warnings. | |
2648 | * ste.c (ffeste_io_impdo_): Convert start, end, and incr | |
2649 | to type of DO variable. | |
2650 | ||
2651 | * com.c (ffecom_init_0): Add new types for [IL][234], | |
2652 | much of which was done by Scott Snyder <snyder@d0sgif.fnal.gov>. | |
2653 | * target.c: Ditto. | |
2654 | * target.h: Ditto. | |
2655 | ||
2656 | Wed Mar 6 14:08:45 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2657 | ||
2658 | * top.c (ffe_init_gbe_): Make -frerun-loop-opt the default. | |
2659 | ||
2660 | Mon Mar 4 12:27:00 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2661 | ||
2662 | * expr.c (ffeexpr_exprstack_push_unary_): Really warn only | |
2663 | about two successive _arithmetic_ operators. | |
2664 | ||
2665 | * stc.c (ffestc_R522item_object): Allow SAVE of (understood) | |
2666 | local entity. | |
2667 | ||
2668 | * top.c (ffe_decode_option): New -f(no-)second-underscore options. | |
2669 | * top.h: New options. | |
2670 | * com.c (ffecom_get_external_identifier_, ffecom_get_identifier_): | |
2671 | New options. | |
2672 | ||
2673 | * Make-lang.in (f77.maintainer-clean): Clean f/BUGS, f/INSTALL, | |
2674 | f/NEWS. | |
2675 | ($(srcdir)/f/BUGS, $(srcdir)/f/INSTALL, $(srcdir)/f/NEWS): | |
2676 | New rules. | |
2677 | ($(srcdir)/f/g77.info, $(srcdir)/f/g77.dvi): Depend on | |
2678 | f/bugs.texi and f/news.texi. | |
2679 | (f77.install-man): Install f77 man pages (if enabled). | |
2680 | (f77.uninstall): Uninstall info docs, f77 man pages (if enabled). | |
2681 | ||
2682 | * top.c (ffe_init_gbe_): New function. | |
2683 | (ffe_decode_option, ffe_file): Call ffe_init_gbe_ to | |
2684 | set defaults for gcc options. | |
2685 | ||
2686 | Sat Jan 20 13:57:19 1996 Craig Burley <burley@gnu.ai.mit.edu> | |
2687 | ||
2688 | * com.c (ffecom_get_identifier_): Eliminate needless | |
2689 | comparison of results of strchr. | |
2690 | ||
2691 | Tue Dec 26 11:41:56 1995 Craig Burley <burley@gnu.ai.mit.edu> | |
2692 | ||
2693 | * Make-lang.in: Add rules for new files g77.texi, g77.info, | |
2694 | and g77.dvi. | |
2695 | Reorganize the *clean rules to more closely parallel gcc's. | |
2696 | ||
2697 | * config-lang.in: Exclude g77.info from diffs. | |
2698 | ||
2699 | Sun Dec 10 02:29:13 1995 Craig Burley <burley@gnu.ai.mit.edu> | |
2700 | ||
2701 | * expr.c (ffeexpr_declare_unadorned_, | |
2702 | ffeexpr_declare_parenthesized_): Break out handling of | |
2703 | contextDATAIMPDO[INDEX,CTRL] so it's independent of symbol state. | |
2704 | Don't exec-transition these here (let ffeexpr_sym_impdoitem_ | |
2705 | handle that when appropriate). Don't "declare" them twice. | |
2706 | ||
2707 | Tue Dec 5 06:48:26 1995 Craig Burley <burley@gnu.ai.mit.edu> | |
2708 | ||
2709 | * stc.c (ffestc_promote_sfdummy_): Allow whereNONE parent | |
2710 | symbol, since it is not necessarily known whether it will | |
2711 | become LOCAL or DUMMY. | |
2712 | ||
2713 | Mon Dec 4 03:46:55 1995 Craig Burley <burley@gnu.ai.mit.edu> | |
2714 | ||
2715 | * lex.c (ffelex_display_token, ffelex_type_string_): Resurrect | |
2716 | these from their old versions and update them for possible invocation | |
2717 | from debugger. | |
2718 | * lex.h (ffelex_display_token): Declare this in case anyone | |
2719 | else wants to call it. | |
2720 | ||
2721 | * lex.c (ffelex_total_tokens_): Have this reflect actual allocated | |
2722 | tokens, no longer include outstanding "uses" of tokens. | |
2723 | ||
2724 | * malloc.c, malloc.h (MALLOC_DEBUG): New macro to control | |
2725 | checking of whether callers follow rules, now defaults to 0 | |
2726 | for "no checking" to improve compile times. | |
2727 | ||
2728 | * malloc.c (malloc_pool_kill): Fix bug that could prevent | |
2729 | subpool from actually being killed (wasn't setting its use | |
2730 | count to 1). | |
2731 | ||
2732 | * proj.h, *.c (dmpout): Replace all occurrences of `stdout' | |
2733 | and some of `stderr' with `dmpout', so where to dump debugging | |
2734 | output can be easily controlled during build; add default | |
2735 | for `dmpout' of `stderr' to proj.h. | |
2736 | ||
2737 | Sun Dec 3 00:56:29 1995 Craig Burley <burley@gnu.ai.mit.edu> | |
2738 | ||
2739 | * com.c (ffecom_return_expr): Eliminate attempt at warning | |
2740 | about unset return values, since the back end does this better, | |
2741 | with better wording, and is not triggered by clearly working | |
2742 | (but spaghetti) code as easily as this test. | |
2743 | ||
2744 | Sat Dec 2 08:28:56 1995 Craig Burley <burley@gnu.ai.mit.edu> | |
2745 | ||
2746 | * target.c (ffetarget_power_*_integerdefault): Raising 0 to | |
2747 | integer constant power should not be an error condition; | |
2748 | if so, other code should catch 0 to any power, etc. | |
2749 | ||
2750 | * bad.def (FFEBAD_BAD_POWER): 0**integer now a warning instead | |
2751 | of an error. | |
2752 | ||
2753 | Fri Dec 1 00:12:03 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
2754 | ||
2755 | * bad.def: Clarify diagnostic regarding complex constant elements. | |
2756 | * expr.c (ffeexpr_cb_comma_c_): Capitalize real/imaginary | |
2757 | for clarified diagnostic. | |
2758 | ||
2759 | * com.c (ffecom_close_include_): Close the file! | |
2760 | ||
2761 | * lex.c (ffelex_file_fixed): Update line info if the line | |
2762 | has any content, not just if it finishes a previous line | |
2763 | or has a label. | |
2764 | (ffelex_file_free): Clarify switch statement code. | |
2765 | ||
2766 | Sat Nov 18 19:37:22 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
2767 | ||
2768 | * Version 0.5.17 released. | |
2769 | ||
2770 | Fri Nov 17 14:27:24 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
2771 | ||
2772 | * Make-lang.in: Fix typo in comment. | |
2773 | ||
2774 | * Makefile.in (f/fini.o, f/proj-h.o): Don't use `$<' since | |
2775 | not all makes support it (e.g. NeXT make), use explicit | |
2776 | source name instead (with $(srcdir) and munging). | |
2777 | (ASSERT_H): assert.h lives in source dir, not build dir. | |
2778 | ||
2779 | Thu Nov 16 12:47:50 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
2780 | ||
2781 | * com.c (ffecom_init_0): Fix dumb bug in code to produce | |
2782 | warning message about non-32-bit-systems. | |
2783 | ||
2784 | * stc.c (ffestc_R501_item): Parenthesize test to make | |
2785 | warning go away (and perhaps fix bug). | |
2786 | ||
2787 | Thu Nov 16 03:43:33 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
2788 | ||
2789 | * g77.c: Upgrade to 2.7.0's gcc.c. | |
2790 | Fix -v to pass a temp name instead of "/dev/null" for "-o". | |
2791 | ||
2792 | Fri Nov 10 19:16:05 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
2793 | ||
2794 | * ste.c (ffeste_begin_iterdo_): Add Toon's change to | |
2795 | make loops faster on some machines (implement termination | |
2796 | condition as "--i >= 0" instead of "i-- > 0"). | |
2797 | ||
2798 | Thu Nov 2 03:58:17 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
2799 | ||
2800 | * Make-lang.in: Remove unnecessary $(exeext) a la cp/Make-lang.in. | |
2801 | ||
2802 | * com.c (ffecom_expr_): Restore old strategy for assignp variant | |
2803 | of opSYMTER case...always return the ASSIGN version of var. | |
2804 | That way, `-O -Wuninitialized' will catch "I=3;GOTO I;END" | |
2805 | (though the diagnostic will refer to `__g77_ASSIGN_i'). | |
2806 | ||
2807 | * com.c (ffecom_expr_power_integer_): For constant rhs case, | |
2808 | wrap every new eval of lhs in save_expr() so it is clear to | |
2809 | back end that MULT_EXPR(lhs,lhs) has identical operands, | |
2810 | otherwise for an rhs like 32767 it generates around 65K pseudo | |
38e01259 | 2811 | registers, with which stupid_life_analysis cannot cope |
5ff904cd JL |
2812 | (due to reg_renumber in regs.h being `short *' instead of |
2813 | `int *'). | |
2814 | ||
2815 | * com.c (ffecom_expr_): Speed up implementation of LOGICAL | |
2816 | versions of opNOT, opAND, opOR, opXOR/opNEQV, and opEQV by | |
2817 | assuming the values actually are kosher LOGICAL bit patterns. | |
2818 | Also simplify code that implements some of the INTEGER versions | |
2819 | of these. | |
2820 | ||
2821 | * com.c (skip_redundant_dir_prefix, read_name_map, | |
2822 | ffecom_open_include_, signed_type, unsigned_type): Fold in | |
2823 | changes to cccp.c made from 2.7.0 through ss-950826. | |
2824 | ||
2825 | * equiv.c (ffeequiv_layout_local_): Kill the equiv list | |
2826 | if no syms in list. | |
2827 | ||
2828 | * expr.c (ffeexpr_reduced_eqop2_): Issue specific diagnostic | |
2829 | regarding usage of .EQV./.NEQV. in preference to .EQ./.NE.. | |
2830 | ||
2831 | * intrin.c: Add ERF and ERFC as generic intrinsics. | |
2832 | intrin.def: Same. | |
2833 | ||
2834 | * sta.c (ffesta_save_, ffesta_second_): Whoever calls | |
2835 | ffestd_exec_begin must also set ffesta_seen_first_exec = TRUE, | |
2836 | and anytime stc sees an exec transition, it must do both. | |
2837 | stc.c (ffestc_eof): Same. | |
2838 | ||
2839 | * stc.c (ffestc_promote_sfdummy_): If failed implicit typing | |
2840 | or CHARACTER*(*) arg, after calling ffesymbol_error, don't | |
2841 | reset info to ENTITY/DUMMY, because ffecom_sym_transform_ | |
2842 | doesn't expect such a thing with ANY/ANY type. | |
2843 | ||
2844 | * target.h (*logical*): Change some of these so they parallel | |
2845 | changes in com.c, e.g. for _eqv_, use (l)==(r) instead of | |
2846 | !!(l)==!!(r), to get a more faithful result. | |
2847 | ||
2848 | Fri Oct 27 07:06:59 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
2849 | ||
2850 | * com.c (ffecom_sym_transform_): Simplify code for local | |
2851 | EQUIVALENCE case. | |
2852 | ||
2853 | * expr.c (ffeexpr_exprstack_push_unary_): Warn about two | |
2854 | successive operators. | |
2855 | (ffeexpr_exprstack_push_binary_): Warn about "surprising" | |
2856 | operator precedence, as in "-2**2". | |
2857 | ||
2858 | * lang-options.h: Add -W(no-)surprising options. | |
2859 | ||
2860 | * parse.c (yyparse): Don't reset -fpedantic if not -pedantic. | |
2861 | ||
2862 | * top.c (ffe_decode_option): Support new -Wsurprising option. | |
2863 | * top.h: Ditto. | |
2864 | ||
2865 | Mon Oct 23 09:14:15 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
2866 | ||
2867 | * com.c (ffecom_finish_symbol_transform_): Don't transform | |
2868 | NONE/NONE (CHARACTER*(*)) vars, as these don't mean anything | |
2869 | in debugging terms, and can't be turned into anything | |
2870 | in the back end (so ffecom_sym_transform_ crashes on them). | |
2871 | ||
2872 | * com.c (ffecom_expr_): Change strategy for assignp variant | |
2873 | of opSYMTER case...always return the original var unless | |
2874 | it is not wide enough. | |
2875 | ||
2876 | * ste.c (ffeste_io_cilist_): Clarify diagnostic for ASSIGN | |
2877 | involving too-narrow variable. This shouldn't happen, though. | |
2878 | (ffeste_io_icilist_): Ditto. | |
2879 | (ffeste_R838): Ditto. | |
2880 | (ffeste_R839): Ditto. | |
2881 | ||
2882 | Thu Oct 19 03:21:20 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
2883 | ||
2884 | * com.c (ffecom_sym_transform_assign_): Set TREE_STATIC | |
2885 | using the same decision-making process as used for their twin | |
2886 | variables, so ASSIGN can last across RETURN/CALL as appropriate. | |
2887 | ||
2888 | Fri Sep 22 20:21:18 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
2889 | ||
2890 | * Makefile.in: fini is a host program, so it needs a host-compiled | |
2891 | version of proj.o, named proj-h.o. f/fini, f/fini.o, and | |
2892 | f/proj-h.o targets updated accordingly. | |
2893 | ||
2894 | * com.c (__eprintf): New function. | |
2895 | ||
2896 | Wed Sep 20 02:26:36 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
2897 | ||
2898 | * lang-options.h: Add omitted -funix-intrinsics-* options. | |
2899 | ||
2900 | * malloc.c (malloc_find_inpool_): Check for infinite | |
2901 | loop, crash if detected (user reports encountering | |
2902 | them in some large programs, this might help track | |
2903 | down the bugs). | |
2904 | ||
2905 | Thu Sep 7 13:00:32 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
2906 | ||
2907 | * com.c (lang_print_error_function): Don't dereference null | |
2908 | pointer when outside any program unit. | |
2909 | (ffecom_let_char_, ffecom_arg_ptr_to_expr): If catlist | |
2910 | item or length ever error_mark_node, don't continue processing, | |
2911 | since back-end functions like build_pointer_type crash on | |
2912 | error_mark_node's (due to pushing bad obstacks, etc.). | |
2913 | ||
2914 | Wed Aug 30 15:58:35 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
2915 | ||
2916 | * Version 0.5.16 released. | |
2917 | ||
2918 | Mon Aug 28 12:24:20 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
2919 | ||
2920 | * bad.c (ffebad_finish): Fix botched message when no places | |
2921 | are printed (due to unknown line info, etc.). | |
2922 | ||
2923 | * std.c (ffestd_subr_labels_): Do a better job finding | |
2924 | line info in the case of typeANY and diagnostics. | |
2925 | ||
2926 | Fri Aug 25 15:19:29 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
2927 | ||
2928 | * com.c (DECL_ARTIFICIAL): Surround all references to this | |
2929 | macro with #if !BUILT_FOR_270 and #endif. | |
2930 | (init_lex): Surround print_error_function decl with | |
2931 | #if !BUILT_FOR_270 and #endif. | |
2932 | (lang_init): Call new ffelex_hash_kludge function to solve | |
2933 | problem with preprocessed files that have INCLUDE statements. | |
2934 | ||
2935 | * lex.c (ffelex_getc_): New function. | |
2936 | (ffelex_cfelex_): Use ffelex_getc_ instead of getc in any | |
2937 | paths of code that can be affected by ffelex_hash_kludge. | |
2938 | Don't make an EOF token for unrecognized token; set token | |
2939 | to NULL instead, to avoid problems when not initialized. | |
2940 | (ffelex_hash_): Use ffelex_getc_ instead of getc in any | |
2941 | paths of code that can be affected by ffelex_hash_kludge. | |
2942 | Test token returned by ffelex_cfelex_ for NULL, meaning | |
2943 | unrecognized token. | |
2944 | Get rid of useless used_up variable. | |
2945 | Don't do ffewhere stuff or kill any tokens if in | |
2946 | ffelex_hash_kludge. | |
2947 | (ffelex_file_fixed, ffelex_file_free): Use ffelex_getc_ | |
2948 | instead of getc in any paths of code that can be affected | |
2949 | by ffelex_hash_kludge. | |
2950 | (ffelex_hash_kludge): New function. | |
2951 | ||
2952 | * lex.h (ffelex_hash_kludge): New function. | |
2953 | ||
2954 | Wed Aug 23 15:17:40 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
2955 | ||
2956 | * com.c: Implement -f(no-)underscoring options by always | |
2957 | compiling in code to do it, and having that code inhibit | |
2958 | itself when -fno-underscoring is in effect. This option | |
2959 | overrides -f(no-)f2c for this purpose; -f(no-)f2c returns | |
2960 | to it's <=0.5.15 behavior of affecting only how code | |
2961 | is generated, not how/whether names are mangled. | |
2962 | ||
2963 | * target.h: Redo specification of appending underscores so | |
2964 | the macros are named "_default" instead of "_is" and the | |
2965 | two-underscore macro defaults to 1. | |
2966 | ||
2967 | * top.c, top.h (underscoring): Add appropriate stuff | |
2968 | for the -f(no-)underscoring options. | |
2969 | ||
2970 | Tue Aug 22 10:25:01 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
2971 | ||
2972 | * bad.c (ffebad_finish): Call report_error_function (in toplev.c) | |
2973 | to better identify location of problem. | |
2974 | Say "(continued):" instead of "(continued:)" for consistency. | |
2975 | ||
2976 | * com.c (ffecom_gen_sfuncdef_): Set and reset new | |
2977 | ffecom_nested_entry_ variable to hold ffesymbol being compiled. | |
2978 | (lang_print_error_function): New function from toplev.c. | |
2979 | Use ffecom_nested_entry_ to help determine which name | |
2980 | and kind-string to print. | |
2981 | (ffecom_expr_intrinsic_): Handle EXIT and FLUSH invocations | |
2982 | with different calling sequences than library functions. | |
2983 | Have SIGNAL and SYSTEM push and pop calltemps, and convert | |
2984 | their return values to the destination type (just in case). | |
2985 | (FFECOM_rttypeINT_): New return type for `int', in case | |
2986 | gcc/f/runtime/libF77/system_.c(system_) is really supposed | |
2987 | to return `int' instead of `ftnint'. | |
2988 | ||
2989 | * com.h (report_error_function): Declare this. | |
2990 | ||
2991 | * equiv.c (ffeequiv_layout_local_): Don't forget to consider | |
2992 | root variable itself as possible "first rooted variable", | |
2993 | else might never set symbol and then crash later. | |
2994 | ||
2995 | * intrin.c (ffeintrin_check_exit_): Change to allow no args | |
2996 | and rename to ffeintrin_check_int_1_o_ for `optional'. | |
2997 | #define ffeintrin_check_exit_ and _flush_ to this new | |
2998 | function, so intrin.def can refer to the appropriate names. | |
2999 | ||
3000 | * intrin.def (FFEINTRIN_impFLUSH): Validate using | |
3001 | ffeintrin_check_flush_ so passing an INTEGER arg is allowed. | |
3002 | ||
3003 | * lex.c (ffelex_file_push_, ffelex_file_pop_): New functions | |
3004 | to manage input_file_stack in gbe. | |
3005 | (ffelex_hash_): Call new functions (instead of doing code). | |
3006 | (ffelex_include_): Call new functions to update stack for | |
3007 | INCLUDE (_hash_ handles cpp output of #include). | |
3008 | ||
3009 | Mon Aug 21 08:09:04 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3010 | ||
3011 | * Makefile.in: Put `-W' in front of every `-Wall', since | |
3012 | 2.7.0 requires that to engage `-Wunused' for parameters. | |
3013 | ||
3014 | * com.c: Mark all parameters as artificial, so | |
3015 | `-W -Wunused' doesn't complain about unused ones (since | |
3016 | there's no way right not to individually specify attributes | |
3017 | like `unused'). | |
3018 | ||
3019 | * proj.h: Don't #define UNUSED if already defined, regardless | |
3020 | of host compiler. | |
3021 | ||
3022 | Sun Aug 20 16:03:56 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3023 | ||
3024 | * gbe/2.7.0.diff: Regenerate. | |
3025 | ||
3026 | * lang-options.h, lang-specs.h: If not __STDC__ (ANSI C), | |
3027 | avoid doing anything, especially the stringizing in -specs.h. | |
3028 | ||
3029 | Thu Aug 17 03:36:12 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3030 | ||
3031 | * lang-specs.h: Remove useless optional settings of -traditional, | |
3032 | since -traditional is always set anyway. | |
3033 | ||
3034 | Wed Aug 16 16:56:46 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3035 | ||
3036 | * Make-lang.in (F2C_INSTALL_FLAG, F2CLIBOK): More | |
3037 | control over whether to install f2c-related stuff. | |
3038 | (install-f2c-*): New targets to install f2c-related | |
3039 | stuff in system, not just gcc, directories. | |
3040 | ||
3041 | * com.c: Change calls to ffecom_get_invented_identifier | |
3042 | to use generally more predictable names. | |
3043 | Change calls to build_range_type to ensure consistency | |
3044 | of types of operands. | |
3045 | (ffecom_get_external_identifier_): Change to accept | |
3046 | symbol info, not just text, so it can use f2c flag for | |
3047 | symbol to decide whether to append underscore(s). | |
3048 | (ffecom_get_identifier_): Don't change names if f2c flag | |
3049 | off for compilation. | |
3050 | (ffecom_type_permanent_copy_): Use same type for new max as | |
3051 | used for min. | |
3052 | (ffecom_notify_init_storage): Offline fixups for stand-alone. | |
3053 | ||
3054 | * data.c (ffedata_gather): Explicitly test for common block, | |
3055 | since it's no longer always the case that a local EQUIVALENCE | |
3056 | group has no symbol ptr (it now can, if a user-predictable | |
3057 | "rooted" symbol has been identified). | |
3058 | ||
3059 | * equiv.c: Add some debugging stuff. | |
3060 | (ffeequiv_layout_local_): Set symbol ptr with user-predictable | |
3061 | "rooted" symbol, for giving the invented aggregate a | |
3062 | predictable name. | |
3063 | ||
3064 | * g77.c (append_arg): Allow for 20 extra args instead of 10. | |
3065 | (main): For version-only case, add `-fnull-version' and, unless | |
3066 | explicitly omitted, `-lf2c -lm'. | |
3067 | ||
3068 | * lang-options.h: New "-fnull-version" option. | |
3069 | ||
3070 | * lang-specs.h: Support ".fpp" suffix for preprocessed source | |
3071 | (useful for OS/2, MS-DOS, other case-insensitive systems). | |
3072 | ||
3073 | * stc.c (ffestc_R544_equiv_): Swap way lists are merged so this | |
3074 | is consistent with the order in which lists are built, making | |
3075 | user predictability of invented aggregate name much higher. | |
3076 | ||
3077 | * storag.c, storag.h (FFESTORAG_typeDUMMY): Delete this enum. | |
3078 | ||
3079 | * top.c: Accept, but otherwise ignore, `-fnull-version'. | |
3080 | ||
3081 | Tue Aug 15 07:01:07 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3082 | ||
3083 | * DOC, INSTALL, PROJECTS: Extensive improvements to documentation. | |
3084 | ||
3085 | Sun Aug 13 01:55:18 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3086 | ||
3087 | * INSTALL (f77-install-ok): Document the use of this file. | |
3088 | ||
3089 | * Make-lang.in (F77_INSTALL_FLAG): New flag to control | |
3090 | whether to install an `f77' command (based on whether | |
3091 | a file named `f77-install-ok' exists in the source or | |
3092 | build directory) to replace the broken attempt to use | |
3093 | comment lines to avoid installing `f77' (broken in the | |
3094 | sense that it prevented installation of `g77'). | |
3095 | ||
3096 | Mon Aug 7 06:14:26 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3097 | ||
3098 | * DOC: Add new sections for g77 & gcc compiler options, | |
3099 | source code form, and types, sizes and precisions. | |
3100 | Remove lots of old "delta-version" info, or at least | |
3101 | summarize it. | |
3102 | ||
3103 | * INSTALL: Add info here that used to be in DOC. | |
3104 | Other changes. | |
3105 | ||
3106 | * g77.c (lookup_option, main): Check for --print-* options, | |
3107 | so we avoid adding version-determining stuff. | |
3108 | ||
3109 | Wed Jul 26 15:51:03 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3110 | ||
3111 | * Make-lang.in, Makefile.in (input.j, INPUT_H): New file. | |
3112 | Update dependencies accordingly. | |
3113 | ||
3114 | * bad.c (ffebad_here): Okay to use unknown line/col. | |
3115 | ||
3116 | * compilers.h (@f77-cpp-input): Remove -P option now that | |
3117 | # directives are handled by f771. Update other options | |
3118 | to be more consistent with @c in gcc/gcc.c. Don't run f771 | |
3119 | if -E specified, etc., a la @c. | |
3120 | (@f77): Don't run f771 if -E specified, etc., a la @c. | |
3121 | ||
3122 | * config-lang.in: Avoid use of word "guaranteed". | |
3123 | ||
3124 | * input.j: New file to wrap around gcc/input.h. | |
3125 | ||
3126 | * lex.j: Add support for parsing # directives output by cpp. | |
3127 | (ffelex_cfebackslash_): New function. | |
3128 | (ffelex_cfelex_): New function. | |
3129 | (ffelex_get_directive_line_): New function. | |
3130 | (ffelex_hash_): New function. | |
3131 | (ffelex_include_): Change to not use ffewhere_file_(begin|end). | |
3132 | Also fix bug in pointing to next line (for diagnostics, &c) | |
3133 | following successful INCLUDE. | |
3134 | (ffelex_next_line_): New function that does chunk of code | |
3135 | seen in several places elsewhere in the lexers. | |
3136 | (ffelex_file_fixed): Delay finishing statement until source | |
3137 | line is registered with ffewhere, so INCLUDE processing | |
3138 | picks up the info correctly. | |
3139 | Okay to kill or use unknown line/col objects now. | |
3140 | Handle HASH (#) lines. | |
3141 | Reorder tests for insubstantial lines to put most frequent | |
3142 | occurrences at top, for possible minor speedup. | |
3143 | Some general consolidation of code. | |
3144 | (ffelex_file_free): Handle HASH (#) lines. | |
3145 | Okay to kill or use unknown line/col objects now. | |
3146 | Some general consolidation of code. | |
3147 | (ffelex_init_1): Detect HASH (#) lines. | |
3148 | (ffelex_set_expecting_hollerith): Okay to kill or use unknown | |
3149 | line/col objects now. | |
3150 | ||
3151 | * lex.h (FFELEX_typeHASH): New enum. | |
3152 | ||
3153 | * options-lang.h (-fident, -fno-ident): New options. | |
3154 | ||
3155 | * stw.c (ffestw_update): Okay to kill unknown line/col objects | |
3156 | now. | |
3157 | ||
3158 | * target.h (FFETARGET_okREALQUAD, FFETARGET_okCOMPLEXDOUBLE, | |
3159 | FFETARGET_okCOMPLEXQUAD): #define these appropriately. | |
3160 | ||
3161 | * top.c: Include flag.j wrapper, not flags.h directly. | |
3162 | (ffe_is_ident_): New flag. | |
3163 | (ffe_decode_option): Handle -fident and -fno-ident. | |
3164 | (ffe_file): Replace obsolete ffewhere_file_(begin|end) with | |
3165 | ffewhere_file_set. | |
3166 | ||
3167 | * top.h (ffe_is_ident_, ffe_is_ident, ffe_set_is_ident): | |
3168 | New flag and access functions. | |
3169 | ||
3170 | * where.c, where.h: Remove all tracking of parent file. | |
3171 | (ffewhere_file_begin, ffewhere_file_end): Delete these. | |
3172 | (ffewhere_line_use): Make it work with unknown line object. | |
3173 | ||
3174 | Mon Jul 17 03:04:09 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3175 | ||
3176 | * com.c (ffecom_sym_transform_): Set DECL_IN_SYSTEM_HEADER | |
3177 | flag for any local vars used as stmtfunc dummies or DATA | |
3178 | implied-DO iter vars, so no -Wunused warnings are produced | |
3179 | for them (a la f2c). | |
3180 | (ffecom_init_0): Do "extern int xargc;" for IARGC() intrinsic. | |
3181 | Warn if target machine not 32 bits, since g77 isn't yet | |
3182 | working on them at all well. | |
3183 | ||
3184 | * expr.c (ffeexpr_sym_lhs_call_, ffeexpr_sym_lhs_data_, | |
3185 | ffeexpr_sym_lhs_extfunc_, ffeexpr_sym_rhs_actualarg_, | |
3186 | ffeexpr_sym_rhs_let_, ffeexpr_paren_rhs_let_): Don't | |
3187 | gratuitously set attr bits that don't apply just | |
3188 | to avoid null set meaning error; instead, use explicit | |
3189 | error flag, and allow null attr set, to | |
3190 | fix certain bugs discovered by looking at this code. | |
3191 | ||
3192 | * g77.c: Major changes to improve support for gcc long options, | |
3193 | to make `g77 -v' report more useful info, and so on. | |
3194 | ||
3195 | Mon Jul 3 14:49:16 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3196 | ||
3197 | * DOC, com.c, intrin.h, intrin.c, intrin.def, target.h, top.c, | |
3198 | top.h: Add new `unix' group of intrinsics, which includes the | |
3199 | newly added ERF, ERFC, EXIT, plus even newer ABORT, DERF, DERFC, | |
3200 | FLUSH, GETARG, GETENV, SIGNAL, and SYSTEM. | |
3201 | ||
3202 | Tue Jun 27 23:01:05 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3203 | ||
3204 | * bld.c, bld.h (ffebld_constant_pool, | |
3205 | ffebld_constant_character_pool): Use a single macro (the | |
3206 | former) to access the pool for allocating constants, instead | |
3207 | of latter in public and FFEBLD_CONSTANT_POOL_ internally | |
3208 | in bld.c (which was the only one that was correct before | |
3209 | these changes). Add verification of integrity of certain | |
3210 | heap-allocated areas. | |
3211 | ||
3212 | * com.c (ffecom_overlap_, ffecom_args_overlap_, | |
3213 | ffecom_tree_canonize_ptr_, ffecom_tree_canonize_ref_): New | |
3214 | functions to optimize calling COMPLEX and, someday, CHARACTER | |
3215 | functions requiring additional argument to be passed. | |
3216 | (ffecom_call_, ffecom_call_binop_, ffecom_expr_, | |
3217 | ffecom_expr_intrinsic_): Change calling | |
3218 | sequences to include more info on possible destination. | |
3219 | (ffecom_expr_intrinsic_): Add ERF(), ERFC(), and EXIT() | |
3220 | intrinsic code. | |
3221 | (ffecom_sym_transform_): For assumed-size arrays, set high | |
3222 | bound to highest possible value instead of low bound, to | |
3223 | improve validity of overlap checking. | |
3224 | (duplicate_decls): If olddecl and newdecl are the same, | |
3225 | don't do any munging, just return affirmative. | |
3226 | ||
3227 | * expr.c: Change ffecom_constant_character_pool() to | |
3228 | ffecom_constant_pool(). | |
3229 | ||
3230 | * info.c (ffeinfo_new): Compile this version if not being | |
3231 | compiled by GNU C. | |
3232 | ||
3233 | * info.h (ffeinfo_new): Don't define macro if not being | |
3234 | compiled by GNU C. | |
3235 | ||
3236 | * intrin.c, intrin.def: Add ERF(), ERFC(), and EXIT() intrinsics. | |
3237 | (ffeintrin_check_exit_): New for EXIT() subroutine intrinsic. | |
3238 | ||
3239 | * malloc.c, malloc.h (malloc_verify_*): New functions to verify | |
3240 | integrity of heap-storage areas. | |
3241 | ||
3242 | * stc.c (ffestc_R834, ffestc_R835): Handle possibility that | |
3243 | an enclosing DO won't have a construct name even when the | |
3244 | CYCLE/EXIT does (i.e. without dereferencing NULL). | |
3245 | ||
3246 | * target.c, target.h (ffetarget_verify_character1): New function | |
3247 | to verify integrity of heap storage used to hold character constant. | |
3248 | ||
3249 | Thu Jun 22 15:36:39 1995 Howard Gordon (flash@super.org) | |
3250 | ||
3251 | * stp.h (ffestpVxtcodeIx): Fix typo in typedef for this. | |
3252 | ||
3253 | Mon May 29 15:22:31 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3254 | ||
3255 | * *: Make all sorts of changes to accommodate upcoming gcc-2.7.0. | |
3256 | I didn't keep track of them, nor just when I made them, nor | |
3257 | when I (much later, probably in early August 1995) modified | |
3258 | them so they could properly handle both 2.7.0 and 2.6.x. | |
3259 | ||
3260 | * com.c (ffecom_expr_power_integer_): Don't expand_start_stmt_expr | |
3261 | if transforming dummy args, because the back end cannot handle | |
3262 | that (it's rejected by the gcc front end), just generate | |
3263 | call to run-time library. | |
3264 | Back out changes in 0.5.15 because more temporaries might be | |
3265 | needed anyway (for COMPLEX**INTEGER). | |
3266 | (ffecom_push_tempvar): Remove inhibitor. | |
3267 | Around start_decl and finish_decl (in particular, arround | |
3268 | expand_decl, which is called by them), push NULL_TREE into | |
3269 | sequence_rtl_expr, an external published by gcc/function.c. | |
3270 | This makes sure the temporary is truly in the function's | |
3271 | context, not the inner context of a statement-valued expression. | |
3272 | (I think the back end is inconsistent here, but am not | |
3273 | interested in convincing the gbe maintainers about this now.) | |
3274 | (pushdecl): Make sure that when pushing PARM_DECLs, nothing | |
3275 | other than them are pushed, as happened for 0.5.15 and which, | |
3276 | if done for other reasons not fixed here, might well indicate | |
3277 | some other problem -- so crash if it happens. | |
3278 | ||
3279 | * equiv.c (ffeequiv_layout_local_): If the local equiv group | |
3280 | has a non-nil COMMON field, it should mean that an error has | |
3281 | occurred and been reported, so just trash the local equiv | |
3282 | group and do nothing. | |
3283 | ||
3284 | * stc.c (ffestc_promote_sfdummy_): Set sfdummy arg state to | |
3285 | UNDERSTOOD so above checking for duplicate args actually | |
3286 | works, and so we don't crash later in pushdecl. | |
3287 | ||
3288 | * ste.c (ffeste_R1001): Set initial value only for VAR_DECLs, | |
3289 | not for, e.g., LABEL_DECLs, which the FORMAT label can be | |
3290 | if it was previously treated as an executable label. | |
3291 | ||
3292 | Sat May 20 01:53:53 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3293 | ||
3294 | * com.c (ffecom_sym_transform_): For adjustable arrays, | |
3295 | pass high bound through variable_size in case its primaries | |
3296 | are changed (dumb0.f, and this might also improve | |
3297 | performance so it approaches f2c|gcc). | |
3298 | ||
3299 | Fri May 19 11:00:36 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3300 | ||
3301 | * Version 0.5.15 released. | |
3302 | ||
3303 | * com.c (ffecom_expr_power_integer_): Push temp vars | |
3304 | before expanding a statement expression, since that seems | |
3305 | to cause temp vars to be "forgotten" after the end of the | |
3306 | expansion in the back end. Disallow more temp-var | |
3307 | pushing during such an expansion, just in case. | |
3308 | (ffecom_push_tempvar): Crash if a new variable needs to be | |
3309 | pushed but cannot be at this point (should never happen). | |
3310 | ||
3311 | Wed May 17 12:26:16 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3312 | ||
3313 | * expr.c (ffeexpr_collapse_convert): Add code to convert | |
3314 | LOGICAL to CHARACTER. Reject conversion of REAL or COMPLEX | |
3315 | to CHARACTER entirely, as it cannot be supported with all | |
3316 | configurations. | |
3317 | ||
3318 | * target.h, target.c (ffetarget_convert_character1_logical1): | |
3319 | New function. | |
3320 | ||
3321 | Sun May 14 00:00:09 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3322 | ||
3323 | * com.c (ffecom_do_entry_, ffecom_gen_sfuncdef_, | |
3324 | ffecom_start_progunit_, ffecom_sym_transform_, | |
3325 | ffecom_init_0, start_function): Changes to have REAL | |
3326 | external functions return same type as DOUBLE PRECISION | |
3327 | external functions when -ff2c is in force; while at it, | |
3328 | some code cleanups done. | |
3329 | ||
3330 | * stc.c (ffestc_R547_item_object): Disallow array declarator | |
3331 | if one already exists for symbol. | |
3332 | ||
3333 | * ste.c (ffeste_R1227): Convert result variable to type | |
3334 | of function result as seen by back end (e.g. for when REAL | |
3335 | external function actually returns result as double). | |
3336 | ||
3337 | * target.h (FFETARGET_defaultFIXED_LINE_LENGTH): New | |
3338 | macro for default for -ffixed-line-length-N option. | |
3339 | ||
3340 | * top.c (ffe_fixed_line_length_): Initialize this to new | |
3341 | target.h macro instead of constant 72. | |
3342 | ||
3343 | Tue May 9 01:20:03 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3344 | ||
3345 | * lex.c (ffelex_send_token_): If sending CHARACTER token with | |
3346 | null text field, put a single '\0' in it and set length/size | |
3347 | fields to 0 (to fix 950508-0.f). | |
3348 | (ffelex_image_char_): When setting ffelex_bad_line_ to TRUE, | |
3349 | always "close" card image by appending a null char and setting | |
3350 | ffelex_card_length_. As part of this, append useful text | |
3351 | to identify the two kinds of problems that involve this. | |
3352 | (ffelex_file_fixed): Reset ffelex_bad_line_ to FALSE after | |
3353 | seeing a line with invalid first character (fixes 950508-1.f). | |
3354 | If final nontab column is zero, assume tab seen in line. | |
3355 | (ffelex_card_image_): Always make this array 8 characters | |
3356 | longer than reflected by ffelex_card_size_. | |
3357 | (ffelex_init_1): Get final nontab column info from top instead | |
3358 | of assuming 72. | |
3359 | ||
3360 | * options-lang.h: Add -ffixed-line-length- prefix. | |
3361 | ||
3362 | * top.h: Add ffe_fixed_line_length() and _set_ version, plus | |
3363 | corresponding extern. | |
3364 | ||
3365 | * top.c: Handle -ffixed-line-length- option prefix. | |
3366 | ||
3367 | Fri Apr 28 05:40:25 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3368 | ||
3369 | * Version 0.5.14 released. | |
3370 | ||
3371 | * Make-lang.in: Add assert.j. | |
3372 | ||
3373 | * Makefile.in: Add assert.j. | |
3374 | ||
3375 | * assert.j: New file. | |
3376 | ||
3377 | Thu Apr 27 16:24:22 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3378 | ||
3379 | * bad.h (ffebad_severity): New function. | |
3380 | ||
3381 | * bad.c (ffebad_severity): New function. | |
3382 | ||
3383 | * bad.def (FFEBAD_OPEN_INCLUDE): Change severity from SEVERE | |
3384 | to FATAL, since processing continues, and that seems fine. | |
3385 | ||
3386 | * com.c: Add facility to handle -I. | |
3387 | (ffecom_file, ffecom_close_include, ffecom_open_include, | |
3388 | ffecom_decode_include_option): New global functions for -I. | |
3389 | (ffecom_file_, ffecom_initialize_char_syntax_, | |
3390 | ffecom_close_include_, ffecom_decode_include_option_, | |
3391 | ffecom_open_include_, append_include_chain, open_include_file, | |
3392 | print_containing_files, read_filename_string, file_name_map, | |
3393 | savestring): New internal functions for -I. | |
3394 | ||
3395 | * compilers.h: Pass -I flag(s) to f771 (via "%{I*}"). | |
3396 | ||
3397 | * lex.c (ffelex_include_): Call ffecom_close_include | |
3398 | to close include file, for its tracking needs for -I, | |
3399 | instead of using fclose. | |
3400 | ||
3401 | * options-lang.h: Add -I prefix. | |
3402 | ||
3403 | * parse.c (yyparse): Call ffecom_file for main input file, | |
3404 | so -I handling works (diagnostics). | |
3405 | ||
3406 | * std.c (ffestd_S3P4): Have ffecom_open_include handle | |
3407 | opening and diagnosing errors with INCLUDE files. | |
3408 | ||
3409 | * ste.c (ffeste_begin_iterdo_): Use correct algorithm for | |
3410 | calculating # of iterations -- mathematically similar but | |
3411 | computationally different algorithm was not handling cases | |
3412 | like "DO I=6,5,2" correctly, because (5-6)/2+1 => 1, not 0. | |
3413 | ||
3414 | * top.c (ffe_decode_option): Allow -I, restructure a bit | |
3415 | for clarity and, maybe, speed. | |
3416 | ||
3417 | Mon Apr 17 13:31:11 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3418 | ||
3419 | * g77.c: Remove -lc, turns out not all systems has it, but | |
3420 | leave other changes in for clarity of code. | |
3421 | ||
3422 | Sun Apr 16 21:50:33 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3423 | ||
3424 | * com.c (ffecom_expr_): Implement ARRAY_EXPR as INDIRECT_REF | |
3425 | of appropriate PLUS_EXPRs of ptr_to_expr of array, to see | |
3426 | if this generates better code. (Conditional on | |
3427 | FFECOM_FASTER_ARRAY_REFS.) | |
3428 | ||
3429 | Sun Apr 16 00:22:48 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3430 | ||
3431 | * Make-lang.in (F77_SRCS): Remove g77.c, since it doesn't | |
3432 | contribute to building f771. | |
3433 | ||
3434 | * Makefile.in (dircheck): Remove/replace with f/Makefile, because | |
3435 | phony targets that are referenced in other real targets get run | |
3436 | when those targets are specified, which is a waste of time (e.g. | |
3437 | when rebuilding and only g77.c has changed, f771 was being linked | |
3438 | anyway). | |
3439 | ||
3440 | * g77.c: Include -lc between -lf2c and -lm throughout. | |
3441 | ||
3442 | * implic.c (ffeimplic_establish_symbol): If -Wimplicit, warn if | |
3443 | implicit type given to symbol. | |
3444 | ||
3445 | * lex.c (ffelex_include_): Don't gratuitously increment line | |
3446 | number here. | |
3447 | ||
3448 | * top.h, top.c (ffe_is_warn_implicit_): New global variable and | |
3449 | related access macros. | |
3450 | (ffe_decode_option): Handle -W options, including -Wall and | |
3451 | -Wimplicit. | |
3452 | ||
3453 | * where.c (ffewhere_line_new): Don't muck with root line (was | |
3454 | crashing on null input since lexer changes over the past week | |
3455 | or so). | |
3456 | ||
3457 | Thu Apr 13 16:48:30 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3458 | ||
3459 | * com.c (ffecom_init_0): Register built-in functions for cos, | |
3460 | sin, and sqrt. | |
3461 | (ffecom_tree_fun_type_double): New variable. | |
3462 | (ffecom_expr_intrinsic_): Update f2c input and output files | |
3463 | to latest version of f2c (no important g77-related changes | |
3464 | noted, just bug fixes to f2c and such). | |
3465 | (builtin_function): New function from c-decl.c. | |
3466 | ||
3467 | * com-rt.def: Refer to built-in functions for cos, sin, and sqrt. | |
3468 | ||
3469 | Thu Apr 13 10:25:09 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3470 | ||
3471 | * com.c (ffecom_expr_intrinsic_): Convert 0. to appropriate | |
3472 | type to keep DCMPLX(I) from crashing the compiler. | |
3473 | (ffecom_expr_): Don't convert result from ffecom_tree_divide_. | |
3474 | (ffecom_tree_divide_): Add tree_type argument, have all callers | |
3475 | pass one, and don't convert right-hand operand to it (this is | |
3476 | to make this new function work as much like the old in-line | |
3477 | code used in ffecom_expr_ as possible). | |
3478 | ||
3479 | * lex.c: Maintain lineno and input_filename the way the gcc | |
3480 | lexer does. | |
3481 | ||
3482 | * std.c (ffestd_exec_end): Save and restore lineno and | |
3483 | input_filename around the second pass, which sets them | |
3484 | appropriately for each saved statement. | |
3485 | ||
3486 | Wed Apr 12 09:44:45 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3487 | ||
3488 | * com.c (ffecom_expr_power_integer_): New function. | |
3489 | (ffecom_expr_): Call new function for power op with integer second | |
3490 | argument, for generating better code. Also replace divide | |
3491 | code with call to new ffecom_tree_divide_ function. | |
3492 | Canonicalize calls to ffecom_truth_value(_invert). | |
3493 | (ffecom_tree_divide_): New function. | |
3494 | ||
3495 | Wed Apr 5 14:15:44 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3496 | ||
3497 | * lex.c: Change to allocate text for tokens only when actually | |
3498 | needed, which should speed compilation up somewhat. | |
3499 | Change to allow INCLUDE at any point where a statement | |
3500 | can end, i.e. in ffelex_finish_statement_ or when a SEMICOLON | |
3501 | token is sent. | |
3502 | Remove some old, obsolete code. | |
3503 | Clean up layout of entire file to improve formatting, | |
3504 | readability, etc. | |
3505 | (ffelex_set_expecting_hollerith): Remove include argument. | |
3506 | ||
3507 | Fri Mar 31 23:19:08 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3508 | ||
3509 | * bad.h, bad.c (ffebad_start_msg, ffebad_start_msg_lex): | |
3510 | New functions to generate arbitrary messages. | |
3511 | (FFEBAD_severityPEDANTIC): New severity, to correspond | |
3512 | to toplev's pedwarn() function. | |
3513 | ||
3514 | * lex.c (ffelex_backslash_): New function to implement | |
3515 | backslash processing. | |
3516 | (ffelex_file_fixed, ffelex_file_free): Implement new | |
3517 | backslash processing. | |
3518 | ||
3519 | * std.c (ffestd_R1001dump_): Don't assume CHARACTER and | |
3520 | HOLLERITH tokens stop at '\0' characters, now that backslash | |
3521 | processing is supported -- use their advertised lengths instead, | |
3522 | and double up the '\002' character for libf2c. | |
3523 | ||
3524 | Mon Mar 27 17:10:33 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3525 | ||
3526 | * com.c (ffecom_init_local_zero_): Implement -finit-local-zero. | |
3527 | (ffecom_sym_transform_): Same. | |
3528 | (ffecom_transform_equiv_): Same. | |
3529 | ||
3530 | * options-lang.h: Add -f(no-)(init-local-zero,backslash,ugly-init). | |
3531 | ||
3532 | * stb.c (ffestb_V020): Reject "TYPEblah(...", which might be | |
3533 | an array assignment. | |
3534 | ||
3535 | * target.h, top.h, top.c: Implement -finit-local-zero. | |
3536 | ||
3537 | Fri Mar 24 19:56:22 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3538 | ||
3539 | * Make-lang.in, Makefile.in: Remove conf-proj(.in) and | |
3540 | proj.h(.in) rules, plus related config.log, config.cache, | |
3541 | and config.status stuff. | |
3542 | ||
3543 | * com.c (ffecom_init_0): Change messages when atof(), bsearch(), | |
3544 | or strtoul() do not work as expected in the start-up test. | |
3545 | ||
3546 | * conf-proj, conf-proj.in: Delete. | |
3547 | ||
3548 | * lex.c (ffelex_file_fixed): Allow f2c's '&' in column 1 | |
3549 | to mean continuation line. | |
3550 | ||
3551 | * options-lang.h: New file, #include'd by ../toplev.c. | |
3552 | ||
3553 | * proj.h.in: Rename back to proj.h. | |
3554 | ||
3555 | * proj.h (LAME_ASSERT): Remove. | |
3556 | (LAME_STDIO): Remove. | |
3557 | (NO_STDDEF): Remove. | |
3558 | (NO_STDLIB): Remove. | |
3559 | (NO_BSEARCH): Remove auto detection, rename to !FFEPROJ_BSEARCH. | |
3560 | (NO_STRTOUL): Remove auto detection, rename to !FFEPROJ_STRTOUL. | |
3561 | (USE_HOST_LIMITS): Remove (maybe still needed by stand-alone?). | |
3562 | (STR, STRX): Do only ANSI C definitions. | |
3563 | ||
3564 | Mon Mar 13 10:46:13 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3565 | ||
3566 | * BUGS: Add item about g77 requiring gcc to compile it. | |
3567 | ||
3568 | * NEWS: New file listing user-visible changes in the release. | |
3569 | ||
3570 | * PROJECTS: Update to include a new item or two, and modify | |
3571 | or delete items that are addressed in this or previous releases. | |
3572 | ||
3573 | * bad.c (ffebad_finish): Don't crash if missing string &c, | |
3574 | just substitute obviously distressed string "[REPORT BUG!!]" | |
3575 | for cases where the message/caller are fudgy. | |
3576 | ||
3577 | * bad.def: Clean up error messages in a major way, add new ones | |
3578 | for use by changes in target.c. | |
3579 | ||
3580 | * com.c (ffecom_expr_): Handle opANY in opCONVERT. | |
3581 | (ffecom_let_char_): Disregard destinations with ERROR_MARK. | |
3582 | (ffecom_1, ffecom_1_fn, ffecom_2, ffecom_2s, ffecom_3, | |
3583 | ffecom_3s, &c): Check all inputs for error_mark_node. | |
3584 | (ffecom_start_progunit_): Don't transform all symbols | |
3585 | in BLOCK DATA, since it never executes, and it is silly | |
3586 | to, e.g., generate all the structures for NAMELIST. | |
3587 | (ffecom_char_length_expr_): Rename to ffecom_intrinsic_len_. | |
3588 | (ffecom_intrinsic_ichar_): New function to handle ICHAR of | |
3589 | arbitrary expression with possible 0-length operands. | |
3590 | (ffecom_expr_intrinsic_): Use ffecom_intrinsic_char_. | |
3591 | For MVBITS, set tree_type to void_type_node. | |
3592 | (ffecom_start_progunit_): Name master function for entry points | |
3593 | after primary entry point so users can easily guess it while | |
3594 | debugging. | |
3595 | (ffecom_arg_ptr_to_expr): Change treatment of Hollerith, | |
3596 | Typeless, and %DESCR. | |
3597 | (ffecom_expr_): Change treatment of Hollerith. | |
3598 | ||
3599 | * data.c (ffedata_gather_): Handle opANY in opCONVERT. | |
3600 | ||
3601 | * expr.c (ffeexpr_token_apostrophe_): Issue FFEBAD_NULL_CHAR_CONST | |
3602 | warning as necessary. | |
3603 | (ffeexpr_token_name_rhs_): Set context for args to intrinsic | |
3604 | so that assignment-like concatenation is allowed for ICHAR(), | |
3605 | IACHAR(), and LEN() intrinsics. | |
3606 | (ffeexpr_reduced_*_): Say "an array" instead of "an entity" in | |
3607 | diagnostics, since it's more informative. | |
3608 | (ffeexpr_finished_): For many contexts, check for null expression | |
3609 | and array before trying to do a conversion, to avoid redundant | |
3610 | diagnostics. | |
3611 | ||
3612 | * g77.1: Fix typo for preprocessed suffix (.F, not .f). | |
3613 | ||
3614 | * global.c (ffeglobal_init_common): Warn if initializing | |
3615 | blank common. | |
3616 | (ffeglobal_pad_common): Enable code to warn if initial | |
3617 | padding needed. | |
3618 | (ffeglobal_size_common): Complain if enlarging already- | |
3619 | initialized common, since it won't work right anyway. | |
3620 | ||
3621 | * intrin.c: Add IMAG() intrinsic. | |
3622 | (ffeintrin_check_loc_): Allow opSUBSTR in LOC(). | |
3623 | ||
3624 | * intrin.def: Add IMAG() intrinsic. | |
3625 | ||
3626 | * lex.c: Don't report FFEBAD_NULL_CHAR_CONST errors. | |
3627 | ||
3628 | * sta.c, sta.h, stb.c: Changes to clean up error messages (see | |
3629 | bad.def). | |
3630 | ||
3631 | * stb.c (ffestb_R100113_): Issue FFEBAD_NULL_CHAR_CONST | |
3632 | warning as necessary. | |
3633 | ||
3634 | * stc.c (ffestc_shriek_do_): Don't try to reference doref_line | |
3635 | stuff in ANY case, since it won't be valid. | |
3636 | (ffestc_R1227): Allow RETURN in main program unit, with | |
3637 | appropriate warnings/errors. | |
3638 | (ffestc_subr_format_): Array of any type is a CHAREXPR (F77 C5). | |
3639 | ||
3640 | * ste.c (ffeste_begin_doiter_): Couple of fixes to accurately | |
3641 | determine if loop never executes. | |
3642 | ||
3643 | * target.c (ffetarget_convert_*_hollerith_): Append spaces, | |
3644 | not zeros, to follow F77 Appendix C, and to warn when | |
3645 | truncation of non-blanks done. | |
3646 | (ffetarget_convert_*_typeless): Rewrite to do typeless | |
3647 | conversions properly, and warn when truncation done. | |
3648 | (ffetarget_print_binary, ffetarget_print_octal, | |
3649 | ffetarget_print_hex): Rewrite to use new implementation of | |
3650 | typeless. | |
3651 | (ffetarget_typeless_*): Rewrite to use new implementation | |
3652 | of typeless, and to warn about overflow. | |
3653 | ||
3654 | * target.h (ffetargetTypeless): New implementation of | |
3655 | this type. | |
3656 | ||
3657 | * type.h, type.c (ffetype_size_typeless): Remove (incorrect) | |
3658 | implementation of this function and its extern. | |
3659 | ||
3660 | Sun Mar 5 18:46:42 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3661 | ||
3662 | * BUGS: Clarify that constant handling would also fix lack of | |
3663 | adequate IEEE-754/854 support to some degree, and typeless | |
3664 | and non-decimal constants. | |
3665 | ||
3666 | * com.c (ffecom_type_permanent_copy_): Comment out to avoid | |
3667 | warnings. | |
3668 | (duplicate_decls): New function a la gcc/c-decl.c. | |
3669 | (pushdecl): Use duplicate_decls to decide whether to return | |
3670 | existing decl or new one, instead of always returning existing | |
3671 | decl. | |
3672 | (ffecom_expr_): opPERCENT_LOC now supports CHARACTER arguments. | |
3673 | (ffecom_init_0): Give f2c I/O code 0 for basictypeANY/kindtypeANY. | |
3674 | (ffecom_sym_transform_): For adjustable arrays, pass low bound | |
3675 | through variable_size in case its primaries are changed (950302-1.f). | |
3676 | ||
3677 | * com.h: More decls that belong in tree.h &c. | |
3678 | ||
3679 | * data.c (ffedata_eval_integer1_): Fix opPAREN case to not | |
3680 | treat value of expression as an error code. | |
3681 | ||
3682 | * expr.c (ffeexpr_finished_): Allow opSUBSTR in contextLOC case. | |
3683 | ||
3684 | * proj.c: Add "const" as appropriate. | |
3685 | ||
3686 | Mon Feb 27 10:04:03 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3687 | ||
3688 | * bad.def (FFEBAD_BAD_SUBSTR): Fix bad grammar in message. | |
3689 | ||
3690 | Fri Feb 24 16:21:31 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3691 | ||
3692 | * Version 0.5.13 released. | |
3693 | ||
3694 | * INSTALL: Warn that f/zzz.o will compare differently between | |
3695 | stages, since it puts the __TIME__ macro into a string. | |
3696 | ||
3697 | * com.c (ffecom_sym_transform_): Transform kindFUNCTION/whereDUMMY | |
3698 | to pointer-to-function, not function. | |
3699 | (ffecom_expr_): Use ffecom_arg_ptr_to_expr instead of | |
3700 | ffecom_char_args_ to handle comparison between CHARACTER | |
3701 | types, so either operand can be a CONCATENATE. | |
3702 | (ffecom_transform_common_): Set size of initialized common area | |
3703 | to global (largest-known) size, even though size of init might | |
3704 | be smaller. | |
3705 | ||
3706 | * equiv.c (ffeequiv_offset_): Check symbol info for ANY. | |
3707 | ||
3708 | * expr.c (ffeexpr_find_close_paren_, ffeexpr_nil_*): New functions | |
3709 | to handle following the contour of a rejected expression, so | |
3710 | statements like "PRINT(I,I,I)=0" don't cause the PRINT statement | |
3711 | code to get the second passed back to it as if there was a | |
3712 | missing close-paren before it, the comma causing the PRINT code | |
3713 | to confirm the statement, resulting in an ambiguity vis-a-vis | |
3714 | the let statement code. | |
3715 | Use the new ffecom_find_close_paren_ handler when an expected | |
3716 | close-paren is missing. | |
3717 | (ffeexpr_isdigits_): New function, use in all places that | |
3718 | currently use isdigit in repetitive code. | |
3719 | (ffeexpr_collapse_symter): Collapse to ANY if init-expr is ANY, | |
3720 | so as to avoid having symbol get "transformed" if used to | |
3721 | dimension an array. | |
3722 | (ffeexpr_token_real_, ffeexpr_token_number_real_): Don't issue | |
3723 | diagnostic about exponent, since it'll be passed along the | |
3724 | handler path, resulting in a diagnostic anyway. | |
3725 | (ffeexpr_token_apos_char_): Use consistent handler path | |
3726 | regardless of whether diagnostics inhibited. | |
3727 | (ffeexpr_token_name_apos_name_): Skip past closing quote/apos | |
3728 | even if not a match or other diagnostic issued. | |
3729 | (ffeexpr_sym_impdoitem_): Exec-transition local SEEN symbol. | |
3730 | ||
3731 | * lex.c (ffelex_image_char_): Set ffelex_saw_tab_ if TAB | |
3732 | seen, not if anything other than TAB seen! | |
3733 | ||
3734 | * stc.c (ffestc_R537_item): If source is ANY but dest isn't, | |
3735 | set dest symbol's init expr to ANY. | |
3736 | (ffestc_R501_attrib, ffestc_R522, ffestc_R522start): Complain | |
3737 | about conflict between "SAVE" by itself and other uses of | |
3738 | SAVE only in pedantic mode. | |
3739 | ||
3740 | * ste.c (ffeste_R1212): Fix loop over labels to always | |
3741 | increment caseno, to avoid pushcase returning 2 for duplicate | |
3742 | values when one of the labels is invalid. | |
3743 | ||
3744 | Thu Feb 23 12:42:04 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3745 | ||
3746 | * Version 0.5.12 released. | |
3747 | ||
3748 | * Make-lang.in (f77.install-common): Add "else true;" before outer | |
3749 | "fi" per Makefile.in patch. | |
3750 | ||
3751 | * Makefile.in (dircheck): Add "else true;" before "fi" per | |
3752 | patch from chs1pm@surrey.ac.uk. | |
3753 | ||
3754 | * com.c (ffecom_push_tempvar): If type desired is ERROR_MARK, | |
3755 | return error_mark_node, to avoid crash that results from | |
3756 | making a VAR_DECL with error_mark_node as its type. | |
3757 | ||
3758 | * ste.c (ffeste_begin_iterdo_): Convert itercount to INTEGER | |
3759 | anytime calculation of number of iterations ends up with type | |
3760 | other than INTEGER (e.g. DOUBLE PRECISION, REAL). | |
3761 | ||
3762 | Thu Feb 23 02:48:38 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3763 | ||
3764 | * Version 0.5.11 released. | |
3765 | ||
3766 | * DOC: Explain -fugly-args. | |
3767 | ||
3768 | * bad.def (FFEBAD_ACTUALARG): Explain -fugly-args and how to | |
3769 | rewrite code to not require it. | |
3770 | ||
3771 | * com.c (ffecom_vardesc_): Handle negative type code, just in | |
3772 | case. | |
3773 | (ffecom_arg_ptr_to_expr): Let ffecom_expr handle hollerith | |
3774 | and typeless constants (move code to ffecom_constantunion). | |
3775 | (ffecom_constantunion): Handle hollerith and typeless constants. | |
3776 | ||
3777 | * expr.c (ffecom_finished_): Check -fugly-args in actual-arg | |
3778 | context where hollerith/typeless provided. | |
3779 | ||
3780 | * intrin.def (FFEINTRIN_genDFLOAT): Add FFEINTRIN_specDFLOAT. | |
3781 | (FFEINTRIN_specDFLOAT): Add as f2c intrinsic. | |
3782 | ||
3783 | * target.h (ffetarget_convert_real[12]_integer, | |
3784 | ffetarget_convert_complex[12]_integer): Pass -1 for high integer | |
3785 | value if low part is negative. | |
3786 | (FFETARGET_defaultIS_UGLY_ARGS): New macro. | |
3787 | ||
3788 | * top.c (ffe_is_ugly_args_): New variable. | |
3789 | (ffe_decode_option): Handle -fugly-args and -fno-ugly-args. | |
3790 | ||
3791 | * top.h (ffe_is_ugly_args_, ffe_is_ugly_args(), | |
3792 | ffe_set_is_ugly_args()): New variable and macros. | |
3793 | ||
3794 | Thu Feb 23 02:48:38 1995 Pedro A M Vazquez (vazquez@iqm.unicamp.br) | |
3795 | ||
3796 | * g77.c (sys_errlist): Use const for __FreeBSD__ systems | |
3797 | as well. | |
3798 | ||
3799 | Wed Feb 22 13:33:43 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3800 | ||
3801 | * Version 0.5.10 released. | |
3802 | ||
3803 | * CREDITS: Add Rick Niles. | |
3804 | ||
3805 | * INSTALL: Note how to get around lack of makeinfo. | |
3806 | ||
3807 | * Make-lang.in (f/proj.h): Remove # comment. | |
3808 | ||
3809 | * Makefile.in (f/proj.h): Remove # comment. | |
3810 | ||
3811 | * com.c (ffecom_expr_): Simplify opFUNCREF/opSUBRREF conversion. | |
3812 | (ffecom_sym_transform_): For whereGLOBAL and whereDUMMY | |
3813 | kindFUNCTION, use ffecom_tree_fun_type[][] only for non-constant | |
3814 | (non-statement-function) f2c functions. | |
3815 | (ffecom_init_0): ffecom_tree_fun_type[][] and _ptr_to_*_* are | |
3816 | really f2c-interface arrays, so use base type void for COMPLEX | |
3817 | (like CHARACTER). | |
3818 | ||
3819 | Tue Feb 21 19:01:18 1995 Dave Love <d.love@dl.ac.uk> | |
3820 | ||
3821 | * Make-lang.in (f77.install-common): Expurgate the test for and | |
3822 | possible installation of f2c in line with elsewhere. Seems to have | |
3823 | been missing a semicolon anyhow! | |
3824 | ||
3825 | Tue Feb 21 11:45:25 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3826 | ||
3827 | * Version 0.5.9 released. | |
3828 | ||
3829 | * Make-lang.in (f/proj.h): touch file to register update, | |
3830 | because the previous commands won't necessarily modify it. | |
3831 | ||
3832 | * Makefile.in (f/proj.h): touch file to register update, | |
3833 | because the previous commands won't necessarily modify it. | |
3834 | ||
3835 | * Makefile.in (f/str-*.h, f/str-*.j): Explicitly specify | |
3836 | output file names, so these targets go in build, not source, | |
3837 | directory. | |
3838 | ||
3839 | * bits.c, bits.h: Switch to valid ANSI C replacement for | |
3840 | ARRAY_ZERO. | |
3841 | ||
3842 | * com.c (ffecom_expr_): Add assignp arg to support ASSIGN better. | |
3843 | If assignp is TRUE, use different tree for FFEBLD_opSYMTER case. | |
3844 | (ffecom_sym_transform_assign_): New function. | |
3845 | (ffecom_expr_assign): New function. | |
3846 | (ffecom_expr_assign_w): New function. | |
3847 | ||
3848 | * com.c (ffecom_f2c_make_type_): Do make_signed_type instead | |
3849 | of make_unsigned_type throughout. | |
3850 | ||
3851 | * com.c (ffecom_finish_symbol_transform_): Expand scope of | |
3852 | commented-out code to probably produce faster compiler code. | |
3853 | ||
3854 | * com.c (ffecom_gen_sfuncdef_): Push/pop calltemps so | |
3855 | COMPLEX works right. | |
3856 | Remove obsolete comment. | |
3857 | ||
3858 | * com.c (ffecom_start_progunit_): If non-multi alt-entry | |
3859 | COMPLEX function, primary (static) entry point returns result | |
3860 | directory, not via extra arg -- to agree with ffecom_return_expr | |
3861 | and others. | |
3862 | Pretransform all symbols so statement functions are defined | |
3863 | before any code emitted. | |
3864 | ||
3865 | * com.c (ffecom_finish_progunit): Don't posttransform all | |
3866 | symbols here -- pretransform them instead. | |
3867 | ||
3868 | * com.c (ffecom_init_0): Don't warn about possible ASSIGN | |
3869 | crash, as this shouldn't happen now. | |
3870 | ||
3871 | * com.c (ffecom_push_tempvar): Fix to handle temp vars | |
3872 | pushed while context is a statement (nested) function, and | |
3873 | add appropriate commentary. | |
3874 | ||
3875 | * com.c (ffecom_return_expr): Check TREE_USED to determine | |
3876 | where return value is unset. | |
3877 | ||
3878 | * com.h (struct _ffecom_symbol_): Add note about length_tree | |
3879 | now being used to keep tree for ASSIGN version of symbol. | |
3880 | ||
3881 | * com.h (ffecom_expr_assign, ffecom_expr_assign_rw): New decls. | |
3882 | (error): Add this prototype for back-end function. | |
3883 | ||
3884 | * fini.c (main): Grab input, output, and include names | |
3885 | directly off the command line instead of making the latter | |
3886 | two out of the first. | |
3887 | ||
3888 | * lex.c: Improve tab handling for both fixed and free source | |
3889 | forms, and ignore carriage-returns on input, while generally | |
3890 | improving the code. ffelex_handle_tab_ has been renamed and | |
3891 | reinvented as ffelex_image_char_, among other things. | |
3892 | ||
3893 | * malloc.c, malloc.h: Switch to valid ANSI C replacement for | |
3894 | ARRAY_ZERO, and kill the full number of bytes in pools and | |
3895 | areas. | |
3896 | ||
3897 | * proj.h.in (ARRAY_ZERO, ARRAY_ZERO_SIZE): Remove. | |
3898 | ||
3899 | * ste.c (ffeste_io_cilist_, ffeste_io_icilist_, ffeste_R838, | |
3900 | ffeste_R839): Issue diagnostic if a too-narrow variable used in an | |
3901 | ASSIGN context despite changes to this code and code in com.c. | |
3902 | ||
3903 | * where.c, where.h: Switch to valid ANSI C replacement for | |
3904 | ARRAY_ZERO. | |
3905 | ||
3906 | Fri Feb 17 03:35:19 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3907 | ||
3908 | * Version 0.5.8 released. | |
3909 | ||
3910 | * INSTALL: In quick-build case, list g77 target first so g77 | |
3911 | gets installed. Also, explain that gcc gets built and installed | |
3912 | as well, even though this isn't really what we want (and maybe | |
3913 | we'll find a way around this someday). | |
3914 | ||
3915 | Fri Feb 17 02:35:41 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3916 | ||
3917 | * Version 0.5.7 released. | |
3918 | ||
3919 | * Makefile.in (CONFIG_H, HCONFIG_H, TCONFIG_H, TM_H): Remove | |
3920 | ../ prefix in front of .h files, since they're in the cd. | |
3921 | ||
3922 | Fri Feb 17 01:50:48 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3923 | ||
3924 | * Version 0.5.6 released. | |
3925 | ||
3926 | Thu Feb 16 20:26:54 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3927 | ||
3928 | * ../README.g77: Remove description of g77 as "not-yet-published". | |
3929 | ||
3930 | * CREDITS: More changes. | |
3931 | ||
3932 | * Make-lang.in (G77STAGESTUFF): Remove cktyps stuff. | |
3933 | ||
3934 | * Makefile.in (CONFIG_H, HCONFIG_H, TCONFIG_H, TM_H): Don't | |
3935 | prefix gcc dir with $(srcdir) since these don't live there, | |
3936 | they are created in the build dir by gcc's configure. Add | |
3937 | a note explaining what these macros are about. | |
3938 | Update dependencies via deps-kinda. | |
3939 | ||
3940 | * README.NEXTSTEP: Credit Toon, and per his request, add his | |
3941 | email address. | |
3942 | ||
3943 | * com.h (FFECOM_DETERMINE_TYPES): #include "config.j". | |
3944 | ||
3945 | * config.j, convert.j, flags.j, hconfig.j, rtl.j, tconfig.j, | |
3946 | tm.j, tree.j: Don't #include if already done. | |
3947 | ||
3948 | * convert.j: #include "tree.j" first, as convert.h clearly depends | |
3949 | on trees being defined. | |
3950 | ||
3951 | * rtl.j: #include "config.j" first, since there's some stuff | |
3952 | in rtl.h that assumes it has been #included. | |
3953 | ||
3954 | * tree.j: #include "config.j" first, or real.h makes inconsistent | |
3955 | decision about return type of ereal_atof, leading to bugs, and | |
3956 | because tree.h/real.h assume config.h already included. | |
3957 | ||
3958 | Wed Feb 15 14:40:20 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3959 | ||
3960 | * Version 0.5.5 released. | |
3961 | ||
3962 | * Copyright notices updated to be FSF-style. | |
3963 | ||
3964 | * INSTALL: Some more clarification regarding building just f77. | |
3965 | ||
3966 | * Make-lang.in (F77_SRCS): Update wrt changing some .h to .j. | |
3967 | (install-libf77): Fix typo in new parenthetical note. | |
3968 | ||
3969 | * Makefile.in (f/*.o): Update. | |
3970 | (CONFIG_H, CONVERT_H, FLAGS_H, GLIMITS_H, HCONFIG_H, RTL_H, | |
3971 | TCONFIG_H, TM_H, TREE_H): Update/new symbols. | |
3972 | (deps-kinda): More fixes wrt changing some .h to .j. | |
3973 | Document and explain this rule a bit better. | |
3974 | Accommodate changes in output of gcc -MM. | |
3975 | ||
3976 | * *.h, *.c: Change #include's so proj.h not assumed to #include | |
3977 | malloc.h or config.h (now config.j), and so new .j files are | |
3978 | used instead of old .h ones. | |
3979 | ||
3980 | * com.c (ffecom_init_0): Use FLOAT_TYPE_SIZE for f2c's | |
3981 | TYLONG/TYLOGICAL type codes, to get g77 working on Alpha. | |
3982 | ||
3983 | * com.h: Make all f2c-related integral types "int", not "long | |
3984 | int". | |
3985 | ||
3986 | * config.j, convert.j, flags.j, glimits.j, hconfig.j, rtl.j, | |
3987 | tconfig.j, tm.j, tree.j: New files wrapping around gbe | |
3988 | .h files. | |
3989 | ||
3990 | * config.h, convert.h, flags.h, glimits.h, hconfig.h, rtl.h, | |
3991 | tconfig.h, tm.h, tree.h: Deleted so new .j files | |
3992 | can #include the gbe files directly, instead of using "../", | |
3993 | and thus do better with various kinds of builds. | |
3994 | ||
3995 | * proj.h: Delete unused NO_STDDEF and related stuff. | |
3996 | ||
3997 | Tue Feb 14 08:28:08 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
3998 | ||
3999 | * BUGS: Remove item #12, cross-compiling & autoconf scripts | |
4000 | reportedly expected to work properly (according to d.love). | |
4001 | ||
4002 | * INSTALL: Add explanation of d.love's patch to config-lang.in. | |
4003 | Add explanation of how to install just g77 when gcc already installed. | |
4004 | Add note about usability of "-Wall". Add note about bug- | |
4005 | reporting. | |
4006 | ||
4007 | * Make-lang.in ($(srcdir)/f/conf-proj): Add comment about why | |
4008 | conf-proj.out. | |
4009 | (install-libf77): Echo parenthetical note to user about how to do | |
4010 | just the (aborted) libf2c installation. | |
4011 | (deps-kinda): Update to work with new configuration/build stuff. | |
4012 | ||
4013 | * bad.c (ffebad_finish): Put capitalized "warning:" &c message | |
4014 | as prefix on any diagnostic without pointers into source. | |
4015 | ||
4016 | * bad.def (FFEBAD_TOO_BIG_INIT): Add this warning message. | |
4017 | ||
4018 | * config-lang.in: Add Dave Love's patch to catch case where | |
4019 | back-end patches not applied and abort configuration. | |
4020 | ||
4021 | * data.c (ffedata_gather_, ffedata_value_): Warn when about | |
4022 | to initialize a large aggregate area, due to design flaw resulting | |
4023 | in too much time/space used to handle such cases. | |
4024 | Use COMMON area name, and first notice of symbol, for multiple- | |
4025 | initialization diagnostic, instead of member symbol and unknown | |
4026 | location. | |
4027 | (FFEDATA_sizeTOO_BIG_INIT_): New macro per above. | |
4028 | ||
4029 | Mon Feb 13 13:54:26 1995 Dave Love <d.love@dl.ac.uk> | |
4030 | ||
4031 | * Make-lang.in (F77_SRCS): Use $(srcdir)/f/proj.h.in, not | |
4032 | $(srcdir)/f/proj.h for build outside srcdir. | |
4033 | ||
4034 | Sun Feb 12 13:37:11 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
4035 | ||
4036 | * ../README.g77: Clarify procedures for unpacking, add asterisks | |
4037 | to mark important things the user must do. | |
4038 | ||
4039 | * Fix dates in/add dates to ../README.g77, BUGS, CREDITS, DOC, | |
4040 | INSTALL, PROJECTS, README. | |
4041 | ||
4042 | Sun Feb 12 00:26:10 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
4043 | ||
4044 | * Version 0.5.4 released. | |
4045 | ||
4046 | * Make-lang.in (f/proj.h): Reproduce this rule here from | |
4047 | Makefile.in. | |
4048 | ($(srcdir)/f/conf-proj): Put autoconf's stdout in temp file | |
4049 | conf-proj.out, then mv to conf-proj only if successful, so | |
4050 | conf-proj not touched if autoconf not installed. | |
4051 | ||
4052 | * Makefile.in ($(srcdir)/conf-proj): See Make-lang.in's similar | |
4053 | rule. | |
4054 | ||
4055 | Sat Feb 11 20:56:02 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
4056 | ||
4057 | * BUGS: Clarify some bugs. | |
4058 | ||
4059 | * DOC: Many improvements and fixes. | |
4060 | ||
4061 | * README: Move bulk of text, edited, to ../README.g77, and | |
4062 | replace with pointer to that file. | |
4063 | ||
4064 | * com.c (ffecom_init_0): Comment out warning about sizeof(ftnlen) | |
4065 | as per ste.c change. Add text about ASSIGN to help user understand | |
4066 | what is being warned about. | |
4067 | ||
4068 | * conf-proj.in: Fix typos in comments. | |
4069 | ||
4070 | * proj.h.in: Add ARRAY_ZERO_SIZE to parallel malloc.h's version, | |
4071 | in case it proves to be needed. | |
4072 | ||
4073 | * ste.c: Comment out assertions requiring sizeof(ftnlen) >= | |
4074 | sizeof(char *), in the hopes that overflow will never happen. | |
4075 | (ffeste_R838): Change assertion to fatal() with at least | |
4076 | partially helpful message. | |
4077 | ||
4078 | Sat Feb 11 12:38:00 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
4079 | ||
4080 | * com.c (ffecom_vardesc_): Crash if typecode is -1. | |
4081 | ||
4082 | * ste.c (ffeste_io_dolio_): Crash if typecode is -1. | |
4083 | ||
4084 | Sat Feb 11 09:51:57 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
4085 | ||
4086 | * ste.c: In I/O code tests for item arrayness, sort of revert | |
4087 | to much earlier code that tests original exp, but also check | |
4088 | in newer way just in case. Newer way alone treated FOO(1:40) | |
4089 | as an array, not sure why older way alone didn't work, but I | |
4090 | think maybe it was when diagnosed code was involved, and | |
4091 | since there are now checks for error_mark_node, maybe the old | |
4092 | way alone would work. But better to be safe; both original | |
4093 | ffebld exp _and_ the transformed tree must indicate an array | |
4094 | for the size-determination code to be used, else just 1/2 elements | |
4095 | assumed. And this text is for EMACS: (foo at bar). | |
4096 | ||
4097 | Fri Feb 10 11:05:50 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
4098 | ||
4099 | * ste.c: In many cases, surround statement-expansion code | |
4100 | with ffecom_push_calltemps () and ffecom_pop_calltemps () | |
4101 | so COMPLEX-returning functions can have temporaries pushed | |
4102 | in "auto-pop" mode and have them auto-popped at the end of | |
4103 | the statement. | |
4104 | ||
4105 | Wed Feb 8 14:35:10 1995 Dave Love <d.love@dl.ac.uk> | |
4106 | ||
4107 | * runtime/f2c.h.in (ftnlen, ftnint): Make same size as integer. | |
4108 | ||
4109 | * runtime/libI77/err.c (f_init): Thinko in MISSING_FILE_ELEMS | |
4110 | conditional. | |
4111 | * runtime/libI77/wrtfmt.c (mv_cur): Likewise. | |
4112 | * runtime/libI77/wsfe.c (x_putc): Likewise. | |
4113 | ||
4114 | * runtime/libF77/signal_.c (signal_): Return 0 (this is a | |
4115 | subroutine). | |
4116 | ||
4117 | * Makefile.in (f/proj.h): Depend on com.h. | |
4118 | * Make-lang.in (include/f2c.h): Likewise (and proj.h). | |
4119 | (install-libf77): Also install f2c.h. | |
4120 | ||
4121 | * runtime/libI77/Makefile.in (*.o): Add f2c.h dependency. | |
4122 | * runtime/libF77/Makefile.in: Likewise. | |
4123 | ||
4124 | Wed Feb 8 13:56:47 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
4125 | ||
4126 | * stc.c (ffestc_R501_item): Don't reset kind/where to NONE when | |
4127 | setting basictype/kindtype info for symbol, or especially | |
4128 | its function/result twin, because kind/where might not be NONE. | |
4129 | ||
4130 | Tue Feb 7 14:47:26 1995 Dave Love <d.love@dl.ac.uk> | |
4131 | ||
4132 | * Make-lang.in (include/f2c.h:): Set shell variable src more | |
4133 | robustly (independent of whether srcdir is relative or absolute). | |
4134 | * Makefile.in (f/proj.h:): Likewise. | |
4135 | ||
4136 | * conf-proj.in: Check need for LAME_ASSERT. Fix indentation in | |
4137 | check for LAME_STDIO (cosmetic only with ANSI C). | |
4138 | ||
4139 | * com.h: Extra ...SIZE stuff taken from com.c. | |
4140 | ||
4141 | * com.c (FFECOM_DETERMINE_TYPES): Define before including com.h. | |
4142 | (BITS_PER_WORD etc.) Remove and use conditional definitions to com.h. | |
4143 | ||
4144 | * runtime/configure.in: #define FFECOM_DETERMINE_TYPES for com.h in | |
4145 | f2c type determination. | |
4146 | ||
4147 | * tm.h: Remove (at least pro tem) because of relative path and use | |
4148 | top-level one. | |
4149 | ||
4150 | * Make-lang.in (include/f2c.h:): Set shell variable src more | |
4151 | robustly (independent of whether srcdir is relative or absolute). | |
4152 | * Makefile.in (f/proj.h:): Likewise. | |
4153 | ||
4154 | Mon Feb 6 19:58:32 1995 Dave Love <d.love@dl.ac.uk> | |
4155 | ||
4156 | * g77.c (append_arg): Use K&R declaration for, e.g. SunOS4 build. | |
4157 | ||
4158 | Fri Feb 3 20:33:14 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
4159 | ||
4160 | * g77.c (main): Treat -l like filename in terms of -x handling. | |
4161 | Rewrite arglist mechanism for ease of maintenance. | |
4162 | Make sure every -lf2c is followed by -lm and vice versa. | |
4163 | ||
4164 | * Make-lang.in: Put complete list of sources in F77_SRCS def | |
4165 | so changing a .h file, for example, causes rebuild. | |
4166 | ||
4167 | * Makefile.in: Change test for nextstep to m68k-next-nextstep* so | |
4168 | all versions of nextstep on m68k get the necessary flag. | |
4169 | ||
4170 | Fri Feb 3 19:10:32 1995 Dave Love <d.love@dl.ac.uk> | |
4171 | ||
4172 | * INSTALL: Note about possible conflict with existing libf2c.a and | |
4173 | f2c.h. | |
4174 | ||
4175 | * Make-lang.in (f77.distclean): Tidy and move deletion of | |
4176 | f/config.cache to mostlyclean. | |
4177 | (install-libf77): Test for $(libdir)/libf2c.* and barf if found | |
4178 | unless F2CLIBOK defined. | |
4179 | ||
4180 | * runtime/Makefile.in (all): Change path to include directory (and | |
4181 | elsewhere). | |
4182 | (INCLUDES): Remove (unused/misleading). | |
4183 | (distclean): Include f2c.h. | |
4184 | (clean): Include config.cache. | |
4185 | ||
4186 | * runtime/libF77/Makefile.in (.SUFFIXES): Correct typo. | |
4187 | (ALL_CFLAGS) Fix up include search path to find f2c.h in top level | |
4188 | includes always. | |
4189 | (all): Depend on f2c.h. | |
4190 | * runtime/libI77/Makefile.in (.SUFFIXES): Likewise. | |
4191 | ||
4192 | Thu Feb 2 17:17:06 1995 Dave Love <d.love@dl.ac.uk> | |
4193 | ||
4194 | * INSTALL: Note about --srcdir and GNU make. | |
4195 | ||
4196 | * runtime/f2c.h.in (Pad_UDread, ALWAYS_FLUSH): Reomve the #defines | |
4197 | per below. | |
4198 | ||
4199 | * runtime/configure.in (Pad_UDread, ALWAYS_FLUSH): Define these | |
4200 | here, not in f2c.h as they'r eonly relevant for building. | |
4201 | * runtime/configure: Regenerated. | |
4202 | ||
4203 | * config-lang.in: Warn about using GNU make outside source tree | |
4204 | since I can't get Irix5 or SunOS4 makes to work in this case. | |
4205 | ||
4206 | * Makefile.in (VPATH): Don't set it here. | |
4207 | (srcdir): Make it the normal `.' (overridden) at top level. | |
4208 | (all.indirect): New dependency `dircheck'. | |
4209 | (f771): Likewise | |
4210 | (dircheck): New target for foolproofing. | |
4211 | (f/proj.h:): Change finding source. | |
4212 | (CONFIG_H): Don't use this as the relative path in the include loses | |
4213 | f builddir != srcdir. | |
4214 | ||
4215 | * config.h: Remove per CONFIG_H change above. | |
4216 | ||
4217 | * Make-lang.in (F77_FLAGS_TO_PASS): Remove GCC_FOR_TARGET. | |
4218 | (f771:): Pass VPATH, srcdir to sub-make. | |
4219 | (f/Makefile:): New target. | |
4220 | (stmp-int-hdrs): new variable for cheating build. | |
4221 | (f77-runtime:): Alter GCC_FOR_TARGET treatment. | |
4222 | (include/f2c.h f/runtime/Makefile:) Likewise. | |
4223 | (f77-runtime-unsafe:): New (cheating) target. | |
4224 | ||
4225 | Thu Feb 2 12:09:51 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
4226 | ||
4227 | * BUGS: Update regarding losing EQUIVALENCE members in -g, and | |
4228 | regarding RS/6000 problems in the back end. | |
4229 | ||
4230 | * CREDITS: Make some changes as requested. | |
4231 | ||
4232 | * com.c (ffecom_member_trunk_): Remove unused static variable. | |
4233 | (ffecom_finish_symbol_transform_): Improve comments. | |
4234 | (ffecom_let_char_): Fix size of temp address-type var. | |
4235 | (ffecom_member_phase2_): Try fixing problem fixed by change | |
4236 | to ffecom_transform_equiv_ (f_m_p2_ function currently not used). | |
4237 | (ffecom_transform_equiv_): Remove def of unused static variable. | |
4238 | Comment-out use of ffecom_member_phase2_, until problems with | |
4239 | back end fixed. | |
4240 | (ffecom_push_tempvar): Fix assertion to not crash okay code. | |
4241 | ||
4242 | * com.h: Remove old, commented-out code. | |
4243 | Add prototype for warning() in back end. | |
4244 | ||
4245 | * ste.c (ffeste_io_dofio_, ffeste_io_dolio_, ffeste_io_douio_, | |
4246 | ffeste_io_icilist_): Check correct type of variable for arrayness. | |
4247 | ||
4248 | Sun Jan 29 14:41:42 1995 Dave Love <d.love@dl.ac.uk> | |
4249 | ||
4250 | * BUGS: Remove references to my configure bugs; add another. | |
4251 | ||
4252 | * runtime/Makefile.in (AR_FLAGS): Provide default value. | |
4253 | ||
4254 | * runtime/f2c.h.in (integer, logical): Take typedefs from | |
4255 | F2C_INTEGER configuration parameter again. | |
4256 | (NON_UNIX_STDIO): don't define it. | |
4257 | ||
4258 | * runtime/configure.in: Bring type checks for f2c.h in line with | |
4259 | com.h. | |
4260 | (MISSING_FILE_ELEMS): New variable to determine whether the relevant | |
4261 | elements of the FILE struct exist, independent of NON_UNIX_STDIO. | |
4262 | * runtime/libI77/{err,wrtfmt,wsfe}.c (MISSING_FILE_ELEMS): Use new | |
4263 | parameter. | |
4264 | ||
4265 | * config-lang.in: Comment out more of f2c rules (c.f. Make-lang.in). | |
4266 | (This stuff is relevant iff you gave configure --enable-f2c.) | |
4267 | Create f/runtime directory tree iff not building in source | |
4268 | directory. | |
4269 | ||
4270 | * Makefile.in (srcdir): Append slash so we get the right value when | |
4271 | not building in the source directory. This is a consequence of not | |
4272 | building the `f' sources in `f'. | |
4273 | (VPATH): Override configure's value for reasons above. | |
4274 | (f/proj.h f/conf-proj): New rules to build proj.h by | |
4275 | autoconfiguration. | |
4276 | ||
4277 | * proj.h: Rename to proj.h.in for autoconfiguration. | |
4278 | * proj.h.in: New as above. | |
4279 | * conf-proj conf-proj.in: New files for autoconfiguration. | |
4280 | ||
4281 | * Make-lang.in (include/f2c.h f/runtime/Makefile:): Change the order | |
4282 | of setting the sh variables so that the right GCC_FOR_TARGET is | |
4283 | used. | |
4284 | (f77.*clean:) Add products of new configuration files and make sure | |
4285 | all the *clean targets do something (unlike the ones in | |
4286 | cp/Make-lange.in). | |
4287 | ||
4288 | * com.h (FFECOM_f2cINTEGER, FFECOM_f2cLOGICAL): Define as long or | |
4289 | int appropriately to ensure sizeof(real) == sizeof(integer). | |
4290 | ||
4291 | * PROJECTS: Library section. | |
4292 | ||
4293 | * runtime/libI77/endfile.c: Don't #include sys/types.h conditional | |
4294 | on NON_UNIX_STDIO since rawio.h needs size_t. | |
4295 | * runtime/libI77/uio.c: #include <sys/types.h> for size_t if not | |
4296 | KR_headers. | |
4297 | ||
4298 | Wed Jan 25 03:31:51 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
4299 | ||
4300 | * Version 0.5.3 released. | |
4301 | ||
4302 | * INSTALL: Revise. | |
4303 | ||
4304 | * Make-lang.in: Comment out rules for building f2c itself (f/f2c/). | |
4305 | ||
4306 | * README: Revise. | |
4307 | ||
4308 | * com.c (ffecom_init_0): Warn if ftnlen or INTEGER not big enough | |
4309 | to hold a char *. | |
4310 | ||
4311 | * gbe/2.6.2.diff: Update. | |
4312 | ||
4313 | Mon Jan 23 17:10:49 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
4314 | ||
4315 | * TODO: Remove. | |
4316 | BUGS: New file. | |
4317 | PROJECTS: New file. | |
4318 | CREDITS: New file. | |
4319 | ||
4320 | * cktyps*: Remove. | |
4321 | Make-lang.in: Remove cktyps stuff. | |
4322 | Makefile.in: Remove cktyps stuff. | |
4323 | ||
4324 | * DOC: Add info on changes for 0.5.3. | |
4325 | ||
4326 | * bad.c: Put "warning:" &c on diagnostic messages. | |
4327 | Don't output informational messages if warnings disabled. | |
4328 | ||
4329 | Thu Jan 19 12:38:13 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
4330 | ||
4331 | * g77.c: Avoid putting out useless "-xnone -xf77" pairs so | |
4332 | larger command lines can be accommodated. | |
4333 | Recognize both `-xlang' and `-x lang'. | |
4334 | Recognize `-xnone' and `-x none' to mean what it does, instead | |
4335 | of treating "none" as any other language. | |
4336 | Some minor, slight improvements in the way args are handled | |
4337 | (hopefully for clearer, more maintainable code), including | |
4338 | consistency checks on arg count just in case. | |
4339 | ||
4340 | Wed Jan 18 16:41:57 1995 Craig Burley (burley@gnu.ai.mit.edu) | |
4341 | ||
4342 | * DOC: Explain -fautomatic better. | |
4343 | ||
4344 | * INSTALL: Describe libf2c.a better. | |
4345 | ||
4346 | * Make-lang.in, Makefile.in: Build f771 &c with gcc/ as cd instead | |
4347 | of gcc/f/ so debugging info is better (source file tracking). | |
4348 | Add new source file type.c. | |
4349 | ||
4350 | * Makefile.in: For nextstep3, link f771 with -segaddr __DATA | |
4351 | 6000000. Fix typo. Change deps-kinda target to handle building | |
4352 | from gcc/. Update dependencies. | |
4353 | ||
4354 | * bld-op.def, bld.h, bld.c: Remove opBACKEND and all related | |
4355 | stuff. | |
4356 | Remove consistency tests that cause compiler warnings. | |
4357 | ||
4358 | * cktyps.c: Remove all typing checking. | |
4359 | ||
4360 | * com-rt.def: Change all rttypeFLOAT_ intrinsics to rttypeDOUBLE_, | |
4361 | to precisely match how they're declared in libf2c. | |
4362 | ||
4363 | * com.h, com.c: Revise to more elegantly track related stuff | |
4364 | in the version of f2c.h used to build libf2c. | |
4365 | ||
4366 | * com.c: Increase FFECOM_sizeMAXSTACKITEM, and if 0 or undefined | |
4367 | when checked to determine where to put entity, treat as infinite. | |
4368 | Rewrite temporary mechanism to be based on trees instead of | |
4369 | ffeinfo stuff, and make it much simpler. Change interface | |
4370 | accordingly. | |
4371 | Fixes to better track types of things, make appropriate | |
4372 | conversions, etc. E.g. when making an arg for a libf2c | |
4373 | function, make sure it's of the right type (such as ftnlen). | |
4374 | Delete opBACKEND transformation code. | |
4375 | (ffecom_init_0): Smoother initialization of types, especially | |
4376 | paying attention to using consistent rules for making INTEGER, | |
4377 | REAL, DOUBLE PRECISION, etc., and for deciding their "*N" | |
4378 | and kind values that will work across all g77 platforms. | |
4379 | No longer require per-target configuration info in target.h | |
4380 | or config/*/*; use new type module to store size, alignment. | |
4381 | (ffecom_member_phase2): Declare COMMON/EQUIVALENCE group members | |
4382 | so debugger sees them. | |
4383 | (ffecom_finish_progunit): Transform all symbols in program unit, | |
4384 | so -g will show they all exist. | |
4385 | ||
4386 | * expr.c (ffeexpr_collapse_substr): Handle strange substring | |
4387 | range values. | |
4388 | ||
4389 | * info.h, info.c: Provide connection to new type module. | |
4390 | Remove tests that yield compiler warnings. | |
4391 | ||
4392 | * intrin.c (ffeintrin_is_intrinsic): Properly handle deleted | |
4393 | intrinsic. | |
4394 | ||
4395 | * lex.c (ffelex_file_fixed): Remove redundant/buggy code. | |
4396 | ||
4397 | * stc.c (ffestc_kindtype_kind_, ffestc_kindtype_star_): Replace | |
4398 | boring switch stmt with simple call to new type module. This | |
4399 | sort of thing is a reason to get up in the morning. | |
4400 | ||
4401 | * ste.c: Update to handle new interface for | |
4402 | ffecom_push/pop_tempvar. | |
4403 | Fixes to better track types of things. | |
4404 | Fixes to not crash for certain diagnosed constructs. | |
4405 | (ffeste_begin_iterdo_): Check only constants for overflow to avoid | |
4406 | spurious diagnostics. | |
4407 | Don't convert larger integer (say, INTEGER*8) to canonical integer | |
4408 | for iteration count. | |
4409 | ||
4410 | * stw.h: Track DO iteration count temporary variable. | |
4411 | ||
4412 | * symbol.c: Remove consistency tests that cause compiler warnings. | |
4413 | ||
4414 | * target.c (ffetarget_aggregate_info): Replace big switch with | |
4415 | little call to new type module. | |
4416 | (ffetarget_layout): Remove consistency tests that cause | |
4417 | compiler warnings. | |
4418 | (ffetarget_convert_character1_typeless): Pick up length of | |
4419 | typeless type from new type module. | |
4420 | ||
4421 | * target.h: Crash build if target float bit pattern cannot be | |
4422 | precisely determined. | |
4423 | Remove all the type cruft now determined by ffecom_init_0 | |
4424 | at invocation time and maintained in new type module. | |
4425 | Put casts on second arg of all REAL_VALUE_TO_TARGET_DOUBLE | |
4426 | uses so compiler warnings avoided (requires target float bit | |
4427 | pattern to be precisely determined, hence code to crash build). | |
4428 | ||
4429 | * top.c: Add inits/terminates for new type module. | |
4430 | ||
4431 | * type.h, type.c: New module. | |
4432 | ||
4433 | * gbe/2.6.2.diff: Remove all patches to files in gcc/config/ | |
4434 | directory and its subdirectories. | |
4435 | ||
4436 | Mon Jan 9 19:23:25 1995 Dave Love <d.love@dl.ac.uk> | |
4437 | ||
4438 | * com.h (FFECOM_F2C_INTEGER_TYPE_NODE): Define and use instead of | |
4439 | long_integer_type_node where appropriate. | |
4440 | ||
4441 | Tue Jan 3 14:56:18 1995 Dave Love <d.love@dl.ac.uk> | |
4442 | ||
4443 | * com.h: Make ffecom_f2c_logical_type_node long, consistent with | |
4444 | integer. | |
4445 | ||
4446 | Fri Dec 2 20:07:37 1994 Dave Love <d.love@dl.ac.uk> | |
4447 | ||
4448 | * config-lang.in (stagestuff): Add f2c conditionally. | |
4449 | * Make-lang.in: Add f2c and related targets. | |
4450 | * f2c: Add the directory. | |
4451 | ||
4452 | Fri Nov 25 22:17:26 1994 Dave Love <d.love@dl.ac.uk> | |
4453 | ||
4454 | * Makefile.in (FLAGS_TO_PASS): pass $(CROSS) | |
4455 | * Make-lang.in: more changes to runtime targets | |
4456 | ||
4457 | Thu Nov 24 18:03:21 1994 Dave Love <d.love@dl.ac.uk> | |
4458 | ||
4459 | * Makefile.in (FLAGS_TO_PASS): define for sub-makes | |
4460 | ||
4461 | * g77.c (main): change f77-cpp-output to f77-cpp-input (.F files) | |
4462 | ||
4463 | Wed Nov 23 15:22:53 1994 Dave Love <d.love@dl.ac.uk> | |
4464 | ||
4465 | * bad.c (ffebad_finish): kluge to fool emacs19 into finding errors: | |
4466 | add trailing space to <file>:<line>: | |
4467 | ||
4468 | Tue Nov 22 11:30:50 1994 Dave Love <d.love@dl.ac.uk> | |
4469 | ||
4470 | * runtime/libF77/signal_.c (RETSIGTYPE): added | |
4471 | ||
4472 | Mon Nov 21 13:04:13 1994 Dave Love <d.love@dl.ac.uk> | |
4473 | ||
4474 | * Makefile.in (compiler): add runtime | |
4475 | ||
4476 | * config-lang.in (stagestuff): add libf2c.a to stagestuff | |
4477 | ||
4478 | * Make-lang.in: | |
4479 | G77STAGESTUFF <- MORESTAGESTUFF | |
4480 | f77-runtime: new target, plus supporting ones | |
4481 | ||
4482 | * runtime: add the directory, containing libI77, libF77 and autoconf | |
4483 | stuff | |
4484 | ||
4485 | * g++.1: remove | |
4486 | ||
4487 | * g77.1: minor fixes | |
4488 | ||
4489 | Thu Nov 17 15:18:05 1994 Craig Burley (burley@gnu.ai.mit.edu) | |
4490 | ||
4491 | * Version 0.5.2 released. | |
4492 | ||
4493 | * bad.def: Modify wording of FFEBAD_UNIMPL_STMT to indicate | |
4494 | that it covers a wide array of possible problems (that, someday, | |
4495 | should be handled via separate diagnostics). | |
4496 | ||
4497 | * lex.c: Allow $ in identifiers if -fdollar-ok. | |
4498 | * top.c: Support -fdollar-ok. | |
4499 | * top.h: Support -fdollar-ok. | |
4500 | * target.h: Support -fdollar-ok. | |
4501 | * DOC: Describe -fdollar-ok. | |
4502 | ||
4503 | * std.c (ffestd_R1229_finish): Fix bug so stand-alone build works. | |
4504 | * ste.c (ffeste_R819A): Fix bug so stand-alone build works. | |
4505 | ||
4506 | * Make: Improvements for stand-alone build. | |
4507 | ||
4508 | * Makefile.in: Fix copyright text at top of file. | |
4509 | ||
4510 | * LINK, SRCS, UNLINK: Removed. Not particularly useful now that | |
4511 | g77 sources live in their own subdirectory. | |
4512 | ||
4513 | * g77.c (main): Cast arg to bzero to avoid warning. (This is | |
4514 | identical to Kenner's fix to cp/g++.c.) | |
4515 | ||
4516 | * gbe/: New subdirectory, to contain .diff files for various | |
4517 | versions of the GNU CC back end. | |
4518 | ||
4519 | * gbe/README: New file. | |
4520 | * gbe/2.6.2.diff: New file. | |
4521 | ||
4522 | Tue Nov 8 10:23:10 1994 Dave Love <d.love@dl.ac.uk> | |
4523 | ||
4524 | * Make-lang.in: don't install as f77 as well as g77 to avoid | |
4525 | confusion with system's compiler (especially while testing) | |
4526 | ||
4527 | * g77.c (main): use -lf2c and -lm; fix sense of test for .f/.F files | |
4528 | ||
4529 | Fri Oct 28 09:45:00 1994 Craig Burley (burley@gnu.ai.mit.edu) | |
4530 | ||
4531 | * Version 0.5.1 released. | |
4532 | ||
4533 | * gcc.c: Invoke f771 instead of f-771. | |
4534 | ||
4535 | Fri Oct 28 02:00:44 1994 Craig Burley (burley@gnu.ai.mit.edu) | |
4536 | ||
4537 | * Version 0.5.0 released. | |
4538 | ||
4539 | Fri Oct 14 15:03:35 1994 Craig Burley (burley@gnu.ai.mit.edu) | |
4540 | ||
4541 | * Makefile.in: Handle the Fortran-77 front-end in a subdirectory. | |
4542 | * f-*: Move Fortran-77 front-end to f/*. |