1 2000-06-13 Jakub Jelinek <jakub@redhat.com>
3 * com.c (ffecom_transform_common_): Set DECL_USER_ALIGN.
4 (ffecom_transform_equiv_, ffecom_decl_field): Likewise.
5 (ffecom_init_0): Set DECL_USER_ALIGN resp. TYPE_USER_ALIGN.
6 (duplicate_decls): Set DECL_USER_ALIGN.
8 Sun Jun 11 00:03:00 2000 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
10 * com.c (lang_get_alias_set): Mark parameter with ATTRIBUTE_UNUSED.
12 2000-06-04 Philipp Thomas <pthomas@suse.de>
14 * Makefile.in(INTLLIBS): New macro.
18 2000-06-02 Richard Henderson <rth@cygnus.com>
20 * com.c (lang_get_alias_set): New.
22 2000-05-28 Toon Moene <toon@moene.indiv.nluug.nl>
24 * bugs.texi: Note that debugging information for
25 common block items is emitted now.
28 2000-05-18 Chris Demetriou <cgd@sibyte.com>
30 * com.h (FFECOM_f2cINTEGER, FFECOM_f2cLONGINT): Note that
31 these types correspond to built-in types now defined in
32 the C front end (for libf2c).
34 Wed May 17 17:27:44 2000 Andrew Cagney <cagney@b1.cygnus.com>
36 * top.c (ffe_decode_option): Update -Wall unused flags by calling
39 2000-05-09 Zack Weinberg <zack@wolery.cumb.org>
41 * com.c (ffecom_subscript_check_): Constify array_name
42 parameter. Clean up string bashing.
43 (ffecom_arrayref_, ffecom_char_args_x_): Constify array_name
45 (ffecom_do_entry_, ffecom_gen_sfuncdef_, ffecom_start_progunit_,
46 ffecom_sym_transform_, ffecom_sym_transform_assign_): Constify
48 (init_parse): Constify parameter and return value.
49 * lex.c: Include dwarfout.h instead of prototyping dwarfout_*
51 (ffelex_file_pop_, ffelex_file_push_): Constify filename parameter.
52 (ffelex_hash_, ffelex_include_): Constify local char *.
53 * std.c (ffestd_exec_end): Constify local char *.
54 * where.c (ffewhere_file_new): Constify filename parameter.
55 * where.h: Update prototypes.
57 2000-05-06 Zack Weinberg <zack@wolery.cumb.org>
59 * com.c (ffecom_overlap_): Set source_offset to
61 (ffecom_tree_canonize_ptr_): Use size_binop. Convert to
62 bitsizetype before multiplying by TYPE_SIZE.
63 (ffecom_tree_canonize_ref_) [case ARRAY_REF]: Break up offset
64 calculation. Convert to bitsizetype before multiplying by
67 2000-04-18 Zack Weinberg <zack@wolery.cumb.org>
69 * lex.c: Remove references to cccp.c.
70 * g77install.texi: Remove references to cexp.c/cexp.y.
72 2000-04-15 David Edelsohn <edelsohn@gnu.org>
74 * target.h (FFETARGET_32bit_longs): Define for 64-bit PowerPC
77 Wed Apr 12 15:15:26 2000 Mark Mitchell <mark@codesourcery.com>
79 * com.h (FFECOM_f2cINTEGER): Avoid using LONG_TYPE_SIZE as a
80 preprocessor constant.
81 (FFECOM_f2cLOGICAL): Likewise.
82 (FFECOM_f2cLONGINT): Likewise.
84 Wed Apr 5 17:46:39 2000 Mark Mitchell <mark@codesourcery.com>
86 * Makefile.in (GGC_H): Add varray.h.
88 2000-04-03 Zack Weinberg <zack@wolery.cumb.org>
90 * lang-specs.h: Pass -fno-show-column to the preprocessor.
92 2000-03-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
94 * com.c (ffecom_decl_field): Use DECL_ALIGN for a FIELD_DECL.
95 (ffecom_init_0): Likewise.
97 Sat Mar 25 09:12:10 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
99 * com.c (ffecom_tree_canonize_ptr_): Use bitsize_zero_node.
100 (ffecom_tree_canonize_ref_): Likewise.
102 Mon Mar 20 15:49:40 2000 Jim Wilson <wilson@cygnus.com>
104 * f/target.h (FFETARGET_32bit_longs): New. Define for alpha, sparc64,
106 (ffetargetInteger1, ffetargetLogical1, ffetargetReal1, ffetargetReal2,
107 ffetarget_integerdefault_is_magical): Use FFETARGET_32bit_longs.
109 Fri Mar 10 00:43:55 2000 Jason Merrill <jason@casey.cygnus.com>
111 * com.c (ffecom_stabilize_aggregate_): Don't refer to TREE_RAISES.
113 Mon Mar 6 18:05:19 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
115 * com.c (ffecom_f2c_set_lio_code_): Use compare_tree_int.
116 (ffecom_sym_transform_, ffecom_transform_common_): Likewise.
117 (ffecom_transform_equiv_): Likewise.
119 Mon Mar 6 13:01:19 2000 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
121 * ansify.c (die_unless): Don't use ANSI string concatenation.
122 (die): Mark with ATTRIBUTE_NORETURN.
124 Wed Mar 1 00:31:44 2000 Martin von Loewis <loewis@informatik.hu-berlin.de>
126 * com.c (current_function_decl): Move to toplev.c.
128 Sun Feb 27 16:40:33 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
130 * com.c (ffecom_arrayref_): Convert args to size_binop to proper type.
131 (ffecom_tree_canonize_ptr_): Don't use size_binop for non-sizes.
132 (ffecom_tree_canonize_ref_): Likewise.
133 (type_for_mode): Handle TImode.
134 * ste.c (ffeste_io_dofio_, ffeste_io_douio_): Use TYPE_SIZE_UNIT.
135 (ffeste_io_ciclist_): Likewise.
137 2000-02-23 Zack Weinberg <zack@wolery.cumb.org>
139 * com.c (ffecom_type_permanent_copy_): Delete unused function.
140 (finish_decl): Don't change TREE_PERMANENT (DECL_INITIAL (decl)).
142 Sat Feb 19 18:43:13 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
144 * com.c (ffecom_sym_transform): Use DECL_SIZE_UNIT.
145 (ffecom_transform_common_, ffecom_transform_equiv_): Likewise.
146 (duplicate_decls): Likewise.
147 (ffecom_tree_canonize_ptr_): Delete extra arg to bitsize_int.
148 (finish_decl): Delete -Wlarger-than processing.
150 Fri Feb 18 13:19:34 2000 Martin von Loewis <loewis@informatik.hu-berlin.de>
152 * g77spec.c (lang_specific_driver): Use GCCBUGURL.
154 2000-02-17 Andy Vaught <andy@maxwell.la.asu.edu>
156 * com.c (ffecom_member_phase2_): Re-enable COMMON debug code.
157 (ffecom_finish_symbol_transform_): Likewise.
158 (ffecom_transform_common_): Call ffestorag_set_hook.
160 Wed Feb 16 11:09:38 2000 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
162 * Make-lang.in (g77spec.o): Depend on $(GCC_H), not gcc.h.
164 2000-02-15 Jonathan Larmour <jlarmour@redhat.co.uk>
166 * lang-specs.h: Add new __GNUC_PATCHLEVEL__ define to default spec.
168 Tue Feb 15 11:14:17 2000 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
170 * g77spec.c: Don't declare `version_string'.
172 Sat Feb 5 23:27:25 2000 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
174 * com.c (mark_tracker_head, mark_binding_level): Protoize.
176 * where.c (mark_ffewhere_head): Likewise.
178 Wed Jan 12 09:32:59 2000 Zack Weinberg <zack@wolery.cumb.org>
180 * lang-specs.h: Pass -lang-fortran to preprocessor.
182 Thu Dec 30 13:14:31 1999 Richard Henderson <rth@cygnus.com>
184 * stw.h (struct _ffestw_): Change type of uses_ to int.
186 Thu Dec 30 11:42:05 1999 Geoff Keating <geoffk@cygnus.com>
188 * com.c (ffecom_init_0): Make double_ftype_double,
189 float_ftype_float, ldouble_ftype_ldouble,
190 ffecom_tree_ptr_to_fun_type_void local.
191 (tracker_head): New static variable.
192 (mark_tracker_head): New, marker procedure for tracker_head.
193 (ffecom_save_tree_forever): New procedure.
194 (ffecom_init_zero_): Remove obstack use.
195 (ffecom_make_gfrt_): Remove obstack use.
196 (ffecom_sym_transform_): Remove obstack use, save appropriate trees.
197 (ffecom_transform_common_): Remove obstack use, save appropriate
199 (ffecom_type_namelist_): Remove obstack use, save appropriate
201 (ffecom_type_vardesc_): Remove obstack use, save appropriate trees.
202 (ffecom_lookup_label): Remove obstack use, save appropriate trees.
203 (duplicate_decls): Remove obstack use.
204 (finish_function): push & pop ggc context around
205 rest_of_compilation when building nested function.
206 (mark_binding_level): New function.
207 (init_decl_processing): Mark all the GC roots.
209 (lang_mark_tree): New function.
210 (lang_mark_false_label_stack): New trivial function.
211 * com.h (ffecom_save_tree_forever): Declare as external.
212 * lex.c (ffelex_hash_): Use GC to allocate the filename string
213 even when ffelex_kludge_flag_.
214 * ste.c (ffeste_io_ialist_): Register a static root.
215 (ffeste_io_inlist_): Likewise.
216 (ffeste_io_icilist_): Likewise.
217 (ffeste_io_cllist_): Likewise.
218 (ffeste_io_cilist_): Likewise.
219 (ffeste_io_olist_): Likewise.
220 * Makefile.in (OBJS): Don't use ggc-callbacks.o.
222 (GGC_H): New variable.
224 * where.c (ffewhere_head): New global.
225 (mark_ffewhere_head): New marker procedure for ffewhere_head.
226 (ffewhere_file_kill): Use GC to do memory management.
227 (ffewhere_file_new): Use GC to do memory management.
230 Wed Dec 29 19:29:26 1999 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
232 * g77.texi (C Interfacing Tools): Fix an incorrect link.
234 1999-12-13 Jakub Jelinek <jakub@redhat.com>
236 * target.h: Handle sparc64 the same way as alpha.
238 Sun Nov 28 21:39:05 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
240 * com.c (ffecom_file_, ffecom_file, file_buf,
241 ffecom_open_include_): Constify a char*.
242 (ffecom_possible_partial_overlap_): Mark parameter `expr2' with
244 (ffecom_init_0): Use a fully prototyped cast in call to bsearch.
245 (lang_print_error_function): ANSI-fy.
247 * com.h (ffecom_file): Constify a char*.
249 * fini.c (main): Call return, not exit.
251 * g77spec.c (lang_specific_driver): Use non-const *in_argv in
254 * intrin.c (ffeintrin_cmp_name_): Don't needlessly cast away
257 Sun Nov 28 21:15:29 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
259 * com.c (ffecom_get_invented_identifier): Rewrite to take an ellipses.
261 (ffecom_char_enhance_arg_, ffecom_do_entry_,
262 ffecom_f2c_make_type_, ffecom_gen_sfuncdef_,
263 ffecom_start_progunit_, ffecom_start_progunit_,
264 ffecom_start_progunit_, ffecom_sym_transform_assign_,
265 ffecom_transform_equiv_, ffecom_transform_namelist_,
266 ffecom_vardesc_, ffecom_vardesc_array_, ffecom_vardesc_dims_,
267 ffecom_end_transition, ffecom_lookup_label, ffecom_temp_label):
270 * com.h (ffecom_get_invented_identifier): Likewise.
272 * sts.c (ffests_printf): New function taking ellipses.
273 (ffests_printf_1D, ffests_printf_1U, ffests_printf_1s,
274 ffests_printf_2Us): Delete.
278 * std.c (ffestd_R1001dump_, ffestd_R1001dump_1005_1_,
279 ffestd_R1001dump_1005_2_, ffestd_R1001dump_1005_3_,
280 ffestd_R1001dump_1005_4_, ffestd_R1001dump_1005_5_,
281 ffestd_R1001dump_1010_2_, ffestd_R1001dump_1010_3_,
282 ffestd_R1001dump_1010_4_, ffestd_R1001dump_1010_5_,
283 ffestd_R1001rtexpr_): Call `ffests_printf', not `ffests_printf_*'.
285 * ste.c (ffeste_io_ialist_, ffeste_io_cilist_, ffeste_io_cllist_,
286 ffeste_io_icilist_, ffeste_io_inlist_, ffeste_io_olist_): Likewise.
288 Wed Nov 10 12:43:21 1999 Philippe De Muyter <phdm@macqel.be>
289 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
291 * proj.h: Test `GCC_VERSION', not `HAVE_GCC_VERSION'.
293 Tue Oct 26 01:32:19 1999 Mark Mitchell <mark@codesourcery.com>
295 * com.c (poplevel): Don't call remember_end_note.
297 Fri Oct 15 15:18:12 1999 Greg McGary <gkm@gnu.org>
299 * top.h (ffe_is_subscript_check_): Remove extern decl.
300 (ffe_is_subscript_check, ffe_set_is_subscript_check): Remove macros.
301 * top.c (ffe_is_subscript_check_): Remove global variable.
302 (ffe_decode_option): Remove "(no-)bounds-check" flag handling.
303 Set flag_bounds_check for "(no-)fortran-bounds-check".
305 (ffecom_arrayref_): s/ffe_is_subscript_check ()/flag_bounds_check/
306 (ffecom_char_args_x_): Ditto.
308 Sun Oct 10 08:40:18 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
310 * proj.h: Use HAVE_GCC_VERSION instead of explicitly testing
311 __GNUC__ and __GNUC_MINOR__. Don't define BUILT_WITH_270. Define
312 macro UNUSED in terms of ATTRIBUTE_UNUSED.
314 Fri Sep 24 10:48:10 1999 Bernd Schmidt <bernds@cygnus.co.uk>
316 * com.c (duplicate_decls): Use DECL_BUILT_IN_CLASS rather than
318 (builtin_function): No longer static. New arg CLASS. Arg
319 FUNCTION_CODE now of type int. All callers changed.
320 Set the builtin's DECL_BUILT_IN_CLASS.
322 Tue Sep 21 09:08:30 1999 Toon Moene <toon@moene.indiv.nluug.nl>
324 * g77spec.c (lang_specific_driver): Initialise return value.
326 Thu Sep 16 18:07:11 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
328 * bad.c (ffebad_finish): Use uppercase ctype macro from system.h.
330 * fini.c (main): Likewise.
332 * intrin.c (ffeintrin_init_0): Likewise.
334 * lex.c (ffelex_hash_): Likewise.
336 * src.c (ffesrc_init_1): Likewise.
338 Tue Sep 14 12:14:28 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
340 * g77spec.c (lang_specific_driver): Remove unnecessary argument in
341 call to function `fatal'.
343 Sun Sep 12 23:29:47 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
345 * Make-lang.in (g77spec.o): Depend on system.h and gcc.h.
347 * g77spec.c: Include gcc.h.
348 (g77_xargv): Constify.
349 (g77_fn): Add parameter prototypes.
350 (lookup_option, append_arg): Add static prototypes.
351 (g77_newargv): Constify.
352 (lookup_option, append_arg, lang_specific_driver): Constify a char*.
353 (lang_specific_driver): All calls to the function pointer
354 parameter now explicitly call `fatal'.
356 Fri Sep 10 10:32:32 1999 Bernd Schmidt <bernds@cygnus.co.uk>
358 * com.h: Delete declarations for all tree nodes now moved to
360 * com.c: Delete their definitions.
361 (ffecom_init_0): Call build_common_tree_nodes and
362 build_common_tree_nodes_2 instead of building their nodes here.
363 Override their decisions for complex nodes.
365 Sat Sep 4 13:46:27 1999 Mark Mitchell <mark@codesourcery.com>
367 * Make-lang.in (f771): Depend on ggc-callbacks.o.
368 * Makefile.in (OBJS): Add ggc-callbacks.o.
371 Mon Aug 30 22:05:53 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
373 * com.c (language_string): Constify.
375 Mon Aug 30 20:29:30 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
377 * Makefile.in (LIBS, LIBDEPS): Link with & depend on libiberty.a.
378 Remove hacks for stuff which now comes from libiberty.
380 Sun Aug 29 09:47:45 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
382 * com.c (lang_printable_name): Constify a char*.
384 Wed Aug 25 01:21:06 1999 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
386 * lang-specs.h: Pass cc1 spec to f771.
388 Mon Aug 9 19:44:08 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
390 * com.c (lang_print_error_function): Constify a char*.
391 (init_parse): Remove redundant prototype for `print_error_function'.
392 (lang_identify): Constify a char*.
394 Thu Aug 5 02:40:42 1999 Jeffrey A Law (law@cygnus.com)
396 * g77spec.c: Update URLS and mail addresses.
397 * root.texi: Update URLS and mail addresses.
399 1999-07-25 Richard Henderson <rth@cygnus.com>
401 * com.c (ptr_type_node, va_list_type_node): New.
402 (ffecom_init_0): Init and use ptr_type_node.
404 1999-07-17 Alexandre Oliva <oliva@dcc.unicamp.br>
406 * root.texi: Update e-mail addresses to gcc.gnu.org.
407 * g77spec.c (lang_specific_driver): Updated URL with bug reporting
408 instructions to gcc.gnu.org. Removed e-mail address.
410 Sat Jul 17 11:28:43 1999 Craig Burley <craig@jcb-sc.com>
412 * root.texi, g77install.texi: Switchover to GCC terminology.
413 Also, FSF-G77 had been mistakenly set at some point.
415 Thu Jul 8 15:38:50 1999 Craig Burley <craig@jcb-sc.com>
417 * news.texi: Describe DATE intrinsic fix.
419 Mon Jun 28 21:44:19 1999 Craig Burley <craig@jcb-sc.com>
421 * version.c: Denote experimental version.
423 Mon Jun 28 10:43:11 1999 Craig Burley <craig@jcb-sc.com>
425 * com.c (ffecom_prepare_expr_): A COMPLEX intrinsic needs
426 a temp even if -fno-f2c.
428 * version.c: Bump version.
430 Mon Jun 28 21:31:35 1999 Craig Burley <craig@jcb-sc.com>
432 * bugs.texi, news.texi: Doc upgrade to netlib libf2c as of today.
433 Explain that this fixes the NAMELIST-read bug.
435 Fri Jun 25 11:06:32 1999 Craig Burley <craig@jcb-sc.com>
437 * bugs.texi: Describe K(5)=10*3 NAMELIST-read bug.
439 Mon Jun 21 12:40:17 1999 Gerald Pfeifer <pfeifer@dbai.tuwien.ac.at>
441 * g77.texi: Update links.
443 Mon Jun 21 05:33:51 1999 Jeffrey A Law (law@cygnus.com)
445 * news.texi: Add missing @end ifclear.
447 Fri Jun 18 11:43:46 1999 Craig Burley <craig@jcb-sc.com>
449 * news.texi: Doc TtyNam fix.
451 Fri Jun 18 11:26:50 1999 Craig Burley <craig@jcb-sc.com>
453 * news.texi: New heading for development version.
454 Doc upgrade to netlib libf2c as of today.
456 Wed Jun 16 11:43:02 1999 Craig Burley <craig@jcb-sc.com>
458 * news.texi: Mention BACKSPACE fix to libg2c.
460 Mon Jun 7 08:42:40 1999 Craig Burley <craig@jcb-sc.com>
462 * Make-lang.in: Any target using libsubdir must depend
465 Sat Jun 5 23:50:36 1999 Craig Burley <craig@jcb-sc.com>
467 * g77.texi: Describe a few more missing features people
468 have emailed me about.
470 Sat Jun 5 17:03:23 1999 Craig Burley <craig@jcb-sc.com>
472 From Dave Love to egcs-patches on 20 May 1999 17:38:38 +0100:
473 * g77.texi: Clean up fossil text vis-a-vis Intel CPUs.
475 Fri Jun 4 13:56:56 1999 Craig Burley <craig@jcb-sc.com>
477 * Make-lang.in: Use libsubdir, not prefix, to store
478 temporary lang-f77 `flag' file.
480 Fri Jun 4 10:26:04 1999 Craig Burley <craig@jcb-sc.com>
482 * news.texi (News): Mention GCC 2.95 in favor of EGCS 1.2.
483 Mention that libg2c is multilibbed.
485 Fri Jun 4 10:09:50 1999 Craig Burley <craig@jcb-sc.com>
487 * g77.texi (Missing Features): Add `Better Warnings'
490 Fri May 28 16:51:41 1999 Craig Burley <craig@jcb-sc.com>
492 * g77.texi: Fix thinko.
494 Wed May 26 14:43:27 1999 Craig Burley <craig@jcb-sc.com>
496 * news.texi: Document Tue May 18 03:52:04 1999 patch.
499 Wed May 26 14:25:07 1999 Craig Burley <craig@jcb-sc.com>
501 * g77.texi, news.texi, root.texi, version.c: Start renaming
502 EGCS 1.2 to GCC 2.95, and start using 0.5.25 to designate
503 the version of g77 within GCC 2.95.
505 Wed May 26 11:45:21 1999 Craig Burley <craig@jcb-sc.com>
507 Rename -fsubscript-check to -fbounds-check and
508 -ff2c-subscript-check to -ffortran-bounds-check:
509 * g77.texi: Rename options in docs, clarify usage.
510 * lang-options.h: Rename options, clarify doclets.
511 * news.texi: Rename options, don't bother with fortran-specific
513 * top.c (ffe_decode_option): Rename recognized strings.
515 Tue May 25 18:21:09 1999 Craig Burley <craig@jcb-sc.com>
517 * com.c (FFECOM_FASTER_ARRAY_REFS): Delete this vestige,
518 now that -fflatten-arrays exists.
520 Tue May 25 17:48:34 1999 Craig Burley <craig@jcb-sc.com>
523 * com.c (ffecom_arg_ptr_to_expr): Strip off parens around
524 CHARACTER expression.
525 (ffecom_prepare_expr_): Ditto.
527 Tue May 18 03:52:04 1999 Craig Burley <craig@jcb-sc.com>
529 Support use of back end's improved open-coding of complex divide:
530 * com.c (ffecom_tree_divide_): Use RDIV_EXPR for complex divide,
531 instead of run-time call to [cz]_div, if `-Os' option specified.
532 (lang_init_options): Tell back end we want support for wide range
533 of inputs to complex divide.
537 Tue May 18 00:21:34 1999 Zack Weinberg <zack@rabi.phys.columbia.edu>
539 * lang-specs.h: Define __GNUC__ and __GNUC_MINOR__ only if -no-gcc
542 Thu May 13 12:23:20 1999 Craig Burley <craig@jcb-sc.com>
544 Fix INTEGER*8 subscripts in array references:
545 * com.c (ffecom_subscript_check_): Convert low, high, and
546 element as necessary to make comparison work.
547 (ffecom_arrayref_): Do more of the work.
548 Properly handle subscript expr that's wider than int,
549 if pointers are wider than int.
550 (ffecom_expr_): Leave more work to ffecom_arrayref_.
551 (ffecom_init_0): Record sizes of pointers and ints for
553 Use set_sizetype etc. as done by gcc front end.
554 (ffecom_ptr_to_expr): Leave more work to ffecom_arrayref_.
555 * expr.c (ffeexpr_finished_): Don't convert INTEGER subscript
556 expressions in run-time contexts.
557 (ffeexpr_token_elements_, ffeexpr_token_substring_1_): Cope with
558 non-default INTEGER subscript expressions.
559 * news.texi: Announce.
561 Finish accepting -fflatten-arrays option:
562 * com.c (ffecom_arrayref_): Flatten references if requested.
563 * g77.texi: Describe.
564 * lang-options.h: Allow.
565 * news.texi: Announce.
566 * top.c, top.h: Recognize.
568 * version.c: Bump version.
570 Wed May 12 07:30:05 1999 Craig Burley <craig@jcb-sc.com>
572 * com.c (lang_init_options): Disable back end's maintenance
574 * news.texi: Document dropping of errno.
576 1999-05-10 18:21 -0400 Zack Weinberg <zack@rabi.phys.columbia.edu>
578 * lang-specs.h: Pass -$ to the preprocessor.
580 Mon May 10 18:14:28 1999 Craig Burley <craig@jcb-sc.com>
582 * g77.texi: Fix various @xref's per proper style.
583 Go ahead and use nested braces in @xref's, with care.
584 * g77install.texi: Fix @xref per proper style.
586 Mon May 10 17:38:39 1999 Craig Burley <craig@jcb-sc.com>
588 * news.texi: Doc upgrade to netlib libf2c as of today.
590 Sun May 9 18:52:13 1999 Hans-Peter Nilsson <hp@bitrange.com>
592 * f/g77spec.c (lang_specific_driver): Correct bug-report address
593 and point to the FAQ.
595 Thu May 6 12:40:21 1999 Craig Burley <craig@jcb-sc.com>
597 * g77.texi (Arbitrary Concatenation): Put this under
598 "Missing Features" instead of "Projects".
599 (Internals Documentation): Point to new "Front End" chapter.
601 Thu May 6 08:23:52 1999 Craig Burley <craig@jcb-sc.com>
603 * bugs.texi, news.texi: Automatic arrays reportedly working
606 Thu May 6 08:19:31 1999 Craig Burley <craig@jcb-sc.com>
608 * g77.texi (Advantages Over f2c): Expand on this topic.
610 Mon May 3 19:41:48 1999 Craig Burley <craig@jcb-sc.com>
612 * com.c (ffecom_expr_intrinsic_): Fix test of CTIME_subr.
614 Mon May 3 18:11:48 1999 Craig Burley <craig@jcb-sc.com>
616 Reverse order of two arguments to CTIME_subr, DTIME_subr,
617 ETIME_subr, and TTYNAM_subr:
618 * com.c (ffecom_expr_intrinsic_): Reverse the arguments.
619 While at it, set TREE_SIDE_EFFECTS for CTIME_subr and
621 * intdoc.in: Document the new calling sequences.
622 * intrin.def: Reverse the arguments.
623 * news.texi: Document the fact that they changed.
624 * version.c: Bump version.
626 Mon May 3 11:28:14 1999 Craig Burley <craig@jcb-sc.com>
628 * news.texi: Doc upgrade to netlib libf2c as of today.
630 Sun May 2 17:04:28 1999 Craig Burley <craig@jcb-sc.com>
632 * version.c: Bump version.
634 Sun May 2 16:53:01 1999 Craig Burley <craig@jcb-sc.com>
636 Fix compile/19990502-1.f:
637 * ste.c (ffeste_R819B): Don't overwrite tree for temp
638 variable when expanding the assignment into it.
640 Sun Apr 25 20:55:10 1999 Craig Burley <craig@jcb-sc.com>
642 Fix 19990325-0.f and 19990325-1.f:
643 * com.c (ffecom_possible_partial_overlap_): New function.
644 (ffecom_expand_let_stmt): Use it to determine whether to assign
645 to a COMPLEX operand through a temp.
646 * news.texi: Document fix.
648 * version.c: Bump version.
650 Sat Apr 24 12:19:53 1999 Craig Burley <craig@jcb-sc.com>
652 * expr.c (ffeexpr_finished_): Convert DATA implied-do
653 start/end/incr expressions to default INTEGER.
654 Fix some broken conditionals.
655 Clean up some code in the region.
656 * news.c: Document the fix.
658 * version.c: Bump version.
660 Fri Apr 23 02:08:32 1999 Craig Burley <craig@jcb-sc.com>
662 * g77.texi (Compiler Prototypes): Replace "missing" subscript-
663 checking option with something else.
665 Fri Apr 23 01:48:28 1999 Craig Burley <craig@jcb-sc.com>
667 Support new -fsubscript-check and -ff2c-subscript-check options:
668 * com-rt.def (FFECOM_gfrtRANGE): Describe s_rnge, in libf2c/libF77.
669 * com.c (ffecom_subscript_check_, ffecom_arrayref_): New functions.
670 (ffecom_char_args_x_): Use new ffecom_arrayref_ function for
671 FFEBLD_opARRAYREF case.
672 Compute character name, array type, and use new
673 ffecom_subscript_check_ function for FFEBLD_opSUBSTRING case.
674 (ffecom_expr_): Use new ffecom_arrayref_ function.
675 (ffecom_ptr_to_expr): Use new ffecom_arrayref_ function.
676 * g77.texi, news.texi: Document new options.
677 * top.c, top.h: Support new options.
679 * news.texi: Fix up some items to not be in "User-Visible Changes".
681 * ste.c (ffeste_R819B): Fix type for loop variable, to avoid
684 * version.c: Bump version.
686 Tue Apr 20 01:38:57 1999 Craig Burley <craig@jcb-sc.com>
688 * bugs.texi, news.texi: Clarify -malign-double situation.
690 Tue Apr 20 01:15:25 1999 Craig Burley <craig@jcb-sc.com>
692 * stb.c (ffestb_R5282_): Convert DATA repeat count
693 to default INTEGER, to avoid problems downstream.
695 * version.c: Bump version.
697 Mon Apr 19 21:36:48 1999 Craig Burley <craig@jcb-sc.com>
699 * ste.c (ffeste_R819B): Start the loop before expanding
700 the termination expression.
702 * version.c: Bump version.
704 Sun Apr 18 21:53:58 1999 Craig Burley <craig@jcb-sc.com>
706 * com.c (ffecom_sym_transform_): COMMON and EQUIVALENCE
707 variables have constant addresses (EQUIVALENCE only if
708 containing aggregate is static).
710 Sat Apr 17 16:55:59 1999 Craig Burley <craig@jcb-sc.com>
712 * bugs.texi, ffe.texi, g77.texi, g77install.texi, news.texi:
713 Clean up @code{} vs. @samp{}.
714 Clean up dashes (`--') vs. @minus{} vs. `---'.
716 * ffe.texi: Add copyright header.
718 * g77.texi, lang-options.h, news.texi, top.c (ffe_decode_option):
719 Remove support for -fugly option.
720 Clarify that -fugly-logint is needed instead of -fugly
721 to work around using .EQ./.NE. on LOGICAL operands.
722 Explain more about why -fugly-logint is bad juju.
724 * g77.texi (Missing Features): Describe READONLY as a missing
725 feature. Describe AUTOMATIC better.
727 * news.texi: Mention libf2c upgrade.
729 Sat Apr 17 14:05:53 1999 Craig Burley <craig@jcb-sc.com>
731 Make a place for front-end internals documentation:
732 * Make-lang.in (f/g77.info, f/g77.dvi): Depend on f/ffe.texi.
733 * ffe.texi: New file, containing docs on front-end internals.
734 * g77.texi: New chapter for, and inclusion of, ffe.texi.
736 * g77.texi: Fix an index entry.
738 Sat Apr 17 13:53:43 1999 Craig Burley <craig@jcb-sc.com>
740 Rewrite to use block/scope structure of GBE and to ensure
741 variables (especially those going on stack/reg) are declared
742 before executable code generated:
743 * bld.c (ffebld_new_item, ffebld_new_one, ffebld_new_two):
745 * bld.h (ffebld_item_hook, ffebld_item_set_hook,
746 ffebld_nonter_hook, ffebld_nonter_set_hook): Ditto.
747 * bld.h (ffebld_basictype, ffebld_kind, ffebld_kindtype,
748 ffebld_rank, ffebld_where): New convenience macros (used
749 by rest of this patch).
750 * com.c, com.h (ffecom_push_calltemps, ffecom_pop_calltemps,
751 ffecom_push_tempvar, ffecom_pop_tempvar): Remove temp-var-
753 * com.c (ffecom_call_, ffecom_call_binop_, ffecom_tree_divide_,
754 ffecom_call_gfrt): Support passing hooks for temp-var info.
755 (ffecom_expr_power_integer_): Takes opPOWER expression, instead
756 of its left and right operands, so it can get at the hook.
757 (ffecom_prepare_let_char_, ffecom_prepare_arg_ptr_to_expr,
758 ffecom_prepare_end, ffecom_prepare_expr_, ffecom_prepare_expr_rw,
759 ffecom_prepare_expr_w, ffecom_prepare_return_expr,
760 ffecom_prepare_ptr_to_expr): New functions supporting expression
762 (bison_rule_compstmt_): Return the tree, as in the CFE.
763 (delete_block): New function, from CFE.
764 (kept_level_p): New function, from CFE, modified.
765 (ffecom_start_compstmt, ffecom_end_compstmt): New functions,
766 replacing ffecom_start_compstmt_ and ffecom_end_compstmt_ macros,
767 and they do real work.
768 (struct binding_level): Add prep_state member. Initialize to 0.
769 (ffecom_get_invented_identifier): Now takes either or both a
770 string and an integer, using -1 to denote no integer.
771 (ffecom_do_entry_): Disallow temp-var generation via expressions
772 in body of function, since the exprs aren't prescanned.
773 (ffecom_expr_rw): Now takes destination tree.
774 (ffecom_expr_w): New function, now used in some places
775 ffecom_expr_rw had been used.
776 (ffecom_expr_intrinsic_): Move huge f2c-related comment to bottom
777 of source file, to avoid annoying problems editing com.c using
779 (ffecom_expr_power_integer_): Make a temp var for division, if
781 Handle expanded statement expression as does CFE.
782 (ffecom_start_progunit_): Disallow temp-var generation in body
783 of function, since expressions are not prescanned at this level.
784 (ffecom_sym_transform_): Transform ASSIGN variables as well,
785 so these are all transformed up front, before code-generation
787 (ffecom_arg_ptr_to_const_expr, ffecom_const_expr,
788 ffecom_ptr_to_const_expr): New functions to transform expressions
789 only if the results will surely be constants.
790 (ffecom_arg_ptr_to_expr): Precompute size, for convenience
792 (ffecom_expand_let_stmt): Guess at usability of destination
793 pre-expansion, to provide better prescan preparation (fewer
795 (ffecom_init_0): Disallow temp-var generation in global scope.
796 (ffecom_type_expr): New function, returns just the type tree
798 (start_function): Disallow temp-var generation in parm scope.
799 (incomplete_type_error): Fix introductory comment.
800 (poplevel): Update (somewhat) from CFE.
801 (pushlevel): Update (somewhat) from CFE.
802 * stc.c (ffestc_R838): Mark ASSIGNed variable as so.
803 * std.c (ffestd_stmt_pass_, ffestd_R803, ffestd_R804, ffestd_R805,
804 ffestd_R806): Remember and pass through the ffestw block info
805 for these (IFTHEN, ELSEIF, ELSE, and ENDIF) statements.
806 * ste.c (ffeste_end_iterdo_): Now takes ffestw block argument.
807 (ffeste_io_inlist_): Add prototype.
808 (ffeste_f2c_*): Macros rewritten, new ones added.
809 (ffeste_start_block_, ffeste_end_block_, ffeste_start_stmt_,
810 ffeste_end_stmt_): New macros/functions, depending on whether
811 checking is enabled, to keep track of symmetry of other ste.c code.
812 (ffeste_begin_iterdo_, ffeste_end_iterdo_, ffeste_io_impdo_,
813 ffeste_io_dofio_, ffeste_io_dolio_, ffeste_io_douio_,
814 ffeste_io_ialist_, ffeste_io_cilist_, ffeste_io_cllist_,
815 ffeste_icilist_, ffeste_io_inlist_, ffeste_io_olist_,
816 ffeste_subr_beru_, ffeste_do, ffeste_end_R807, ffeste_R737A,
817 ffeste_R803, ffeste_R804, ffeste_R805, ffeste_R806, ffeste_R807,
818 ffeste_R809, ffeste_R810, ffeste_R811, ffeste_R819A, ffeste_R819B,
819 ffeste_R837, ffeste_R838, ffeste_R839, ffeste_R840, ffeste_R904,
820 ffeste_R907, ffeste_R909_start, ffeste_R909_item, ffeste_R909_finish,
821 ffeste_R910_start, ffeste_R910_item, ffeste_R910_finish,
822 ffeste_R911_start, ffeste_R911_item, ffeste_R911_finish,
823 ffeste_R923A, ffeste_R1212, ffeste_R1227): Prescan/prepare
824 all pertinent expressions, update to new com.c interface, etc.
825 (ffeste_io_impdo_): Relocate.
826 (ffeste_R834, ffeste_R835, ffeste_R836, ffeste_R1226): Don't
827 bother calling clear_momentary, nothing was generated.
828 (ffeste_R842, ffeste_R843): Update to new com.c interface.
829 (ffeste_R1226): Don't try to stuff error_mark_node's DECL_INITIAL.
830 (ffeste_terminate_2): When checking enabled, make sure all blocks
831 and statements have been ended.
832 * ste.h (ffeste_R803, ffeste_R804, ffeste_R805, ffeste_R806):
833 These now take ffestw block argument.
834 (ffeste_terminate_2): When checking enabled, it's a function, not
836 * stw.h (struct _ffestw_): New variable for IFTHEN.
837 (ffestw_ifthen_fake_else, ffestw_set_ifthen_fake_else): New
839 * symbol.c, symbol.h: Support new ASSIGN'ed-to info.
841 * com.c: Clean up commentary per GNU coding standards.
843 * bld.h (ffebld_size, ffebld_size_known): Canonize.
845 * version.c: Bump version.
847 Sun Apr 11 21:33:33 1999 Mumit Khan <khan@xraylith.wisc.edu>
849 * g77spec.c (lang_specific_driver): Check whether MATH_LIBRARY is
850 null to decide whether to use it.
852 Wed Apr 7 09:47:09 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
854 * ansify.c (die): Specify void argument.
856 * intdoc.c (family_name, dumpgen, dumpspec, dumpimp,
857 argument_info_ptr, argument_info_string, argument_name_ptr,
858 argument_name_string, elaborate_if_complex,
859 elaborate_if_maybe_complex, elaborate_if_real, print_type_string):
861 (main): Mark parameter `argv' with ATTRIBUTE_UNUSED.
862 (_ffeintrin_name_, _ffeintrin_gen_, _ffeintrin_spec_,
863 _ffeintrin_imp_, cc_pair, descriptions, summaries): Const-ify a char*.
865 Mon Apr 5 11:57:54 1999 Donn Terry (donn@interix.com)
867 * Make-lang.in (HOST_CFLAGS): compute dynamically.
869 Mon Apr 5 02:11:23 1999 Craig Burley <craig@jcb-sc.com>
871 Fix bugs exposed by configuring with --enable-checking:
872 * com.c (ffecom_do_entry_, ffecom_expr_, ffecom_arg_ptr_to_expr,
873 ffecom_list_expr, ffecom_list_ptr_to_expr, finish_function,
874 pop_f_function_context, store_parm_decls, poplevel): Handle
875 error_mark_node properly.
876 * ste.c (ffeste_begin_iterdo_, ffeste_end_iterdo_): Ditto.
877 * version.c: Bump version.
879 Sat Apr 3 23:57:56 1999 Craig Burley <craig@jcb-sc.com>
881 * g77.texi: Fix up docs for -fset-g77-defaults, and
882 describe how internal consistency checking now happens.
883 (Should have been done for EGCS version 1.1.)
885 Sat Apr 3 23:29:33 1999 Craig Burley <craig@jcb-sc.com>
887 * bugs.texi, g77.texi, lang-options.h, news.texi, top.c:
888 Make -fno-emulate-complex the default, as COMPLEX support
889 in the back end is now believed to be working.
891 * version.c: Bump version.
893 Fri Apr 2 13:33:16 1999 Craig Burley <craig@jcb-sc.com>
895 * g77.texi: -malign-double now works.
896 Give URL for alignment-testing package.
897 * news.texi: -malign-double now works.
899 Fri Apr 2 12:49:12 1999 Craig Burley <craig@jcb-sc.com>
901 * g77.texi (Funding GNU Fortran): Dude's got a web page.
904 Tue Mar 30 12:04:11 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
906 * sta.c (ffesta_ffebad_1sp, ffesta_ffebad_1st, ffesta_ffebad_2st):
909 * sta.h (ffesta_ffebad_1sp, ffesta_ffebad_1st, ffesta_ffebad_2st):
912 * stb.c (ffestb_local_u_): Likewise.
913 (ffestb_do, ffestb_dowhile, ffestb_else, ffestb_elsexyz,
914 ffestb_else3_, ffestb_endxyz, ffestb_goto, ffestb_let,
915 ffestb_type, ffestb_type1_, ffestb_varlist, ffestb_R423B,
916 ffestb_R522, ffestb_R528, ffestb_R542, ffestb_R834, ffestb_R835,
917 ffestb_R838, ffestb_R841, ffestb_R1102, ffestb_blockdata,
918 ffestb_R1212, ffestb_R1228, ffestb_V009, ffestb_module,
919 ffestb_R809, ffestb_R810, ffestb_R10014_, ffestb_R10015_,
920 ffestb_R10018_, ffestb_R1107, ffestb_R1202, ffestb_R12026_,
921 ffestb_S3P4, ffestb_V012, ffestb_V014, ffestb_V025, ffestb_V0255_,
922 ffestb_V020, ffestb_dimlist, ffestb_dummy, ffestb_R524,
923 ffestb_R547, ffestb_decl_chartype, ffestb_decl_dbltype,
924 ffestb_decl_gentype, ffestb_decl_recursive, ffestb_decl_entsp_2_,
925 ffestb_decl_func_, ffestb_V003, ffestb_V016, ffestb_V027,
926 ffestb_decl_R539): Likewise.
928 * stb.h (_ffestb_args_): Likewise.
930 * stc.c (ffestc_subr_binsrch_, ffestc_subr_is_present_,
931 ffestc_subr_speccmp_, ffestc_R904, ffestc_R907): Likewise.
933 * std.c (ffestd_R1001dump_1005_1_, ffestd_R1001dump_1005_2_,
934 ffestd_R1001dump_1005_3_, ffestd_R1001dump_1005_4_,
935 ffestd_R1001dump_1005_5_, ffestd_R1001dump_1010_1_,
936 ffestd_R1001dump_1010_2_, ffestd_R1001dump_1010_3_,
937 ffestd_R1001dump_1010_4_, ffestd_R1001dump_1010_5_): Likewise.
939 * ste.c (ffeste_begin_iterdo_, ffeste_subr_file_): Likewise.
941 * sts.c (ffests_printf_1D, ffests_printf_1U, ffests_printf_1s,
942 ffests_printf_2Us, ffests_puts, ffests_puttext): Likewise.
944 * sts.h (ffests_printf_1D, ffests_printf_1U, ffests_printf_1s,
945 ffests_printf_2Us, ffests_puts, ffests_puttext): Likewise.
947 * stt.c (ffestt_exprlist_drive, ffestt_implist_drive,
948 ffestt_tokenlist_drive): Add prototype arguments.
950 * stt.h (ffestt_exprlist_drive, ffestt_implist_drive,
951 ffestt_tokenlist_drive): Likewise.
953 * stu.c (ffestu_dummies_transition_): Likewise.
954 (ffestu_sym_end_transition): Const-ify a char*.
956 * stw.c (ffestw_display_state, ffestw_new, ffestw_pop): Add
959 * stw.h (ffestw_display_state, ffestw_new, ffestw_pop): Likewise.
961 * version.c (ffe_version_string): Const-ify a char*.
963 * version.h (ffe_version_string): Likewise.
965 Sat Mar 27 13:00:43 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
967 * bad.c (_ffebad_message_, ffebad_string_, ffebad_message_,
968 ffebad_bufputs_, ffebad_bufputs_, ffebad_start_, ffebad_string,
969 ffebad_finish): Const-ify a char*.
971 * bld.c (ffebld_op_string_, ffebld_op_string): Likewise.
973 * bld.h (ffebld_op_string): Likewise.
975 * com.c (ffecom_arglist_expr_, ffecom_build_f2c_string_,
976 ffecom_debug_kludge_, ffecom_f2c_make_type_,
977 ffecom_get_appended_identifier_, ffecom_get_identifier_,
978 ffecom_gfrt_args_): Likewise.
979 (ffecom_convert_narrow_, ffecom_convert_widen_): Add prototype.
980 (builtin_function, ffecom_gfrt_name_, ffecom_gfrt_argstring_,
981 ffecom_arglist_expr_, ffecom_build_f2c_string_,
982 ffecom_debug_kludge_, ffecom_f2c_make_type_,
983 ffecom_get_appended_identifier_, ffecom_get_external_identifier_,
984 ffecom_get_identifier_, ffecom_decl_field,
985 ffecom_get_invented_identifier, lang_print_error_function,
986 skip_redundant_dir_prefix, read_name_map, print_containing_files):
988 (savestring): Remove, use `xstrdup' instead.
990 * com.h (ffecom_decl_field, ffecom_get_invented_identifier):
993 * data.c (ffebld, ffedata_gather_): Make explicitly static.
995 * expr.c (ffeexpr_isdigits_, ffeexpr_percent_,
996 ffeexpr_reduced_concatenate_, ffeexpr_nil_real_,
997 ffeexpr_nil_number_, ffeexpr_nil_number_period_,
998 ffeexpr_nil_number_real_, ffeexpr_token_real_,
999 ffeexpr_token_number_, ffeexpr_token_number_period_,
1000 ffeexpr_token_number_real_): Const-ify a char*.
1002 * fini.c (xspaces): Likewise.
1004 * global.c (ffeglobal_type_string_): Likewise.
1005 (ffeglobal_drive): Protoize.
1006 (ffeglobal_proc_def_arg): Const-ify a char*.
1008 * global.h (ffeglobal_drive): Protoize.
1009 (ffeglobal_proc_def_arg): Const-ify a char*.
1011 * implic.c (ffeimplic_none, ffeimplic_peek_symbol_type):
1014 * implic.h (ffeimplic_peek_symbol_type): Likewise.
1016 * info.c (ffeinfo_basictype_string_, ffeinfo_kind_message_,
1017 ffeinfo_kind_string_, ffeinfo_kindtype_string_,
1018 ffeinfo_where_string_, ffeinfo_basictype_string,
1019 ffeinfo_kind_message, ffeinfo_kind_string,
1020 ffeinfo_kindtype_string, ffeinfo_where_string): Likewise.
1022 * info.h (ffeinfo_basictype_string, ffeinfo_kind_message,
1023 ffeinfo_kind_string, ffeinfo_kindtype_string,
1024 ffeinfo_where_string): Likewise.
1026 * intrin.c (_ffeintrin_name_, _ffeintrin_gen_, _ffeintrin_spec_,
1027 _ffeintrin_imp_, ffeintrin_check_, ffeintrin_cmp_name_,
1028 ffeintrin_fulfill_specific, ffeintrin_init_0,
1029 ffeintrin_is_actualarg, ffeintrin_is_intrinsic,
1030 ffeintrin_name_generic, ffeintrin_name_implementation,
1031 ffeintrin_name_specific): Likewise.
1033 * intrin.h (ffeintrin_is_intrinsic, ffeintrin_name_generic,
1034 ffeintrin_name_implementation, ffeintrin_name_specific): Likewise.
1036 * lex.c (ffelex_type_string_, ffelex_token_new_character,
1037 ffelex_token_new_name, ffelex_token_new_names,
1038 ffelex_token_new_number): Likewise.
1040 * lex.h (ffelex_token_new_character, ffelex_token_new_name,
1041 ffelex_token_new_names, ffelex_token_new_number): Likewise.
1043 * malloc.c (malloc_types_, malloc_pool_new, malloc_new_inpool_,
1044 malloc_new_zinpool_): Likewise.
1046 * malloc.h (malloc_new_inpool_, malloc_new_zinpool_,
1047 malloc_pool_new): Likewise.
1049 * name.c (ffename_space_drive_global, ffename_space_drive_symbol):
1052 * name.h (ffename_space_drive_global, ffename_space_drive_symbol):
1055 * symbol.c (ffesymbol_state_name_, ffesymbol_attr_name_,
1056 ffesymbol_attrs_string): Const-ify a char*.
1057 (ffesymbol_drive, ffesymbol_drive_sfnames): Protoize.
1058 (ffesymbol_state_string): Const-ify a char*.
1060 * symbol.h (ffesymbol_attrs_string): Likewise.
1061 (ffesymbol_drive, ffesymbol_drive_sfnames): Protoize.
1062 (ffesymbol_state_string): Const-ify a char*.
1064 * target.c (ffetarget_layout): Likewise.
1066 * target.h (ffetarget_layout): Likewise.
1068 1999-03-25 Zack Weinberg <zack@rabi.columbia.edu>
1070 * Make-lang.in: Remove all references to g77.o/g77.c.
1071 Link g77 from gcc.o.
1073 1999-03-21 Manfred Hollstein <manfred@s-direktnet.de>
1075 * Makefile.in (g77$(exeext)): Depend on intl.o. Link in intl.o.
1077 Wed Mar 17 11:39:44 1999 Craig Burley <craig@jcb-sc.com>
1079 * news.texi: Editorial fix.
1081 Mon Mar 15 17:12:07 1999 Craig Burley <craig@jcb-sc.com>
1083 * bugs.texi, g77.texi, news.texi: Editorial fixes.
1085 Sat Mar 13 17:51:55 1999 Craig Burley <craig@jcb-sc.com>
1087 Fix 19990313-0.f, 19990313-1.f, 19990313-2.f, 19990313-3.f:
1088 * bad.def (FFEBAD_NOCANDO): New error code for internal use only.
1089 * expr.c (ffeexpr_collapse_convert): If FFEBAD_NOCANDO returned
1090 by convertor, just return original expr.
1091 * target.h: Return FFEBAD_NOCANDO for (usually) 64-bit
1092 conversions that aren't yet working properly.
1093 * news.texi: Explain.
1095 * version.c: Bump version.
1097 Sat Mar 13 14:26:55 1999 Craig Burley <craig@jcb-sc.com>
1099 * RELEASE-PREP: New file, lists things to do for a release.
1101 * Make-lang.in, bugs.texi, bugs0.texi, g77.texi, g77install.texi,
1102 install0.texi, news.texi, news0.texi: Accommodate new doc
1104 Consolidate news items. Don't describe old news items in
1105 various generated docs.
1106 Don't describe FSF-g77 installation stuff in various EGCS-g77
1108 Move description of AUTOMATIC to more suitable location.
1109 * root.texi: New file for new doc architecture.
1111 Thu Mar 11 17:32:55 1999 Craig Burley <craig@jcb-sc.com>
1113 * g77.texi: Add AUTOMATIC to list of unsupported extensions.
1115 Sat Mar 6 02:28:35 1999 Craig Burley <craig@jcb-sc.com>
1117 Warn about non-Y2K-compliant intrinsics:
1118 * bad.def (FFEBAD_INTRINSIC_Y2KBAD): New diagnostic.
1119 * intrin.def (FFEINTRIN_impDATE, FFEINTRIN_impIDATE_vxt):
1120 Use new DEFIMPY macro to flag these as non-Y2K-compliant.
1121 * intdoc.c (DEFIMPY): Support new Y2K macro.
1122 * intrin.h (DEFIMPY): Ditto.
1123 * intrin.c (DEFIMPY): Ditto.
1124 (ffeintrin_fulfill_generic, ffeintrin_fulfill_specific):
1125 Warn about invocation of non-Y2K-compliant intrinsic.
1126 * com-rt.def (FFECOM_gfrtDATE, FFECOM_gfrtVXTIDATE):
1127 Rename external procedure names, to keep previously-
1128 compiled (sans-new-warnings) code from linking to
1130 * g77.texi: Document all this stuff.
1131 * news.texi: Spread the joy.
1132 * version.c: Bump version.
1134 Fri Mar 5 13:22:44 1999 Craig Burley <craig@jcb-sc.com>
1136 * news.texi: Relocate IDATE (VXT) fix: we put it in 1.1.2
1137 so describe it there, instead of under 1.2.
1139 Wed Mar 3 00:57:56 1999 Craig Burley <craig@jcb-sc.com>
1141 * news.texi: IDATE (VXT) fixed to return year as 0..99.
1143 Wed Mar 3 00:43:49 1999 Craig Burley <craig@jcb-sc.com>
1145 * g77.texi: Add remaining changes pending from Dave Love.
1147 Wed Mar 3 00:38:42 1999 Craig Burley <craig@jcb-sc.com>
1149 * bugs.texi, news.texi: Conditionalize cross-references
1150 on non-html processing, providing temporary HTML "links".
1152 * g77.texi: Fix up a reference.
1154 Wed Mar 3 00:12:31 1999 Craig Burley <craig@jcb-sc.com>
1156 * news.texi, bugs.texi: Delete fixed bugs, make one
1157 of them into the appropriate news item.
1159 Wed Mar 3 00:05:52 1999 Craig Burley <craig@jcb-sc.com>
1161 * news.texi: Copy over 1.1.2 news.
1163 1999-03-02 Craig Burley <craig@jcb-sc.com>
1165 * g77.texi (Bug Reporting): Clarify whether to use -E.
1166 Clarify other instructions.
1168 1999-02-27 Craig Burley <craig@jcb-sc.com>
1170 * lang-specs.h: Fix specs to pass `-ax' as well as `-a' option.
1172 1999-02-26 Craig Burley <craig@jcb-sc.com>
1174 * intdoc.in (STAT_func, STAT_subr,
1175 FSTAT_func, FSTAT_subr, LSTAT_func, LSTAT_subr):
1176 Properly order array elements. Specify N/A return values.
1178 1999-02-26 Craig Burley <craig@jcb-sc.com>
1180 * intdoc.in (DATE_AND_TIME): Explain that VALUES(7) holds
1181 seconds, and VALUES(8), therefore, milliseconds.
1183 1999-02-26 Craig Burley <craig@jcb-sc.com>
1185 * news.texi: Clarify IOSTAT= fix.
1187 1999-02-25 Richard Henderson <rth@cygnus.com>
1189 * lang-specs.h: Define __FAST_MATH__ when appropriate.
1191 1999-02-25 Craig Burley <craig@jcb-sc.com>
1193 * g77.texi: Clarify/index lack of run-time allocation for
1196 1999-02-25 Andreas Jaeger <aj@arthur.rhein-neckar.de>
1198 * f/intdoc.in: Add missing `,' after cross references.
1200 1999-02-20 Craig Burley <craig@jcb-sc.com>
1202 * Make-lang.in (f77.install-common, f77.install-info,
1203 f77.install-man, f77.uninstall): Use `$(prefix)/lang-f77'
1204 instead of `lang-f77' for flag file, to be sure of a
1205 writable directory, and remove the flag file after each
1206 operation to keep things clean.
1208 1999-02-20 Craig Burley <craig@jcb-sc.com>
1210 * g77.texi: Properly attribute Priest document; clarify
1211 that it is in the .ps version of the Goldberg document.
1213 1999-02-19 Craig Burley <craig@jcb-sc.com>
1215 * bugs0.texi, bugs.texi, install0.texi, g77install.texi,
1216 news0.texi, news.texi: Update copyright dates.
1217 Clarify which files are source, which are derived,
1218 and remind maintainers where copyright dates are sourced.
1219 * BUGS, INSTALL, NEWS: Regenerated.
1221 1999-02-19 Craig Burley <craig@jcb-sc.com>
1223 * global.c (ffeglobal_ref_progunit_): Warn about a function
1224 definition that disagrees with the type of a previous reference.
1225 Improve commentary. Fix a couple of minor bugs. Clean up
1227 * news.texi: Spread the joy.
1229 1999-02-18 Craig Burley <craig@jcb-sc.com>
1231 * expr.c (ffeexpr_finished_): Disallow non-default INTEGER
1232 as argument for FILEINT and FILEASSOC as lhs.
1233 * news.texi: Document fix.
1236 1999-02-18 Craig Burley <craig@jcb-sc.com>
1238 * g77.texi: Clarify -fno-globals vs. -Wno-globals.
1240 1999-02-18 Craig Burley <craig@jcb-sc.com>
1242 * intdoc.in (LOG10): Fix typo.
1244 1999-02-17 Ulrich Drepper <drepper@cygnus.com>
1246 * intdoc.in: Fix typo.
1248 1999-02-17 Craig Burley <craig@jcb-sc.com>
1250 * g77.texi, intdoc.in: Document Y2K and some other known
1252 * intrin.def (DTIME, FDATE): Fix capitalization of
1253 case-sensitive forms of these intrinsics' names.
1255 1999-02-17 Dave Love <fx@gnu.org>
1257 * intdoc.in: Say `common' logarithm for log10.
1259 1999-02-16 Ulrich Drepper <drepper@cygnus.com>
1261 * g77.texi: Add missing @ in email addresses.
1263 1999-02-15 Craig Burley <craig@jcb-sc.com>
1265 * *.*: Delete my (old) email address in most places, change it
1268 1999-02-14 Craig Burley <craig@jcb-sc.com>
1272 1999-02-14 Craig Burley <craig@jcb-sc.com>
1274 * version.c: Bump for 1998-10-02 change (forgot to do this
1277 1999-02-14 Craig Burley <craig@jcb-sc.com>
1279 * lang-specs.h, g77.1, g77.texi, news.texi: Recognize `.FOR'
1280 and `.FPP' as well as `.for' and `.fpp'.
1282 1999-02-14 Craig Burley <craig@jcb-sc.com>
1284 * intdoc.in (LOG10): Fix description.
1286 1999-02-14 Craig Burley <craig@jcb-sc.com>
1288 * news.texi: Mention fix for SIGNAL invocation circa egcs-1.1.
1290 1999-02-14 Craig Burley <craig@jcb-sc.com>
1292 * g77.texi, g77install.texi, bugs.texi, g77install.texi: Clean
1293 up and improve indexing, and some other areas of docs.
1295 1999-02-14 Craig Burley <craig@jcb-sc.com>
1297 * intdoc.in (MCLOCK8, TIME8): Warn about lower range on
1300 Sat Feb 6 18:02:17 1999 Jeffrey A Law (law@cygnus.com)
1302 * g77.texi: Update email addresses.
1304 Wed Feb 3 22:50:17 1999 Marc Espie <Marc.Espie@liafa.jussieu.fr>
1306 * Make-lang.in (g77$(exeext)): Get choose-temp.o, pexecute.o and
1307 mkstemp.o from libiberty.
1309 1999-02-01 Zack Weinberg <zack@rabi.columbia.edu>
1311 * top.c: Don't define ffe_is_ident_. Don't process
1313 * top.h: Remove declaration of ffe_is_ident_ and macros
1314 ffe_is_ident() and ffe_set_is_ident().
1315 * lex.c: Use flag_no_ident instead of ffe_is_ident().
1317 Sun Jan 31 20:34:29 1999 Zack Weinberg <zack@rabi.columbia.edu>
1319 * lang-specs.h: Map -Qn to -fno-ident.
1321 Tue Jan 5 22:12:41 1999 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1323 * Make-lang.in (g77.o): Depend on prefix.h.
1325 Fri Nov 27 13:10:32 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1327 * fini.c: Rename variable `spaces' to `xspaces' to avoid
1328 conflicting with function `spaces' from libiberty.
1330 * g77spec.c: Don't prototype libiberty functions.
1331 * malloc.c: Likewise.
1333 1998-11-20 Dave Love <d.love@dl.ac.uk>
1335 * g77.texi: Assorted minor changes.
1337 1998-11-19 Dave Love <d.love@dl.ac.uk>
1339 * bugs.texi: Formatting changes from Craig.
1341 * intdoc.in: Terminate some @xrefs with `,'.
1343 1998-11-19 Manfred Hollstein <manfred@s-direktnet.de>
1345 * Make-lang.in (mandir): Replace all uses of $(mandir) by $(man1dir).
1347 Mon Nov 9 23:15:39 1998 Jeffrey A Law (law@cygnus.com)
1349 * g77.texi, news.texi: Updates from Craig.
1351 Sun Nov 8 17:47:56 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1353 * Makefile.in (INCLUDES): Add "-I$(srcdir)/../../include".
1355 Sat Nov 7 15:58:54 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1357 * g77spec.c: Don't include gansidecl.h.
1358 * output.j: Likewise.
1360 1998-11-04 Dave Love <d.love@dl.ac.uk>
1362 * g77.texi: Small formatting/indexing fixes.
1364 Mon Oct 12 20:41:59 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
1366 * bad.c (ffebad_finish): Change type of variable `c' to unsigned
1367 char, change type of variable `s' to unsigned char *.
1369 * com.c (ffecom_symbol_null_): Add missing initializers.
1371 * fini.c (MAXNAMELEN): Undef it before defining.
1373 * implic.c (ffeimplic_lookup_): Change type of parameter `c' to
1376 * intrin.c (ffeintrin_init_0): Cast the argument of ctype macros
1379 * lex.c (ffelex_splice_tokens): Change type of variable `p' to
1381 (ffelex_token_name_from_names): Cast the argument of
1382 `ffelex_is_firstnamechar' to (unsigned char).
1383 (ffelex_token_names_from_names): Likewise.
1384 (ffelex_token_new_name): Likewise.
1385 (ffelex_token_new_names): Likewise.
1387 * malloc.c (malloc_root_): Add missing initializer.
1389 * stb.c (ffestb_do): Change type of variable `p' to unsigned char *.
1390 (ffestb_else) Likewise.
1391 (ffestb_else3_) Likewise.
1392 (ffestb_endxyz) Likewise.
1393 (ffestb_goto) Likewise.
1394 (ffestb_let) Likewise.
1395 (ffestb_varlist) Likewise.
1396 (ffestb_R522) Likewise.
1397 (ffestb_R528) Likewise.
1398 (ffestb_R834) Likewise.
1399 (ffestb_R835) Likewise.
1400 (ffestb_R838) Likewise.
1401 (ffestb_R1102) Likewise.
1402 (ffestb_blockdata) Likewise.
1403 (ffestb_R1212) Likewise.
1404 (ffestb_R810) Likewise.
1405 (ffestb_R10014_): Cast the argument of `ffelex_is_firstnamechar'
1407 (ffestb_V014): Change type of variable `p' to unsigned char *.
1408 (ffestb_dummy) Likewise.
1409 (ffestb_R524) Likewise.
1410 (ffestb_R547) Likewise.
1411 (ffestb_decl_chartype) Likewise.
1412 (ffestb_decl_dbltype) Likewise.
1413 (ffestb_decl_gentype) Likewise.
1414 (ffestb_decl_entsp_2_) Likewise.
1415 (ffestb_V027) Likewise.
1416 (ffestb_decl_R539) Likewise.
1418 * top.c (ffe_decode_option): Mark parameter `argc' with
1421 * where.c (ffewhere_unknown_line_): Add missing initializers.
1423 1998-10-02 Dave Love <d.love@dl.ac.uk>
1425 * com.c (ffecom_expr_intrinsic_): Fix return type for RAND.
1427 Thu Oct 1 10:43:45 1998 Nick Clifton <nickc@cygnus.com>
1429 * lex.c: Replace occurances of HANDLE_SYSV_PRAGMA with
1430 HANDLE_GENERIC_PRAGMAS.
1432 Mon Sep 28 04:22:00 1998 Jeffrey A Law (law@cygnus.com)
1434 * news.texi: Update from Craig.
1436 1998-09-23 Dave Love <d.love@dl.ac.uk>
1438 * g77.texi: Additions about `/*', trailing comments and cpp.
1440 1998-09-18 Dave Love <d.love@dl.ac.uk>
1442 * g77.texi: Various additions and some small fixes.
1444 Thu Sep 10 14:55:44 1998 Kamil Iskra <iskra@student.uci.agh.edu.pl>
1446 * Make-lang.in (f77.install-common): Add missing "else true;".
1448 1998-09-07 Dave Love <d.love@dl.ac.uk>
1450 * ChangeLog.egcs: Deleted. Entries merged here.
1452 1998-09-05 Dave Love <d.love@dl.ac.uk>
1454 * Makefile.in (LDFLAGS): Set from BOOT_LDFLAGS.
1455 (F771_LDFLAGS): Variable dispensed with.
1457 Fri Sep 4 19:53:34 1998 Craig Burley <burley@gnu.org>
1459 * intdoc.in: Minor editorial tweaks.
1461 Fri Sep 4 18:35:52 1998 Craig Burley <burley@gnu.org>
1463 * lang-options.h: Convert to wrap option and doc string
1464 in a new macro invocation, FTNOPT, so the nearly identical
1465 list can be used in FSF-g77.
1467 Fri Sep 4 18:35:52 1998 Craig Burley <burley@gnu.org>
1469 * Makefile.in (fini.o): Don't define USE_HCONFIG here.
1470 * fini.c: Define USE_HCONFIG here instead, so deps-kinda
1471 picks up correct dependency.
1473 * Makefile.in (proj-h.o): Fix dependencies list.
1475 Wed Sep 02 09:25:29 1998 Nick Clifton <nickc@cygnus.com>
1477 * lex.c (ffe_lex_hash): Change how HANDLE_PRAGMA and
1478 HANDLE_SYSV_PRAGMA would be called if they pragma parsing was
1479 enabled in this code.
1480 Generate warning messages if unknown pragmas are encountered.
1481 (pragma_getc): New function: retrieves characters from the
1482 input stream. Defined when HANDLE_PRAGMA is defined.
1483 (pragma_ungetc): New function: replaces characters back into the
1484 input stream. Defined when HANDLE_PRAGMA is defined.
1486 Tue Sep 1 10:00:21 1998 Craig Burley <burley@gnu.org>
1488 * bugs.texi, g77.1, g77.texi, intdoc.in, news.texi: Doc updates
1491 1998-08-23 Dave Love <d.love@dl.ac.uk>
1493 * g77.texi: Increment `version-g77' and fix a few typos.
1495 Tue Aug 18 21:41:31 1998 Jeffrey A Law (law@cygnus.com)
1497 * Make-lang.in: Add several "else true" clauses to deal with lame
1500 Tue Aug 11 08:12:14 1998 H.J. Lu (hjl@gnu.org)
1502 * Make-lang.in (g77.o): Touch lang-f77 before checking it.
1504 1998-08-09 Dave Love <d.love@dl.ac.uk>
1506 * Make-lang.in (f/g77.dvi): Replace non-working use of texi2dvi
1507 with explicit use of tex.
1508 (f77.mostlyclean): Remove TeX index files.
1510 * g77install.texi (Prerequisites): Kluge round TeX lossage with
1511 hyphen in @value in @code.
1513 Tue Aug 4 16:59:39 1998 Craig Burley <burley@gnu.org>
1515 * com.c (ffecom_convert_narrow_, ffecom_convert_widen_):
1516 Allow conversion from pointer to same-sized integer,
1517 to fix invoking SIGNAL as a function.
1519 1998-07-26 Dave Love <d.love@dl.ac.uk>
1521 * BUGS, INSTALL, NEWS: Rebuilt.
1523 Sat Jul 25 17:23:55 1998 Craig Burley <burley@gnu.org>
1526 * stc.c (ffestc_R1229_start): Set info to ANY as well.
1528 Tue Jul 21 04:33:37 1998 Craig Burley <burley@gnu.org>
1530 * g77spec.c (lang_specific_driver): Return unmolested
1531 command line when --help seen.
1532 Comment out code that printed g77-specific --help info.
1534 Sat Jul 18 19:16:48 1998 Craig Burley <burley@gnu.org>
1536 * lang-options.h: Fix up doc strings.
1537 Remove the unimplemented -fdcp-intrinsics-* options.
1539 * str-1t.fin: Change mixed-case spelling of `GoTo' from
1542 Thu Jul 16 13:26:36 1998 Craig Burley <burley@gnu.org>
1544 * com.c (ffecom_finish_symbol_transform_): Revert change
1545 of 1998-05-23, as it was too aggressive, in that it
1546 prevented transformation of (used) functions before
1547 primary code generation.
1549 1998-07-15 Dave Love <d.love@dl.ac.uk>
1551 * intdoc.texi: Regenerated.
1553 Mon Jul 13 18:45:06 1998 Craig Burley <burley@gnu.org>
1555 * Make-lang.in (f77.rebuilt): Fix to depend on
1556 build-dir-based, not source-based, g77.info.
1558 * g77.texi: Merge docs with 0.5.24.
1559 * g77install.texi: Ditto.
1561 Mon Jul 13 18:02:29 1998 Craig Burley <burley@gnu.org>
1563 Cleanups vis-a-vis g77-0.5.24:
1564 * g77spec.c (lang_specific_driver): Tabify source.
1565 * top.c (ffe_decode_option): Use fixed macro to set
1566 internal-checking flag.
1567 * top.h (ffe_set_is_do_internal_checks): Fix macro.
1569 Mon Jul 13 17:33:44 1998 Craig Burley <burley@gnu.org>
1571 Cleanups vis-a-vis system.h cutover and g77-0.5.24:
1572 * Makefile.in (fini.o): Define USE_HCONFIG macro
1573 so source code doesn't have to.
1574 * fini.c: Don't define USE_HCONFIG here, since
1575 source code usually shouldn't care about this.
1576 * ansify.c: Include stddef.h only if we have it.
1580 Mon Jul 13 17:30:29 1998 Nick Clifton <nickc@cygnus.com>
1582 * lang-options.h: Format changed to work with --help support added
1585 Mon Jul 13 11:54:03 1998 Craig Burley <burley@gnu.org>
1587 * com.c (ffecom_push_tempvar): Replace kludge that
1588 munged back-end globals directly with proper calls
1589 to push_topmost_sequence and pop_topmost_sequence.
1591 1998-07-12 Dave Love <d.love@dl.ac.uk>
1593 * version.c: Bump version.
1595 Sat Jul 11 19:24:32 1998 Craig Burley <burley@gnu.org>
1598 * equiv.c (ffeequiv_offset_): Don't crash on various
1599 possible ANY operands.
1601 Sat Jul 11 18:24:37 1998 Craig Burley <burley@gnu.org>
1603 * com.c (ffecom_expr_) [FFEBLD_opCONTER]: Die if padding
1604 for constant is non-zero.
1606 * com.c (__eprintf): Delete this function, it is obsolete.
1608 1998-07-09 Dave Love <d.love@dl.ac.uk>
1610 * intdoc.in (HOSTNM_func, HOSTNM_subr): Update last change.
1612 Thu Jul 9 00:45:59 1998 Craig Burley <burley@gnu.org>
1614 Fix debugging of CHARACTER*(*), etc., which requires
1615 emitting debug info on types like `ftnlen':
1616 * com.c (ffecom_start_progunit_): Don't bother
1617 resetting "invented" flag for identifier.
1618 (ffecom_transform_equiv_): Don't bother zeroing
1619 "ignored" flag for decl.
1620 (pushdecl): No longer set "ignored", "used", or
1621 "suppressed debug" flags for decls having "invented"
1624 1998-07-06 Mike Stump <mrs@wrs.com>
1626 * Make-lang.in (f77.stage?): Use mv -f instead of just mv so that
1629 1998-07-06 Dave Love <d.love@dl.ac.uk>
1631 * intdoc.in (HOSTNM_func, HOSTNM_subr): Note possible need for
1634 1998-07-05 Dave Love <d.love@dl.ac.uk>
1636 * intdoc.in: Add entry for DATE_AND_TIME.
1638 * intrin.def: Add implementation for DATE_AND_TIME. Make second
1639 and third args of SYSTEM_CLOCK optional.
1641 * com.c (ffecom_expr_intrinsic_): New case for DATE_AND_TIME.
1643 * com-rt.def (FFECOM_gfrtSYSTEM_CLOCK): Call G77_system_clock_0,
1645 (FFECOM_gfrtDATE_AND_TIME): New DEFGFRT.
1647 Wed Jul 1 11:19:13 1998 Craig Burley <burley@gnu.org>
1649 Fix 980701-1.f (which was producing "unaligned trap"
1650 on an Alpha running GNU/Linux, as predicted):
1651 * equiv.c (ffeequiv_layout_local_): Don't bother
1652 coping with pre-padding of entire area while building
1653 it; do that instead after the building is done, and
1654 do it by modifying only the modulo field. This covers
1655 the case of alignment stringency being increased without
1656 lowering the starting offset, unlike the previous changes,
1657 and even more elegantly than those.
1659 * target.c (ffetarget_align): Make sure alignments
1660 are non-zero, just in case.
1662 See ChangeLog.0 for earlier changes.
1665 add-log-time-format: current-time-string