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