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