| Mon Jun 29 09:47:33 1998 Craig Burley <burley@gnu.org> |
| |
| Fix 980628-*.f: |
| * bld.h: New `pad' field and accessor macros for |
| ACCTER, ARRTER, and CONTER ops. |
| * bld.c (ffebld_new_accter, ffebld_new_arrter, |
| ffebld_new_conter_with_orig): Initialize `pad' field |
| to zero. |
| * com.c (ffecom_transform_common_): Include initial |
| padding (aka modulo aka offset) in size calculation. |
| Copy initial padding value into FFE initialization expression |
| so the GBE transformation of that expression includes it. |
| Make array low bound 0 instead of 1, for consistency. |
| (ffecom_transform_equiv_): Include initial |
| padding (aka modulo aka offset) in size calculation. |
| Copy initial padding value into FFE initialization expression |
| so the GBE transformation of that expression includes it. |
| Make array low bound 0 instead of 1, for consistency. |
| (ffecom_expr_, case FFEBLD_opACCTER): Delete unused `size' |
| variable. |
| Track destination offset separately, allowing for |
| initial padding. |
| Don't bother setting initial PURPOSE offset if zero. |
| Include initial padding in size calculation. |
| (ffecom_expr_, case FFEBLD_opARRTER): Allow for |
| initial padding. |
| Include initial padding in size calculation. |
| Make array low bound 0 instead of 1, for consistency. |
| (ffecom_finish_global_): Make array low bound 0 instead |
| of 1, for consistency. |
| (ffecom_notify_init_storage): Copy `pad' field from old |
| ACCTER to new ARRTER. |
| (ffecom_notify_init_symbol): Ditto. |
| * data.c (ffedata_gather_): Initialize `pad' field in new |
| ARRTER to 0. |
| (ffedata_value_): Ditto. |
| * equiv.c (ffeequiv_layout_local_): When lowering start |
| of equiv area, extend lowering to maintain needed alignment. |
| * target.c (ffetarget_align): Handle negative offset correctly. |
| |
| * global.c (ffeglobal_pad_common): Warn about nonzero |
| padding only the first time its seen. |
| If new padding larger than old, update old. |
| (ffeglobal_save_common): Use correct type for size throughout. |
| * global.h: Use correct type for size throughout. |
| (ffeglobal_common_pad): New macro. |
| (ffeglobal_pad): Delete this unused and broken macro. |
| |
| Sat Jun 27 12:18:33 1998 Jeffrey A Law (law@cygnus.com) |
| |
| * Make-lang.in (g77): Depend on mkstemp.o. Link in mkstemp.o. |
| |
| Fri Jun 26 11:54:19 1998 Craig Burley <burley@gnu.org> |
| |
| * g77spec.c (lang_specific_driver): Put `-lg2c' in |
| front of any `-lm' that is seen. |
| |
| Wed Jun 24 01:01:23 1998 Jeffrey A Law (law@cygnus.com) |
| |
| * g77spec.c (lang_specific_driver): Revert last change. |
| |
| Mon Jun 22 23:12:05 1998 H.J. Lu (hjl@gnu.org) |
| |
| * Make-lang.in (G77STAGESTUFF): Add g77.c. |
| |
| Fri Jun 19 07:54:40 1998 H.J. Lu (hjl@gnu.org) |
| |
| * g77spec.c (lang_specific_driver): Check n_infiles before |
| appending args. |
| |
| Mon Jun 15 23:39:24 1998 Craig Burley <burley@gnu.org> |
| |
| * Make-lang.in (f/g77.info): Use -f when removing |
| pre-existing Info files, if any. (This rm command |
| can go away once makeinfo has been changed to delete |
| .info-N files beyond the last one it creates.) |
| |
| * Make-lang.in ($(srcdir)/f/intdoc.texi): Compile |
| using $(INCLUDES) macro to get the new hconfig.h |
| and system.h headers. |
| |
| Mon Jun 15 22:21:57 1998 Craig Burley <burley@gnu.org> |
| |
| Cutover to system.h: |
| * Make-lang.in: |
| * Makefile.in: |
| * ansify.c: |
| * bad.c: |
| * bld.c: |
| * com.c: |
| * com.h: |
| * expr.c: |
| * fini.c: |
| * g77spec.c: |
| * implic.c: |
| * intdoc.c: |
| * intrin.c: |
| * lex.c: |
| * lex.h: |
| * parse.c: |
| * proj.c: |
| * proj.h: |
| * src.c: |
| * src.h: |
| * stb.c: |
| * ste.c: |
| * target.c: |
| * top.c: |
| * system.j: New file. |
| |
| Use toplev.h where appropriate: |
| * Make-lang.in: |
| * Makefile.in: |
| * bad.c: |
| * bld.c: |
| * com.c: |
| * lex.c: |
| * ste.c: |
| * top.c: |
| * toplev.j: New file. |
| |
| Conditionalize all dumping/reporting routines so they don't |
| get built for gcc/egcs: |
| * bld.c: |
| * bld.h: |
| * com.c: |
| * equiv.c: |
| * equiv.h: |
| * sta.c: |
| * stt.c: |
| * stt.h: |
| * symbol.c: |
| * symbol.h: |
| |
| Use hconfig.h instead of config.h where appropriate: |
| * Makefile.in (proj-h.o): Compile with -DUSE_HCONFIG. |
| * fini.c: Define USE_HCONFIG before including proj.h. |
| |
| * Makefile.in (deps-kinda): Redirect stderr to stdout, |
| to eliminate diagnostics vis-a-vis g77spec.c. |
| |
| * Makefile.in: Regenerate dependencies via deps-kinda. |
| |
| * lex.c (ffelex_file_fixed, ffelex_file_free): Eliminate |
| apparently spurious warnings about uninitialized variables |
| `c', `column', and so on. |
| |
| Sat Jun 13 03:13:18 1998 Craig Burley <burley@gnu.org> |
| |
| * g77spec.c (lang_specific_driver): Print out egcs |
| version info first, to be compatible with what some |
| test facilities expect. |
| |
| Wed Jun 10 13:17:32 1998 Dave Brolley <brolley@cygnus.com> |
| |
| * top.h (ffe_decode_option): New argc/argv interface. |
| * top.c (ffe_decode_option): New argc/argv interface. |
| * parse.c (yyparse): New argc/argv interface for ffe_decode_option. |
| * com.c (lang_decode_option): New argc/argv interface. |
| |
| Sun Jun 7 14:04:34 1998 Richard Henderson <rth@cygnus.com> |
| |
| * com.c (lang_init_options): New function. |
| * top.c (ffe_decode_option): Remove all trace of -fset-g77-defaults. |
| Set ffe_is_do_internal_checks_ with -version. |
| * lang-options.h: Likewise. |
| * lang-specs.h: Likewise. |
| |
| Fri Jun 5 15:53:17 1998 Per Bothner <bothner@cygnus.com> |
| |
| * g77spec.c (lang_specific_pre_link, lang_specific_extra_ofiles): |
| Define - update needed by gcc.c change. |
| |
| Mon Jun 1 19:37:42 1998 Craig Burley <burley@gnu.org> |
| |
| * com.c (ffecom_init_0): Fix setup of INTEGER(KIND=7) |
| pointer type. |
| * info.c (ffeinfo_type): Don't crash on null type. |
| * expr.c (ffeexpr_fulfill_call_): Don't special-case |
| %LOC(expr) or LOC(expr). |
| Delete FFEGLOBAL_argsummaryPTR. |
| * global.c, global.h: Delete FFEGLOBAL_argsummaryPTR. |
| |
| Thu May 28 21:32:18 1998 Craig Burley <burley@gnu.org> |
| |
| Restore circa-0.5.22 capabilities of `g77' driver: |
| * Make-lang.in (g77spec.o): Depend on f/version.h. |
| (g77version.o): New rule to compile g77 version info. |
| (g77$(exeext)): Depend on and link in g77version.o. |
| * g77spec.c: Rewrite to be more like 0.5.22 version |
| of g77.c, making filtering of command line smarter |
| so mixed Fortran and C (etc.) can be compiled, verbose |
| version info can be obtained, etc. |
| * lang-specs.h (f77-version): New "language" to support |
| "g77 -v" command under new gcc 2.8 regime. |
| * lex.c (ffelex_file_fixed): If -fnull-version, just |
| substitute a "source file" that prints out version info. |
| * top.c, top.h: Support -fnull-version. |
| |
| * lang-specs.h: Use "%O" instead of OO macro to specify |
| object extension. Remove old stringizing cruft. |
| |
| * Make-lang.in (g77.c, g77spec.o, g77.o, g77$(exeext), |
| g77-cross$(exeext), f771, |
| $(srcdir)/f/g77.info, $(srcdir)/f/g77.dvi, |
| $(srcdir)/f/intdoc.texi, |
| f77.install-common, f77.install-info, f77.install-man, |
| f77.uninstall, $(G77STAGESTUFF), f77.stage1, f77.stage2, |
| f77.stage3, f77.stage4, f77.distdir): Don't do anything |
| unless user specified "f77" or "F77" in $LANGUAGES either |
| during configuration or explicitly. For convenience of |
| various tests and to work around lack of the assignment |
| "LANGUAGES=$(BOOT_LANGUAGES)" in the "make stage1" command |
| of "make bootstrap" in gcc, use a touch file named "lang-f77" |
| to communicate whether this is the case. |
| |
| * Make-lang.in (F77_FLAGS_TO_PASS): Delete this macro, |
| replace with minimal expansion of its former self in |
| each of the two instances where it was used. |
| |
| * Makefile.in (HOST_CC): Delete this definition. |
| |
| * com.c (index, rindex): Delete these declarations. |
| |
| * proj.h: (isascii): Delete this. |
| |
| * Make-lang.in (f77.install-common): Warn if `f77-install-ok' |
| flag-file exists, since it no longer triggers any activity. |
| |
| Rename libf2c.a and f2c.h to libg2c.a and g2c.h, |
| normalize and simplify g77/libg2c build process: |
| * Make-lang.in: Remove all support for overwriting |
| /usr/bin/f77 etc., or whatever the actual names are |
| via $(prefix) and $(local_prefix). (g++ overwrites |
| /usr/bin/c++, but then it's often the only C++ compiler |
| on the system; f77 often exists on systems that are |
| installing g77.) |
| (f77.realclean): Remove obsolete target. |
| (g77.c, g77$(exeext)): Minor changes to look more like g++'s |
| stuff. |
| (f771): Now built with srcdir=gcc/f, not srcdir=gcc, to be |
| more like g++ and such. |
| (f/Makefile): Removed, as g++ doesn't need this rule. |
| (f77.install-common): No longer install f77, etc. |
| (f77.install-man): No longer install f77.1. |
| (f77.uninstall): No longer uninstall f77, f77.1, etc. |
| (f77.stage1, f77.stage2, f77.stage3, f77.stage4): Do work |
| only if "f77" appears in $(LANGUAGES). |
| (Note: gcc's Makefile.in's bootstrap target should set |
| LANGUAGES=$(BOOT_LANGUAGES) when making the stage1 target.) |
| * Makefile.in: Update vis-a-vis gcc/cp/Makefile.in. |
| (none): Remove. |
| (g77-only): Relocate. |
| (all.indirect, f771, *.o): Now assumes current directory |
| is this dir (gcc/f), not the parent directory. |
| (TAGS): Remove "echo 'parse.y,0' >> TAGS ;" line. |
| * config-lang.in: Delete commented-out code. |
| Fix stagestuff definition. Add more stuff to |
| diff_excludes definition. Don't create any directories. |
| Set outputs to f/Makefile, to get variable substition |
| to happen (what does that really do, anyway?!). |
| * g77spec.c: Rename libf2c to libg2c. |
| |
| * com.h: Remove all of the gcc back-end decls, |
| since egcs should have all of them correct. |
| |
| * com.c: Include "proj.h" before anything else, |
| as that's how things are supposed to work. |
| * ste.c: Ditto. |
| |
| * bad.c: Include "flags.j" here, since some diagnostics |
| check flag_pedantic_errors. |
| |
| * Makefile.in (f/*.o): Rebuild dependencies via |
| deps-kinda. |
| |
| * output.j: New source file. |
| * Make-lang.in (F77_SRCS): Update accordingly. |
| * Makefile.in (OUTPUT_H): Ditto. |
| (deps-kinda): Ditto. |
| * com.c: Include "output.j" here. |
| * lex.c: Ditto. |
| |
| Mon May 25 03:34:42 1998 Craig Burley <burley@gnu.org> |
| |
| * com.c (ffecom_expr_): Fix D**I and Z**I cases to |
| not convert (DOUBLE PRECISION) D and (DOUBLE COMPLEX) Z |
| to INTEGER. (This is dead code here anyway.) |
| |
| Sat May 23 06:32:52 1998 Craig Burley <burley@gnu.org> |
| |
| * com.c (ffecom_finish_symbol_transform_): Don't transform |
| statement (nested) functions, to avoid gcc compiling them |
| and thus producing linker errors if they refer to undefined |
| external functions. But warn if they're unused and -Wunused. |
| * bad.def (FFEBAD_SFUNC_UNUSED): New diagnostic. |
| |
| Wed May 20 12:12:55 1998 Craig Burley <burley@gnu.org> |
| |
| * Version 0.5.23 released. |
| |
| Tue May 19 14:52:41 1998 Craig Burley <burley@gnu.org> |
| |
| * bad.def (FFEBAD_OPEN_UNSUPPORTED, FFEBAD_INQUIRE_UNSUPPORTED, |
| FFEBAD_READ_UNSUPPORTED, FFEBAD_WRITE_UNSUPPORTED, |
| FFEBAD_QUAD_UNSUPPORTED, FFEBAD_BLOCKDATA_STMT, |
| FFEBAD_TRUNCATING_CHARACTER, FFEBAD_TRUNCATING_HOLLERITH, |
| FFEBAD_TRUNCATING_NUMERIC, FFEBAD_TRUNCATING_TYPELESS, |
| FFEBAD_TYPELESS_OVERFLOW): Change these from warnings |
| to errors. |
| |
| Tue May 19 14:51:59 1998 Craig Burley <burley@gnu.org> |
| |
| * Make-lang.in (f77.install-info, f77.uninstall): |
| Use install-info as appropriate. |
| |
| Tue May 19 12:56:54 1998 Craig Burley <burley@gnu.org> |
| |
| * com.c (ffecom_init_0): Rename xargc to f__xargc, |
| in accord with same-dated change to f/runtime. |
| |
| Fri May 15 10:52:49 1998 Craig Burley <burley@gnu.org> |
| |
| * com.c (ffecom_convert_narrow_, ffecom_convert_widen_): |
| Be even more persnickety in checking for internal bugs. |
| Also, if precision isn't changing, just return the expr. |
| |
| * expr.c (ffeexpr_token_number_): Call |
| ffeexpr_make_float_const_ to make an integer. |
| (ffeexpr_make_float_const_): Handle making an integer. |
| |
| * intrin.c (ffeintrin_init_0): Distinguish between |
| crashes on bad arg base and kind types. |
| |
| Fri May 15 01:44:22 1998 Mumit Khan <khan@xraylith.wisc.edu> |
| |
| * Make-lang.in (f77.mostlyclean): Add missing exeext. |
| |
| Thu May 14 13:30:59 1998 Craig Burley <burley@gnu.org> |
| |
| * Make-lang.in (f/expr.c): Now depends on f/stamp-str. |
| * expr.c: Use ffestrOther in place of ffeexprDotdot_. |
| * str-ot.fin: Add more keywords for expr.c. |
| |
| * intdoc.c (dumpimp): Trivial fix. |
| |
| * com.c (ffecom_expr_): Add ltkt variable for clarity. |
| |
| Wed May 13 13:05:34 1998 Craig Burley <burley@gnu.org> |
| |
| * Make-lang.in (G77STAGESTUFF): Add g77.o, g77spec.o, |
| and g77version.o. |
| (f77.clean): Add removal of g77.c, g77.o, g77spec.o, |
| and g77version.o. |
| (f77.distclean): Delete removal of g77.c. |
| |
| Thu Apr 30 18:59:43 1998 Jim Wilson <wilson@cygnus.com> |
| |
| * Make-lang.in (g77.info, g77.dvi, BUGS, INSTALL, NEWS): Put -o |
| option before input file. |
| |
| Tue Apr 28 09:23:10 1998 Craig Burley <burley@gnu.org> |
| |
| Fix 980427-0.f: |
| * global.c (ffeglobal_ref_progunit_): When transitioning |
| from EXT to FUNC, discard hook, since the decl, if any, is |
| probably wrong. |
| |
| Sun Apr 26 09:05:50 1998 Craig Burley <burley@gnu.org> |
| |
| * com.c (ffecom_char_enhance_arg_): Wrap the upper bound |
| (the PARM_DECL specifying the length of the CHARACTER*(*) |
| dummy arg) in a variable_size invocation, to prevent |
| dwarf2out.c crashing when compiling code with -g. |
| |
| Sat Apr 18 15:26:57 1998 Jim Wilson <wilson@cygnus.com> |
| |
| * g77spec.c (lang_specific_driver): New argument in_added_libraries. |
| New local added_libraries. Increment count when add library to |
| arglist. |
| |
| Sat Apr 18 05:03:21 1998 Craig Burley <burley@gnu.org> |
| |
| * com.c (ffecom_check_size_overflow_): Ignore overflow |
| as well if dummy argument. |
| |
| Fri Apr 17 17:18:04 1998 Craig Burley <burley@gnu.org> |
| |
| * version.h: Get rid of the overly large headers |
| here too, as done in version.c. |
| |
| Tue Apr 14 15:51:37 1998 Dave Brolley <brolley@cygnus.com> |
| |
| * com.c (init_parse): Now returns char* containing filename; |
| |
| Tue Apr 14 14:40:40 1998 Craig Burley <burley@gnu.org> |
| |
| * com.c (ffecom_start_progunit_): Mark function decl |
| as used, to avoid spurious warning (-Wunused) for ENTRY. |
| |
| Tue Apr 14 14:19:34 1998 Craig Burley <burley@gnu.org> |
| |
| * sta.c (ffesta_second_): Check for CASE DEFAULT |
| as well as CASE, or it won't be recognized. |
| |
| Thu Apr 9 00:18:44 1998 Dave Brolley (brolley@cygnus.com) |
| |
| * com.c (finput): New variable. |
| (init_parse): Handle !USE_CPPLIB. |
| (finish_parse): New function. |
| (lang_init): No longer declare finput. |
| |
| Sat Apr 4 17:45:01 1998 Richard Henderson <rth@cygnus.com> |
| |
| * com.c (ffecom_expr_): Revert Oct 22 change. Instead take a WIDENP |
| argument so that we can respect the signedness of the original type. |
| (ffecom_init_0): Do sizetype initialization first. |
| |
| 1998-03-28 Dave Love <d.love@dl.ac.uk> |
| |
| * Make-lang.in (f771$(exeext)): Fix typo. |
| |
| 1998-03-24 Martin von Loewis <loewis@informatik.hu-berlin.de> |
| |
| * com.c (lang_print_xnode): New function. |
| |
| Mon Mar 23 21:20:35 1998 Craig Burley <burley@gnu.org> |
| |
| * version.c: Reduce to a one-line file, like |
| gcc's version.c, since there's really no content |
| there. |
| |
| Mon Mar 23 11:58:43 1998 Craig Burley <burley@gnu.org> |
| |
| * bugs.texi: Various updates. |
| |
| * com.c (ffecom_tree_canonize_ptr_): Fix up spacing a bit. |
| |
| Sun Mar 22 00:50:42 1998 Nick Clifton <nickc@cygnus.com> |
| Geoff Noer <noer@cygnus.com> |
| |
| * Makefile.in: Various fixes for building cygwin32 native toolchains. |
| * Make-lang.in: Likewise. |
| |
| Mon Mar 16 21:20:35 1998 Craig Burley <burley@gnu.org> |
| |
| * expr.c (ffeexpr_sym_impdoitem_): Don't blindly |
| reset symbol info after calling ffesymbol_error, |
| to avoid crash. |
| |
| Mon Mar 16 15:38:50 1998 Craig Burley <burley@gnu.org> |
| |
| * Version 0.5.22 released. |
| |
| Mon Mar 16 14:36:02 1998 Craig Burley <burley@gnu.org> |
| |
| Make -g work better for ENTRY: |
| * com.c (ffecom_start_progunit_): Master function |
| for ENTRY-laden procedure is not really invented, |
| so it can be debugged. |
| (ffecom_do_entry_): Push/set/pop lineno for each |
| entry point. |
| |
| Sun Mar 15 05:48:49 1998 Craig Burley <burley@gnu.org> |
| |
| * intrin.def: Fix spelling of mixed-case form |
| of `CPU_Time' (was `Cpu_Time'). |
| |
| Thu Mar 12 13:50:21 1998 Craig Burley <burley@gnu.org> |
| |
| * lang-options.h: Sort all -f*-intrinsics-* options, |
| for consistency with other g77 versions. |
| |
| Thu Mar 12 09:39:40 1998 Manfred Hollstein <manfred@s-direktnet.de> |
| |
| * lang-specs.h: Properly put brackets around array elements in initializer. |
| |
| 1998-03-09 Dave Love <d.love@dl.ac.uk> |
| |
| * Make-lang.in: Set CONFIG_SITE to a non-existent file since |
| /dev/null loses with bash 2.0/autoconf 2.12. Put |
| F77_FLAGS_TO_PASS before CC. |
| |
| Sun Mar 8 16:35:34 1998 Craig Burley <burley@gnu.org> |
| |
| * intrin.def: Use tabs instead of blanks more |
| consistently (excepting DEFGEN section for now). |
| |
| Wed Mar 4 17:38:21 1998 Jeffrey A Law (law@cygnus.com) |
| |
| * Make-lang.in: Remove more references to libf77. |
| |
| Tue Mar 3 10:52:35 1998 Manfred Hollstein <manfred@s-direktnet.de> |
| |
| * g77.texi: Use @url for citing URLs. |
| |
| Sat Feb 28 15:24:38 1998 Craig Burley <burley@gnu.org> |
| |
| * intrin.def: Make CPU_TIME's arg generic real to be just |
| like SECOND_subr. |
| |
| Fri Feb 20 12:45:53 1998 Craig Burley <burley@gnu.org> |
| |
| * expr.c (ffeexpr_token_arguments_): Make sure |
| outer exprstack isn't null. |
| |
| 1998-02-16 Dave Love <d.love@dl.ac.uk> |
| |
| * Makefile.in (f/fini): Don't use -W -Wall with HOST_CC. |
| |
| Fri Feb 13 00:14:56 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * com.c (type_for_mode): Add explicit braces to avoid ambiguous `else'. |
| |
| * expr.c (ffeexpr_type_combine): Likewise. |
| (ffeexpr_reduce_): Likewise. |
| (ffeexpr_declare_parenthesized_): Likewise. |
| |
| * src.c (ffesrc_strcmp_1ns2i): Likewise. |
| (ffesrc_strcmp_2c): Likewise. |
| (ffesrc_strncmp_2c): Likewise. |
| |
| * stb.c (ffestb_halt1_): Likewise. |
| (ffestb_R90910_): Likewise. |
| (ffestb_R9109_): Likewise. |
| |
| * stc.c (ffestc_R544_equiv_): Likewise. |
| |
| * std.c (ffestd_subr_copy_easy_): Likewise. |
| (ffestd_R1001dump_): Likewise. |
| (ffestd_R1001dump_1005_1_): Likewise. |
| (ffestd_R1001dump_1005_2_): Likewise. |
| (ffestd_R1001dump_1005_3_): Likewise. |
| (ffestd_R1001dump_1005_4_): Likewise. |
| (ffestd_R1001dump_1005_5_): Likewise. |
| (ffestd_R1001dump_1010_2_): Likewise. |
| |
| * ste.c (ffeste_R840): Likewise. |
| |
| * sts.c (ffests_puttext): Likewise. |
| |
| * symbol.c (ffesymbol_check_token_): Likewise. |
| |
| * target.c (ffetarget_real1): Likewise. |
| (ffetarget_real2): Likewise. |
| |
| Wed Feb 11 01:44:48 1998 Richard Henderson (rth@cygnus.com) |
| |
| * com.c (ffecom_ptr_to_expr) [FFEBLD_opARRAYREF]: Do upper - lower |
| in the native type, so as to properly handle negative indices. |
| |
| Tue Feb 3 20:13:05 1998 Richard Henderson <rth@cygnus.com> |
| |
| * config-lang.in: Remove references to runtime/. |
| |
| Sun Feb 1 12:43:49 1998 J"orn Rennecke <amylaar@cygnus.co.uk> |
| |
| * com.c (ffecom_tree_canonize_ptr_): Place bitsizetype typed expr |
| as first agument in MULT_EXPR. |
| Use bitsize_int (0L, 0L) as zero for bitsizes. |
| (ffecom_tree_canonize_ref_): |
| Use bitsize_int (0L, 0L) as zero for bitsizes. |
| (ffecom_init_0): Use set_sizetype. |
| |
| Sun Feb 1 02:26:58 1998 Richard Henderson <rth@cygnus.com> |
| |
| * runtime directory -- moved into "libf2c" in the toplevel |
| directory. |
| * Make-lang.in: Remove all runtime related stuff. |
| |
| Sun Jan 25 12:32:15 1998 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> |
| |
| * Make-lang.in (f77.stage1): Depend on stage1-start so parallel |
| make works better. |
| * (f77.stage2): Likewise for stage2-start. |
| * (f77.stage3): Likewise for stage3-start. |
| * (f77.stage4): Likewise for stage4-start. |
| |
| Sat Jan 17 21:28:08 1998 Pieter Nagel <pnagel@epiuse.co.za> |
| |
| * Makefile.in (FLAGS_TO_PASS): Pass down gcc_include_dir and |
| local_prefix to sub-make invocations. |
| |
| Tue Jan 13 22:07:54 1998 Jeffrey A Law (law@cygnus.com) |
| |
| * lang-options.h: Add missing options. |
| |
| Sun Jan 11 02:14:47 1998 Craig Burley <burley@gnu.org> |
| |
| Support FORMAT(I<1+2>) (constant variable-FORMAT |
| expressions): |
| * bad.def (FFEBAD_FORMAT_VARIABLE): New diagnostic. |
| * std.c (ffestd_R1001rtexpr_): New function. |
| (ffestd_R1001dump_, ffestd_R1001dump_1005_1_, |
| ffestd_R1001dump_1005_2_, ffestd_R1001dump_1005_3_, |
| ffestd_R1001dump_1005_4_, ffestd_R1001dump_1005_5_, |
| ffestd_R1001dump_1010_2_, ffestd_R1001dump_1010_3_, |
| ffestd_R1001dump_1010_4_, ffestd_R1001dump_1010_5_): |
| Use new function instead of ffestd_R1001error_. |
| |
| * stb.c (ffestb_R10014_, ffestb_R10016_, ffestb_R10018_, |
| ffestb_R100110_): Restructure `for' loop for style. |
| |
| Fix 970626-2.f by not doing most back-end processing |
| when current_function_decl is an ERROR_MARK, and by |
| making that the case when its type would be an ERROR_MARK: |
| * com.c (ffecom_start_progunit_, finish_function, |
| lang_printable_name, start_function, |
| ffecom_finish_symbol_transform_): Test for ERROR_MARK. |
| * std.c (ffestd_stmt_pass_): Don't do any downstream |
| processing if ERROR_MARK. |
| |
| * Make-lang.in (f77.install-common): Don't install, and |
| don't uninstall existing, Info files if f/g77.info |
| doesn't exit. (This is a somewhat modified version |
| of an egcs patch on 1998-01-07 12:05:51 by Bruno Haible |
| <bruno@linuix.mathematik.uni-karlsruhe.de>.) |
| |
| Fri Jan 9 19:09:07 1998 Craig Burley <burley@gnu.org> |
| |
| Fix -fpedantic combined with `F()' invocation, |
| also -fugly-comma combined with `IARGC()' invocation: |
| * bad.def (FFEBAD_NULL_ARGUMENT_W): New diagnostic. |
| * expr.c (ffeexpr_finished_): Don't reject null expressions |
| in the argument-expression context -- let outer context |
| handle that. |
| (ffeexpr_token_arguments_): Warn about null expressions |
| here if -fpedantic (as appropriate). |
| Obey -fugly-comma for only external-procedure invocations. |
| * intrin.c (ffeintrin_check_): No longer ignore explicit |
| omitted trailing args. |
| |
| Tue Dec 23 14:58:04 1997 Craig Burley <burley@gnu.org> |
| |
| * intrin.c (ffeintrin_fulfill_generic): Don't generate |
| FFEBAD_INTRINSIC_TYPE for CHARACTER*(*) intrinsic. |
| |
| * com.c (ffecom_gfrt_basictype): |
| (ffecom_gfrt_kindtype): |
| (ffecom_make_gfrt_): |
| (FFECOM_rttypeVOIDSTAR_): New return type `void *', for |
| the SIGNAL intrinsic. |
| * com-rt.def (FFECOM_rttypeSIGNAL): Now returns `void *'. |
| * intdoc.c: Replace `p' kind specifier with `7'. |
| * intrin.c (ffeintrin_check_, ffeintrin_init_0): Replace |
| `p' kind specifier with `7'. |
| * intrin.def (FFEINTRIN_impLOC, FFEINTRIN_impSIGNAL_func, |
| FFEINTRIN_impSIGNAL_subr): Replace `p' specifier with `7'. |
| Also, SIGNAL now returns a `void *' status, not `int'. |
| |
| Improve run-time diagnostic for "PRINT '(I1', 42": |
| * com.c (ffecom_char_args_x_): Renamed from ffecom_char_args_, |
| which is now a macro (to avoid lots of changes to other code) |
| with new arg, ffecom_char_args_with_null_ being another new |
| macro to call same function with different value for new arg. |
| This function now appends a null byte to opCONTER expression |
| if the new arg is TRUE. |
| (ffecom_arg_ptr_to_expr): Support NULL length pointer. |
| * ste.c (ffeste_io_cilist_): |
| (ffeste_io_icilist_): Pass NULL length ptr for |
| FORMAT expression, so null byte gets appended where |
| feasible. |
| * target.c (ffetarget_character1): |
| (ffetarget_concatenate_character1): |
| (ffetarget_substr_character1): |
| (ffetarget_convert_character1_character1): |
| (ffetarget_convert_character1_hollerith): |
| (ffetarget_convert_character1_integer4): |
| (ffetarget_convert_character1_logical4): |
| (ffetarget_convert_character1_typeless): |
| (ffetarget_hollerith): Append extra phantom null byte as |
| part of FFETARGET-NULL-BYTE kludge. |
| |
| * intrin.def (FFEINTRIN_impCPU_TIME): Point to |
| FFECOM_gfrtSECOND as primary run-time routine. |
| |
| Mon Dec 22 12:41:07 1997 Craig Burley <burley@gnu.org> |
| |
| * intrin.c (ffeintrin_init_0): Remove duplicate |
| check for `!'. |
| |
| Fri Dec 19 00:12:01 1997 Richard Henderson <rth@cygnus.com> |
| |
| * com.c (ffecom_sym_transform_): Assumed arrays have no upper bound. |
| |
| Mon Dec 15 17:35:35 1997 Richard Henderson <rth@cygnus.com> |
| |
| * com.c (ffecom_type_vardesc_): Vardesc.dims is a `ftnlen*'. |
| |
| Sun Dec 14 02:49:58 1997 Craig Burley <burley@gnu.org> |
| |
| * intrin.c (ffeintrin_init_0): Fix up indentation a bit. |
| Fix bug that prevented checking of arguments other |
| than the first. |
| |
| * intdoc.c: Fix up indentation a bit. |
| |
| Tue Dec 9 16:20:57 1997 Richard Henderson <rth@cygnus.com> |
| |
| * com.c (ffecom_type_vardesc_): Vardesc.dims is a `ftnlen*'. |
| |
| Tue Dec 2 09:57:16 1997 Jeffrey A Law (law@cygnus.com) |
| |
| * Make-lang.in (f77.clean): Remove g77.c. |
| |
| Mon Dec 1 19:12:36 1997 Craig Burley <burley@gnu.org> |
| |
| * intrin.c (ffeintrin_check_): Fix up indentation a bit more. |
| |
| Mon Dec 1 16:21:08 1997 Craig Burley <burley@gnu.org> |
| |
| * com.c (ffecom_arglist_expr_): Crash if non-supplied |
| optional arg isn't passed as an address. |
| Pass null pointer explicitly, instead of via ffecom routine. |
| If incoming argstring is NULL, substitute pointer to "0". |
| Recognize '0' as ending the usual arg stuff, just like '\0'. |
| |
| Sun Nov 30 22:22:22 1997 Craig Burley <burley@gnu.org> |
| |
| * intdoc.c: Minor fix-ups. |
| |
| * intrin.c (ffeintrin_check_): Fix up indentation a bit. |
| |
| * intrin.def: Fix up spacing a bit. |
| |
| Tue Nov 25 15:33:28 1997 Jeffrey A Law (law@cygnus.com) |
| |
| * Make-lang.in (f77.all.build): Add $(exeext) to binary files. |
| (f77.all.cross, f77.start.encap): Simliarly. |
| |
| Fri Nov 21 09:35:20 1997 Fred Fish <fnf@cygnus.com> |
| |
| * Make-lang.in (stmp-f2c.h): Move inclusion of F77_FLAGS_TO_PASS |
| to before override of CC so that the override works. |
| |
| Thu Nov 20 00:58:14 1997 H.J. Lu (hjl@gnu.ai.mit.edu) |
| |
| * Make-lang.in (f77.install-info): Depend on f77.info. |
| |
| 1997-11-17 Dave Love <d.love@dl.ac.uk> |
| |
| * com.c (ffecom_arglist_expr_): Pass null pointers for optional |
| args which aren't supplied. |
| |
| Sun Nov 16 21:45:43 1997 H.J. Lu (hjl@gnu.ai.mit.edu) |
| |
| * Make-lang.in (f77.install-info): Depend on f77.info. |
| |
| 1997-11-14 Dave Love <d.love@dl.ac.uk> |
| |
| * intrin.def: Supply gfrt for CPU_TIME. Generalize arg types of |
| INT2, INT8, per doc. |
| |
| 1997-11-06 Dave Love <d.love@dl.ac.uk> |
| |
| * intrin.def: Allow non-integer args for INT2 and INT8 (per |
| documentation). |
| |
| Sun Nov 2 19:49:51 1997 Richard Henderson <rth@cygnus.com> |
| |
| * com.c (ffecom_expr_): Only use TREE_TYPE argument for simple |
| arithmetic; convert types as necessary; recurse with target tree type. |
| |
| Tue Oct 28 02:21:25 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * lang-options.h: Add -fgnu-intrinsics-* and |
| -fbadu77-intrinsics-* options. |
| |
| Sun Oct 26 02:36:21 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * com.c (lang_print_error_function): Fix to more |
| reliably notice when the diagnosed region changes. |
| |
| Sat Oct 25 23:43:36 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| Fix 950327-0.f: |
| * sta.c, sta.h (ffesta_outpooldisp): New function. |
| * std.c (ffestd_stmt_pass_): Don't kill NULL pool. |
| (ffestd_R842): If pool already preserved, save NULL |
| for pool, because it should be killed only once. |
| |
| * malloc.c [MALLOC_DEBUG]: Put initializer for `name' |
| component in braces, to avoid compiler warning. |
| |
| Wed Oct 22 11:37:41 1997 Richard Henderson <rth@cygnus.com> |
| |
| * com.c (ffecom_expr_): Take an new arg TREE_TYPE that if non-null |
| specifies the type in which to do the calculation. Change all callers. |
| [FFEBLD_opARRAYREF]: Force the index expr to use sizetype. |
| |
| Thu Oct 16 02:04:08 1997 Paul Koning <pkoning@xedia.com> |
| |
| * Make-lang.in (stmp-f2c.h): Don't configure the runtime |
| directory if LANGUAGES does not include f77. |
| |
| Mon Oct 13 12:12:41 1997 Richard Henderson <rth@cygnus.com> |
| |
| * Make-lang.in (g77*): Copied from cp/Make-lang.in g++*. |
| * g77spec.c: New file, mostly copied from g++spec.c |
| * g77.c: Removed. |
| |
| Fri Oct 10 13:00:48 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * ste.c (ffeste_begin_iterdo_): Fix loop setup so iteration |
| variable is modified only after the #iterations is calculated; |
| otherwise if the iteration variable is aliased to any of the |
| operands in the start, end, or increment expressions, the |
| wrong #iterations might be calculated. |
| |
| * com.c (ffecom_save_tree): Fix indentation. |
| |
| Mon Oct 6 14:15:03 1997 Jeffrey A Law (law@cygnus.com) |
| |
| * Make-lang.in (f77.mostlyclean): Clean up stuff in the |
| object tree too. |
| (f77.clean, f77.distclean, f77.maintainer-clean): Likewise. |
| |
| 1997-10-05 Dave Love <d.love@dl.ac.uk> |
| |
| * intrin.def: Make SECOND_subr's arg generic real for people |
| porting from Cray and making everything double precision. |
| |
| Wed Oct 1 01:45:36 1997 Philippe De Muyter <phdm@info.ucl.ac.be> |
| |
| * g77.c (pexecute, main): Use unlink, not remove. |
| |
| Mon Sep 29 16:18:21 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * stu.c (ffestu_list_exec_transition_, |
| ffestu_dummies_transition_): Specify `bool' type for |
| `in_progress' variables. |
| |
| * com.h (assemble_string): Declare this routine (instead |
| of #include'ing "output.h" from gcc) to eliminate warnings |
| from lex.c. |
| |
| Mon Sep 29 10:37:07 1997 Jeffrey A Law (law@cygnus.com) |
| |
| * intdoc.c (main): Remove unused attribute for main's arguments. |
| |
| Sun Sep 28 01:47:17 1997 Jeffrey A Law (law@cygnus.com) |
| |
| * Make-lang.in (G77_FLAGS_TO_PASS): Pass down RANLIB, RANLIB_TEST |
| and AR instead of the _FOR_TARGET versions. |
| |
| Tue Sep 23 00:39:57 1997 Alexandre Oliva <oliva@dcc.unicamp.br> |
| |
| * Make-lang.in: install.texi was renamed to g77install.texi |
| * install0.texi: Likewise. |
| |
| Fri Sep 19 01:12:27 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * expr.c (ffeexpr_reduced_eqop2_): |
| (ffeexpr_reduced_relop2_): Minor fixes to diagnostic code. |
| |
| * fini.c (main): Change return type to `int'. |
| |
| Thu Sep 18 17:31:38 1997 Jeffrey A Law (law@cygnus.com) |
| |
| * proj.h (FFEPROJ_BSEARCH): Delete all references. |
| (FFEPROJ_STRTOUL): Likewise. |
| * proj.c (bsearch): Compile this if no bsearch is provided by the |
| host system. |
| (strtoul): Similarly. |
| |
| * g77install.texi: Renamed from install.texi |
| * g77.texi: Corresponding changes. |
| |
| * fini.c (main): Return type is int. |
| |
| * com.c (lang_printable_name): Use verbosity argument. |
| |
| Thu Sep 18 16:08:40 1997 Jeffrey A Law (law@cygnus.com) |
| |
| * Make-lang.in: Fix merge problems. |
| |
| Wed Sep 17 10:47:08 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * com-rt.def (FFECOM_gfrtDSIGN, FFECOM_gfrtISIGN, |
| FFECOM_gfrtSIGN): Add second argument. |
| |
| * expr.c (ffeexpr_cb_comma_c_): Trivial fixes. |
| |
| Sun Sep 14 21:01:23 1997 Jeffrey A Law (law@cygnus.com) |
| |
| * Make-lang.in: Various changes to build info files |
| in the object tree rather than the source tree. |
| |
| * proj.h: Include ctype.h. |
| |
| Sun Sep 14 12:35:20 1997 Fred Fish (fnf@ninemoons.com) |
| |
| * proj.h (isascii): Provide a default definition if none is available. |
| |
| Thu Sep 11 19:26:10 1997 Dave Love <d.love@dl.ac.uk> |
| |
| * config-lang.in: Remove the messages about possible build problems. |
| |
| Wed Sep 10 16:39:47 1997 Jim Wilson <wilson@cygnus.com> |
| |
| * Make-lang.in (LN, LN_S): New macros, use where appropriate. |
| |
| Tue Sep 9 13:20:40 1997 Jim Wilson <wilson@cygnus.com> |
| |
| * g77.c (pexecute, doit): Add checks for __CYGWIN32__. |
| |
| Tue Sep 9 01:59:35 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * Version 0.5.21 released. |
| |
| Tue Sep 9 00:31:01 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * intdoc.c (dumpem): Put appropriate commentary in |
| output file, so readers know it isn't source. |
| |
| Wed Aug 27 20:32:03 1997 Jeffrey A Law (law@cygnus.com) |
| |
| * top.c (ffe_decode_option): Turn on flag_move_all_moveables |
| and flag_reduce_all_givs. |
| |
| Wed Aug 27 08:08:25 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * proj.h: Always #include "config.j" first, to pick up |
| gcc's configuration. |
| * com.c: Change bcopy() and bzero() calls to memcpy() |
| and memset() calls, to make more of g77 ANSI C. |
| |
| 1997-08-26 Dave Love <d.love@dl.ac.uk> |
| |
| * Make-lang.in ($(srcdir)/f/runtime/configure, |
| $(srcdir)/f/runtime/libU77/configure): Fix for when srcdir isn't |
| relative. |
| |
| Tue Aug 26 05:59:21 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * ansify.c (main): Make sure readers of stdout know |
| it's derived from stdin; omit comment text; get source |
| line numbers in future stderr output to be correct. |
| |
| Tue Aug 26 01:36:01 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| Fix 970825-0.f: |
| * stb.c (ffestb_R5284_): Allow OPEN_PAREN after closing |
| SLASH as well as NAME. |
| |
| Mon Aug 25 23:48:17 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| Changes to allow g77 docs to be built entirely from scratch |
| using any ANSI C compiler, not requiring GNU C: |
| * Make-lang.in ($(srcdir)/f/intdoc.texi): "Pipe" new |
| location of intrinsic documentation data base, f/intdoc.in, |
| through new `ansify' program to append `\n\' to quoted |
| newlines, into f/intdoc.h0. Do appropriate cleanups. Explain. |
| (f77.mostlyclean): Add f/ansify and f/intdoc.h0 to cleanups. |
| * f/ansify.c: New program. |
| * f/intdoc.c: Fix so it conforms to ANSI C. |
| #include f/intdoc.h0 instead of f/intdoc.h. |
| Avoid some warnings. |
| * f/intdoc.h, f/intdoc.in: Rename the former to the latter; no |
| changes made to the content in this patch! |
| * f/intrin.h (ffeintrinFamily): Fix to conform to ANSI C. |
| |
| Mon Aug 25 23:24:32 1997 H.J. Lu (hjl@gnu.ai.mit.edu) |
| |
| * Make-lang.in ($(srcdir)/f/runtime/configure, |
| $(srcdir)/f/runtime/libU77/configure, f77.mostlyclean, |
| f77.clean, f77.distclean, f77.maintainer-clean, f77.realclean): |
| Handle absolute pathname of $(srcdir). |
| (stmp-f2c.h): New. |
| (include/f2c.h, f/runtime/Makefile, f/runtime/libF77/Makefile, |
| f/runtime/libI77/Makefile, f/runtime/libU77/Makefile): Only |
| depend on stmp-f2c.h. |
| (f77.maintainer-clean): Don't make itself. |
| |
| Sun Aug 24 17:00:27 1997 Jim Wilson <wilson@cygnus.com> |
| |
| * Make-lang.in (f77.install-info): Don't cd into srcdir. Add srcdir |
| to filenames. Use sed to extract base filename for install. |
| |
| Sun Aug 24 06:52:48 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| Fix up g77 compiler data base for libf2c routines: |
| * com-rt.def (FFECOM_gfrtSIGNAL): Change return type to |
| FTNINT to match actual code. |
| |
| * com.c (ffecomRttype_): Replace FFECOM_rttypeINT_ with |
| FFECOM_rttypeFTNINT_. |
| Add and fix up comments. |
| (ffecom_make_gfrt_, ffecom_gfrt_basictype, |
| ffecom_gfrt_kindtype): Replace FFECOM_rttypeINT_ with |
| FFECOM_rttypeFTNINT_; add FFECOM_rttypeDOUBLEREAL_. |
| |
| Thu Aug 21 13:15:29 1997 Jim Wilson <wilson@cygnus.com> |
| |
| * Make-lang.in (f77): Delete f77-runtime. |
| (f77.all.build, f77.all.cross, f77.rest.encap): Add f77-runtime. |
| |
| Wed Aug 20 17:18:40 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * global.c (ffeglobal_ref_progunit_): It's okay to have |
| a different CHARACTER*n length for a reference if the |
| existing length is for another reference, not a definition. |
| |
| Wed Aug 20 16:36:59 1997 Jim Wilson <wilson@cygnus.com> |
| |
| * intdoc.texi: Readd generated file. |
| |
| Mon Aug 18 14:27:18 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| Fix 970814-0.f: |
| * global.c (ffeglobal_new_progunit_): Distinguish |
| between previously defined, versus inferred, filewide |
| when it comes to diagnostics. |
| |
| Fix 970816-1.f: |
| * global.c (ffeglobal_ref_progunit_): Change BDATA into EXT |
| right at the beginning, so EXTERNAL FOO followed later |
| by SUBROUTINE FOO is not diagnosed. |
| |
| Fix 970813-0.f: |
| * com-rt.def (FFECOM_gfrtALARM): Returns `integer', not |
| `void'. |
| |
| Mon Aug 18 09:01:54 1997 Jeffrey A Law (law@cygnus.com) |
| |
| * Makefile.in (F77_OBJS): Re-alphabetize. |
| * Make-lang.in (F77_SRCS): Likewise. |
| |
| Sun Aug 17 08:35:11 1997 Jeffrey A Law (law@cygnus.com) |
| |
| * INSTALL: Rebuilt. |
| * install.texi: Remove "Object File Differences" section. Remove |
| all references to zzz.o failing comparison tests. |
| * version.c, version.h: Renamed from zzz.c and zzz.h. Remove |
| date and time stamps so a 3 stage build reports no differences. |
| * Make-lang.in: Corresponding changes. |
| * Makefile.in: Likewise. |
| * g77.c, parse.c: Likewise. |
| |
| * intdoc.texi: Remove generated file from distribution. |
| |
| Sun Aug 17 03:32:44 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| Fix up problems when virtual memory exhausted: |
| * malloc.c (malloc_new_): Use gcc's xmalloc(), so we |
| print a nicer message when malloc returns no memory. |
| (malloc_resize_): Ditto for xrealloc(). |
| |
| * Make-lang.in, Makefile.in: Comment out lines containing |
| just formfeeds. |
| |
| Sat Aug 16 19:41:33 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * com.c (ffecom_make_gfrt_): For rttypeREAL_F2C_, return |
| double_type_node; for rttypeREAL_GNU_, return |
| _real_type_node. |
| |
| 1997-08-13 Dave Love <d.love@dl.ac.uk> |
| |
| * config-lang.in (diff_excludes): Add some hints about known |
| problematic platforms. |
| |
| 1997-08-13 Dave Love <d.love@dl.ac.uk> |
| |
| * intdoc.h: Document `alarm'. |
| |
| Tue Aug 12 10:23:02 1997 Jeffrey A Law (law@cygnus.com) |
| |
| * config-lang.in: Don't demand the backend patch. |
| * com.c (lang_printable_name): Second argument is now an int. Don't |
| store into the value of the second argument. |
| * top.c (ffe_decode_option): Temporarily disable setting |
| of "Toon" loop options until we figure out how to address |
| them. |
| |
| Mon Aug 11 23:18:35 1997 Jeffrey A Law (law@cygnus.com) |
| |
| * g77-0.5.21-19970811 Imported. |
| This file describes changes to the front end necessary to make |
| it work with egcs. |
| |
| Mon Aug 11 21:19:22 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * Make-lang.in ($(RUNTIMESTAGESTUFF)): Add |
| f/runtime/stamp-lib. |
| |
| Mon Aug 11 01:52:03 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * com.c (ffecom_build_complex_constant_): Go with the |
| new build_complex() approach used in gcc-2.8. |
| |
| * com.c (ffecom_sym_transform_): Don't set |
| DECL_IN_SYSTEM_HEADER for a tree node that isn't |
| a VAR_DECL, which happens when var is in common! |
| |
| * com.c (ffecom_expr_intrinsic_) (case FFEINTRIN_impALARM): |
| No need to test codegen_imp -- there's only one valid here. |
| |
| * intrin.def (FFEINTRIN_impALARM): Specify `Status' argument |
| as write-only. |
| |
| Fri Aug 8 05:40:23 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| Substantial changes to accommodate distinctions among |
| run-time routines that support intrinsics, and between |
| routines that compute and return the same type vs. those |
| that compute one type and return another (or `void'): |
| * com-rt.def: Specify new return type REAL_F2C_ instead |
| of many DOUBLE_, COMPLEX_F2C_ instead of COMPLEX_, and |
| so on. |
| Clear up the *BES* routines "once and for all". |
| * com.c: New return types. |
| (ffecom_convert_narrow_, ffecom_convert_widen_): |
| New functions that are "safe" variants of convert(), |
| to catch errors that ffecom_expr_intrinsic_() now |
| no longer catches. |
| (ffecom_arglist_expr_): Ensure arguments are not |
| converted to narrower types. |
| (ffecom_call_): Ensure return value is not converted |
| to a wider type. |
| (ffecom_char_args_): Use new ffeintrin_gfrt_direct() |
| routine. |
| (ffecom_expr_intrinsic_): Simplify how run-time |
| routine is selected (via `gfrt' only now; lose the |
| redundant `ix' variable). |
| Eliminate the `library' label; any code that doesn't |
| return directly just `break's out now with `gfrt' |
| set appropriately. |
| Set `gfrt' to default choice initially, either a |
| fast direct form or, if not available, a slower |
| indirect-callable form. |
| (ffecom_make_gfrt_): No longer need to do special |
| check for complex; it's built into the new return-type |
| regime. |
| (ffecom_ptr_to_expr): Use new ffeintrin_gfrt_indirect() |
| routine. |
| * intrin.c, intrin.h: `gfrt' field replaced with three fields, |
| so it is easier to provide faster direct-callable and |
| GNU-convention indirect-callable routines in the future. |
| DEFIMP macro adjusted accordingly, along with all its uses. |
| (ffeintrin_gfrt_direct): New function. |
| (ffeintrin_gfrt_indirect): Ditto. |
| (ffeintrin_is_actualarg): If `-fno-f2c' is in effect, |
| require a GNU-callable version of intrinsic instead of |
| an f2c-callable version, so indirect calling is still checked. |
| * intrin.def: Replace one GFRT field with the three new fields, |
| as appropriate for each DEFIMP intrinsic. |
| |
| * com.c (ffecom_stabilize_aggregate_, |
| ffecom_convert_to_complex_): Make these `static'. |
| |
| Thu Aug 7 11:24:34 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| Provide means for front end to determine actual |
| "standard" return type for an intrinsic if it is |
| passed as an actual argument: |
| * com.h, com.c (ffecom_gfrt_basictype, |
| ffecom_gfrt_kindtype): New functions. |
| (ffecom_gfrt_kind_type_): Replaced with new function. |
| All callers updated. |
| (ffecom_make_gfrt_): No longer need do anything |
| with kind type. |
| |
| * intrin.c (ffeintrin_basictype, ffeintrin_kindtype): |
| Now returns correct type info for specific intrinsic |
| (based on type of run-time-library implementation). |
| |
| Wed Aug 6 23:08:46 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * global.c (ffeglobal_ref_progunit_): Don't reset |
| number of arguments just due to new type info, |
| so useful warnings can be issued. |
| |
| 1997-08-06 Dave Love <d.love@dl.ac.uk> |
| |
| * intrin.def: Fix IDATE_vxt argument order. |
| * intdoc.h: Likewise. |
| |
| Thu Jul 31 22:22:03 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * global.c (ffeglobal_proc_ref_arg): If REF/DESCR |
| disagreement, DESCR is CHARACTER, and types disagree, |
| pretend the argsummary agrees so the message ends up |
| being about type disagreement. |
| (ffeglobal_proc_def_arg): Ditto. |
| |
| * expr.c (ffeexpr_token_first_rhs_3_): Set info for LABTOK |
| to NONE of everything, to avoid misdiagnosing filewide |
| usage of alternate returns. |
| |
| Sun Jul 20 23:07:47 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * com.c (ffecom_sym_transform_): If type gets set |
| to error_mark_node, just return that for transformed symbol. |
| (ffecom_member_phase2_): If type gets set to error_mark_node, |
| just return. |
| (ffecom_check_size_overflow_): Add `dummy' argument to |
| flag that type is for a dummy, update all callers. |
| |
| Sun Jul 13 17:40:53 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| Fix 970712-1.f: |
| * where.c (ffewhere_set_from_track): If start point |
| is too large, just use initial start point. 0.6 should |
| fix all this properly. |
| |
| Fix 970712-2.f: |
| * com.c (ffecom_sym_transform_): Preserve error_mark_node for type. |
| (ffecom_type_localvar_): Ditto. |
| (ffecom_sym_transform_): If type is error_mark_node, |
| don't error-check decl size, because back end responds by |
| setting that to an integer 0 instead of error_mark_node. |
| (ffecom_transform_common_): Same as earlier fix to _transform_ |
| in that size is checked by dividing BITS_PER_UNIT instead of |
| multiplying. |
| (ffecom_transform_equiv_): Ditto. |
| |
| Fix 970712-3.f: |
| * stb.c (ffestb_R10014_): Fix flaky fall-through in error |
| test for FFELEX_typeCONCAT by just replicating the code, |
| and do FFELEX_typeCOLONCOLON while at it. |
| |
| 1997-07-07 Dave Love <d.love@dl.ac.uk> |
| |
| * intdoc.h: Add various missing pieces; correct GMTIME, LTIME |
| result ordering. |
| |
| * intrin.def, com-rt.def: Add alarm. |
| |
| * com.c (ffecom_expr_intrinsic_): Add case for alarm. |
| |
| Thu Jun 26 04:19:40 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| Fix 970302-3.f: |
| * com.c (ffecom_sym_transform_): For sanity-check compare |
| of gbe size of local variable to g77 expectation, |
| use varasm.c/assemble_variable technique of dividing |
| BITS_PER_UNIT out of gbe info instead of multiplying |
| g77 info up, to avoid crash when size in bytes is very |
| large, and overflows an `int' or similar when multiplied. |
| |
| Fix 970626-2.f: |
| * com.c (ffecom_finish_symbol_transform_): Don't bother |
| transforming a dummy argument, to avoid a crash. |
| * ste.c (ffeste_R1227): Don't return a value if the |
| result decl, or its type, is error_mark_node. |
| |
| Fix 970626-4.f: |
| * lex.c (ffelex_splice_tokens): `-fdollar-ok' is |
| irrelevant to whether a DOLLAR token should be made |
| from an initial character of `$'. |
| |
| Fix 970626-6.f: |
| * stb.c (ffestb_do3_): DO iteration variable is an |
| lhs, not rhs, expression. |
| |
| Fix 970626-7.f and 970626-8.f: |
| * expr.c (ffeexpr_cb_comma_i_1_): Set IMPDO expression |
| to have clean info, because undefined rank, for example, |
| caused crash on mangled source on UltraSPARC but not |
| on Alpha for a series of weird reasons. |
| (ffeexpr_cb_close_paren_): If not CLOSE_PAREN, push |
| opANY expression onto stack instead of attempting |
| to mimic what program might have wanted. |
| (ffeexpr_cb_close_paren_): Don't wrap opPAREN around |
| opIMPDO, just warn that it's gratuitous. |
| * bad.def (FFEBAD_IMPDO_PAREN): New warning. |
| |
| Fix 970626-9.f: |
| * expr.c (ffeexpr_declare_parenthesized_): Must shut down |
| parsing in kindANY case, otherwise the parsing engine might |
| decide there's an ambiguity. |
| (ffeexpr_token_name_rhs_): Eliminate parentypeSUBROUTINE_ |
| case, so we crash right away if it comes through. |
| * st.c, st.h, sta.c, sta.h (ffest_shutdown, ffesta_shutdown): |
| New functions. |
| |
| Tue Jun 24 19:47:29 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * com.c (ffecom_check_size_overflow_): New function |
| catches some cases of the size of a type getting |
| too large. varasm.c must catch the rest. |
| (ffecom_sym_transform_): Use new function. |
| (ffecom_type_localvar_): Ditto. |
| |
| Mon Jun 23 01:09:28 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * global.c (ffeglobal_proc_def_arg): Fix comparison |
| of argno to #args. |
| (ffeglobal_proc_ref_arg): Ditto. |
| |
| * lang-options.h, top.c: Rename `-fdebug' to `-fxyzzy', |
| since it's an unsupported internals option and some |
| poor user might guess that it does something. |
| |
| * bad.def: Make a warning for each filewide diagnostic. |
| Put all filewides together. |
| * com.c (ffecom_sym_transform_): Don't substitute |
| known global tree for global entities when `-fno-globals'. |
| * global.c (ffeglobal_new_progunit_): Don't produce |
| fatal diagnostics about globals when `-fno-globals'. |
| Instead, produce equivalent warning when `-Wglobals'. |
| (ffeglobal_proc_ref_arg): Ditto. |
| (ffeglobal_proc_ref_nargs): Ditto. |
| (ffeglobal_ref_progunit_): Ditto. |
| * lang-options.h, top.c, top.h: New `-fno-globals' option. |
| |
| Sat Jun 21 12:32:54 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * expr.c (ffeexpr_fulfill_call_): Set array variable |
| to avoid warning about uninitialized variable. |
| |
| * Make-lang.in: Get rid of any setting of HOST_* macros, |
| since these will break gcc's build! |
| * makefile: New file to make building derived files |
| easier. |
| |
| Thu Jun 19 18:19:28 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * g77.c (main): Install Emilio Lopes' patch to support |
| Ratfor, and to fix the printing of the version string |
| to go to stderr, not stdout. |
| * lang-specs.h: Install Emilio Lopes' patch to support |
| Ratfor, and patch the result to support picking up |
| `*f771' from the `specs' file. |
| |
| Thu Jun 12 14:36:25 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * storag.c (ffestorag_update_init, ffestorag_update_save): |
| Also update parent, in case equivalence processing |
| has already eliminated pointers to it via the |
| local equivalence info. |
| |
| Tue Jun 10 14:08:26 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * intdoc.c: Add cross-reference to end of description |
| of any generic intrinsic pointing to other intrinsics |
| with the same name. |
| |
| Warn about explicit type declaration for intrinsic |
| that disagrees with invocation: |
| * expr.c (ffeexpr_paren_rhs_let_): Preserve type info |
| for intrinsic functions. |
| (ffeexpr_token_funsubstr_): Ditto. |
| * intrin.c (ffeintrin_fulfill_generic): Warn if type |
| info of fulfilled intrinsic invocation disagrees with |
| explicit type info given symbol. |
| (ffeintrin_fulfill_specific): Ditto. |
| * stc.c (ffestc_R1208_item): Preserve type info |
| for intrinsics. |
| (ffestc_R501_item): Ditto. |
| |
| Mon Jun 9 17:45:44 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * com.c (ffecom_expr_intrinsic_): Fix several of the |
| libU77/libF77-unix handlers to properly convert their |
| arguments. |
| |
| * com-rt.def (FFECOM_gfrtFSTAT): Append missing "i" to |
| arg string. |
| |
| Fri Jun 6 14:37:30 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * com.c (ffecom_expr_intrinsic_): Have a case statement |
| for every intrinsic implementation, so missing ones |
| are caught via gcc warnings. |
| Don't call ffeintrin_codegen_imp anymore. |
| * intrin.c (ffeintrin_fulfill_generic): Remove cg_imp |
| stuff from here. |
| (ffeintrin_codegen_imp): Delete this function. |
| * intrin.def, intrin.h: Remove DEFIMQ stuff from here |
| as well. |
| |
| Thu Jun 5 13:03:07 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * top.c (ffe_decode_option): New -fbadu77-intrinsics-* |
| options. |
| * top.h: Ditto. |
| * intrin.h: New BADU77 family. |
| * intrin.c (ffeintrin_state_family): Ditto. |
| |
| Implement new scheme to track intrinsic names vs. forms: |
| * intrin.c (ffeintrin_fulfill_generic), |
| (ffeintrin_fulfill_specific), (ffeintrin_is_intrinsic), |
| intrin.def: The documented name is now either in the |
| generic info or, if no generic, in the specific info. |
| For a generic, the specific info contains merely the |
| distinguishing form (usually "function" or "subroutine"), |
| used for diagnostics about ambiguous references and |
| in the documentation. |
| |
| * intrin.def: Clean up formatting of DEFNAME block. |
| Convert many libU77 intrinsics into generics that |
| support both subroutine and function forms. |
| Put the function forms of side-effect routines into |
| the new BADU77 family. |
| Make MCLOCK and TIME return INTEGER*4 again, and add |
| INTEGER*8 equivalents called MCLOCK8 and TIME8. |
| Fix up more status return values to be written and |
| insist on them being I1 as well. |
| * com.c (ffecom_expr_intrinsic_): Lots of changes to |
| support new libU77 intrinsic interfaces. |
| |
| Mon Jun 2 00:37:53 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * com.c (ffecom_init_0): Pointer type is now INTEGER(KIND=7), |
| not INTEGER(KIND=0), since we want to reserve KIND=0 for |
| future use. |
| |
| Thu May 29 14:30:33 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| Fix bugs preventing CTIME(I*4) from working correctly: |
| * com.c (ffecom_char_args_): For FUNCREF case, process |
| args to intrinsic just as they would be in |
| ffecom_expr_intrinsic_. |
| * com-rt.def (FFECOM_gfrtCTIME, FFECOM_gfrtTTYNAM): Fix |
| argument decls to specify `&'. |
| |
| Wed May 28 22:19:49 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| Fix gratuitous warnings exposed by dophot aka 970528-1: |
| * global.c (ffeglobal_proc_def_arg, ffeglobal_proc_ref_arg): |
| Support distinct function/subroutine arguments instead of |
| just procedures. |
| * global.h: Ditto. |
| * expr.c (ffeexpr_fulfill_call_): A SYMTER with kindNONE |
| also is a procedure (either function or subroutine). |
| |
| Mon May 26 20:25:31 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * bad.def: Have several lexer diagnostics refer to |
| documentation for people who need more info on what Fortran |
| source code is supposed to look like. |
| |
| * expr.c (ffeexpr_reduced_bool1_), bad.def: New diagnostics |
| specific to .NOT. now mention only one operand instead |
| of two. |
| |
| * g77.c: Recognize -fsyntax-only, similar to -c etc. |
| (lookup_option): Fix bug that prevented non-`--' options |
| from being recognized. |
| |
| Sun May 25 04:29:04 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * intrin.def (FFEINTRIN_impCTIME): Accept `I*' expression |
| for STime instead of requiring `I2'. |
| |
| Tue May 20 16:14:40 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * symbol.c (ffesymbol_reference): All references to |
| standard intrinsics are considered explicit, so as |
| to avoid generating basically useless warnings. |
| * intrin.c, intrin.h (ffeintrin_is_standard): Returns TRUE |
| if intrinsic is standard. |
| |
| Sun May 18 21:14:59 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * com-rt.def: Changed all external names of the |
| form `"\([a-z0-9]*\)_' to `"G77_\1_0"' so as to |
| allow any name valid as an intrinsic to be used |
| as such and as a user-defined external procedure |
| name or common block as well. |
| |
| Thu May 8 13:07:10 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * expr.c (ffeexpr_cb_end_notloc_): For %VAL, %REF, and |
| %DESCR, copy arg info into new node. |
| |
| Mon May 5 14:42:17 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| From Uwe F. Mayer <mayer@math.Vanderbilt.Edu>: |
| * Make-lang.in (g77-cross): Fix typo in g77.c path. |
| |
| From Brian McIlwrath <bkm@star.rl.ac.uk>: |
| * lang-specs.h: Have g77 pick up options from a section |
| labeled `*f771' of the `specs' file. |
| |
| Sat May 3 02:46:08 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * intrin.def (FFEINTRIN_defSIGNAL): Add optional `Status' |
| argument that com.c already expects (per Dave Love). |
| |
| More changes to support better tracking of (filewide) |
| globals, in particular, the arguments to procedures: |
| * bad.def (FFEBAD_FILEWIDE_NARGS, FFEBAD_FILEWIDE_NARGS_W, |
| FFEBAD_FILEWIDE_ARG, FFEBAD_FILEWIDE_ARG_W): New diagnostics. |
| * expr.c (ffebad_fulfill_call_): Provide info on each |
| argument to ffeglobal. |
| * global.c, global.h (ffeglobal_proc_def_arg, |
| ffeglobal_proc_def_nargs, ffeglobal_proc_ref_arg, |
| ffeglobal_proc_ref_args): New functions. |
| (ffeglobalArgSummary, ffeglobalArgInfo_): New types. |
| |
| Tue Apr 29 18:35:41 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| More changes to support better tracking of (filewide) |
| globals: |
| * expr.c (ffeexpr_fulfill_call_): New function. |
| (ffeexpr_token_name_lhs_): Call after building procedure |
| reference expression. Also leave info field for ANY-ized |
| expression alone. |
| (ffeexpr_token_arguments_): Ditto. |
| |
| Mon Apr 28 20:04:18 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| Changes to support better tracking of (filewide) |
| globals, mainly to avoid crashes due to inlining: |
| * bad.def: Go back to quoting intrinsic names, |
| (FFEBAD_FILEWIDE_DISAGREEMENT, FFEBAD_FILEWIDE_TIFF, |
| FFEBAD_FILEWIDE_TYPE_MISMATCH): New diagnostics. |
| (FFEBAD_INTRINSIC_EXPIMP, FFEBAD_INTRINSIC_GLOBAL): Reword |
| for clarity. |
| * com.c (ffecom_do_entry_, ffecom_start_progunit_, |
| ffecom_sym_transform_): Accommodate new FFEGLOBAL_typeEXT |
| possibility. |
| * expr.c (ffeexpr_sym_lhs_call_, ffeexpr_sym_lhs_extfunc_, |
| ffeexpr_sym_rhs_actualarg_, ffeexpr_declare_parenthesized_, |
| ffeexpr_paren_rhs_let_, ffeexpr_token_funsubstr_): |
| Fill in real kind info instead of leaving NONE where |
| appropriate. |
| Register references to intrinsics and globals with ffesymbol |
| using new ffesymbol_reference function instead of |
| ffesymbol_globalize. |
| * global.c (ffeglobal_type_string_): New array for |
| new diagnostics. |
| * global.h, global.c: |
| Replace ->init mechanism with ->tick mechanism. |
| Move other common-related members into a substructure of |
| a union, so the proc substructure can be introduced |
| to include members related to externals other than commons. |
| Don't complain about ANY-ized globals; ANY-ize globals |
| once they're complained about, in any case where code |
| generation could become a problem. |
| Handle global entries that have NONE type (seen as |
| intrinsics), EXT type (seen as EXTERNAL), and so on. |
| Keep track of kind and type of externals, both via |
| definition and via reference. |
| Diagnose disagreements about kind or type of externals |
| (such as functions). |
| (ffeglobal_ref_intrinsic, ffeglobal_ref_progunit_): New |
| functions. |
| * stc.c (ffestc_R1207_item, ffestc_R1208_item, |
| ffestc_R1219, ffestc_R1226): |
| Call ffesymbol_reference, not ffesymbol_globalize. |
| * stu.c (ffestu_sym_end_transition, |
| ffestu_sym_exec_transition): |
| Call ffesymbol_reference, not ffesymbol_globalize. |
| * symbol.c (ffesymbol_globalize): Removed... |
| (ffesymbol_reference): ...to this new function, |
| which more generally registers references to symbols, |
| globalizes globals, and calls on the ffeglobal module |
| to check globals filewide. |
| |
| * global.h, global.c: Rename some macros and functions |
| to more clearly distinguish common from other globals. |
| All callers changed. |
| |
| * com.c (ffecom_sym_transform_): Trees describing |
| filewide globals must be allocated on permanent obstack. |
| |
| * expr.c (ffeexpr_token_name_lhs_): Don't generate |
| gratuitous diagnostics for FFEINFO_whereANY case. |
| |
| Thu Apr 17 03:27:18 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * global.c: Add support for flagging intrinsic/global |
| confusion via warnings. |
| * bad.def (FFEBAD_INTRINSIC_EXPIMP, |
| FFEBAD_INTRINSIC_GLOBAL): New diagnostics. |
| * expr.c (ffeexpr_token_funsubstr_): Ditto. |
| (ffeexpr_sym_lhs_call_): Ditto. |
| (ffeexpr_paren_rhs_let_): Ditto. |
| * stc.c (ffestc_R1208_item): Ditto. |
| |
| Wed Apr 16 22:40:56 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * expr.c (ffeexpr_declare_parenthesized_): INCLUDE |
| context can't be an intrinsic invocation either. |
| |
| Fri Mar 28 10:43:28 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * expr.c (ffeexpr_token_arguments_): Make sure top of |
| exprstack is operand before dereferencing operand field. |
| |
| * lex.c (ffelex_prepare_eos_): Fill up truncated |
| hollerith token, so crash on null ->text field doesn't |
| happen later. |
| |
| * stb.c (ffestb_R10014_): If NAMES isn't recognized (or |
| the recognized part is followed in the token by a |
| non-digit), don't try and collect digits, as there |
| might be more than FFEWHERE_indexMAX letters to skip |
| past to do so -- and the code is diagnosed anyway. |
| |
| Thu Mar 27 00:02:48 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * com.c (ffecom_sym_transform_): Force local |
| adjustable array onto stack. |
| |
| * stc.c (ffestc_R547_item_object): Don't actually put |
| the symbol in COMMON if the symbol has already been |
| EQUIVALENCE'd to a different COMMON area. |
| |
| * equiv.c (ffeequiv_add): Don't actually do anything |
| if there's a disagreement over which COMMON area is |
| involved. |
| |
| Tue Mar 25 03:35:19 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * com.c (ffecom_transform_common_): If no explicit init |
| of COMMON area, don't actually init it even though |
| storage area suggests it. |
| |
| Mon Mar 24 12:10:08 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * lex.c (ffelex_image_char_): Avoid overflowing the |
| column counter itself, as well as the card image. |
| |
| * where.c (ffewhere_line_new): Cast ffelex_line_length() |
| to (size_t) so 255 doesn't overflow to 0! |
| |
| * stc.c (ffestc_labeldef_notloop_begin_): Don't gratuitously |
| terminate loop before processing statement, so block |
| doesn't disappear out from under EXIT/CYCLE processing. |
| (ffestc_labeldef_notloop_): Has old code from above |
| function, instead of just calling it. |
| |
| * expr.c (ffeexpr_cb_comma_i_4_): Don't skip over |
| arbitrary token (such as EOS). |
| |
| * com.c (ffecom_init_zero_): Handle RECORD_TYPE and |
| UNION_TYPE so -fno-zeros works with -femulated-complex. |
| |
| 1997-03-12 Dave Love <d.love@dl.ac.uk> |
| |
| * intrin.def: New intrinsics INT2, INT8, CPU_TIME. Fix AND, OR, |
| XOR. [Integrated by burley, AND/OR/XOR already fixed, INT8 |
| implementation changed/fixed.] |
| |
| Wed Mar 12 10:40:08 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * Make-lang.in ($(srcdir)/f/intdoc.texi): Simplify rules |
| so building f/intdoc is not always necessary; remove |
| f/intdoc after running it if it is built. |
| |
| Tue Mar 11 23:42:00 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * intrin.def (FFEINTRIN_impAND, FFEINTRIN_impOR, |
| FFEINTRIN_impXOR): Use the IAND, IOR, and IEOR implementations |
| of these, instead of crashing in ffecom_expr_intrinsic_ |
| or adding case labels there. |
| |
| Mon Mar 10 22:51:23 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * intdoc.c: Fix so any C compiler can compile this. |
| |
| Fri Feb 28 13:16:50 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * Version 0.5.20 released. |
| |
| Fri Feb 28 01:45:25 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * Make-lang.in (RUNTIMESTAGESTUFF, LIBU77STAGESTUFF): |
| Move some files incorrectly in the former to the latter, |
| and add another file or two to the latter. |
| |
| New meanings for (KIND=n), and new denotations in the |
| little language describing intrinsics: |
| * com.c (ffecom_init_0): Assign new meanings. |
| * intdoc.c: Document new meanings. |
| Support the new denotations. |
| * intrin.c: Employ new meanings, mapping them to internal |
| values (which are the same as they ever were for now). |
| Support the new denotations. |
| * intrin.def: Switch DEFIMP table to the new denotations. |
| |
| * intrin.c (ffeintrin_check_): Fix bug that was leaving |
| LOC() and %LOC() returning INTEGER*4 on systems where |
| it should return INTEGER*8. |
| |
| * type.c: Canonicalize function definitions, for etags |
| and such. |
| |
| Wed Feb 26 20:43:03 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * com.c (ffecom_init_0): Choose INTEGER(KIND=n) types, |
| where n is 2, 3, and 4, according to the new docs |
| instead of according to the old C correspondences |
| (which seem less useful at this point). |
| |
| * equiv.c (ffeequiv_destroy_): New function. |
| (ffeequiv_layout_local_): Use this new function |
| whenever the laying out of a local equivalence chain |
| is aborted for any reason. |
| Otherwise ensure that symbols no longer reference |
| the stale ffeequiv entries that result when they |
| are killed off in this procedure. |
| Also, the rooted symbol is one that has storage, |
| it really is irrelevant whether it has an equiv entry |
| at this point (though the code to remove the equiv |
| entry was put in at the end, just in case). |
| (ffeequiv_kill): When doing internal checks, make |
| sure the victim isn't named by any symbols it points |
| to. Not as complete a check as looking through the |
| entire symbol table (which does matter, since some |
| code in equiv.c used to remove symbols from the lists |
| for an ffeequiv victim but not remove that victim as the |
| symbol's equiv info), but this check did find some |
| real bugs in the code (that were fixed). |
| |
| Mon Feb 24 16:42:13 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * com.c (ffecom_expr_intrinsic_): Fix a couple of |
| warnings about uninitialized variables. |
| * intrin.c (ffeintrin_check_): Ditto, but there were |
| a couple of _real_ uninitialized-variable _bugs_ here! |
| (ffeintrin_fulfill_specific): Ditto, no real bug here. |
| |
| Sun Feb 23 15:01:20 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| Clean up diagnostics (especially about intrinsics): |
| * bad.def (FFEBAD_UNIMPL_STMT): Remove. |
| (FFEBAD_INTRINSIC_*, FFEBAD_NEED_INTRINSIC): Clean these |
| up so they're friendlier. |
| (FFEBAD_INTRINSIC_CMPAMBIG): New. |
| * intrin.c (ffeintrin_fulfill_generic, |
| ffeintrin_fulfill_specific, ffeintrin_is_intrinsic): |
| Always choose |
| generic or specific name text (which is for doc purposes |
| anyway) over implementation name text (which is for |
| internal use). |
| * intrin.def: Use more descriptive name texts for generics |
| and specifics in cases where the names themselves are not |
| enough (e.g. IDATE, which has two forms). |
| |
| Fix some intrinsic mappings: |
| * intrin.def (FFEINTRIN_specIDINT, FFEINTRIN_specAND, |
| FFEINTRIN_specDFLOAT, FFEINTRIN_specDREAL, FFEINTRIN_specOR, |
| FFEINTRIN_specXOR): Now have their own implementations, |
| instead of borrowing from others. |
| (FFEINTRIN_specAJMAX0, FFEINTRIN_specAJMIN0, FFEINTRIN_specBJTEST, |
| FFEINTRIN_specDFLOTJ, FFEINTRIN_specFLOATJ, FFEINTRIN_specJIABS, |
| FFEINTRIN_specJIAND, FFEINTRIN_specJIBCLR, FFEINTRIN_specJIBITS, |
| FFEINTRIN_specJIBSET, FFEINTRIN_specJIDIM, FFEINTRIN_specJIDINT, |
| FFEINTRIN_specJIDNNT, FFEINTRIN_specJIEOR, FFEINTRIN_specJIFIX, |
| FFEINTRIN_specJINT, FFEINTRIN_specJIOR, FFEINTRIN_specJISHFT, |
| FFEINTRIN_specJISHFTC, FFEINTRIN_specJISIN, FFEINTRIN_specJMAX0, |
| FFEINTRIN_specJMAX1, FFEINTRIN_specJMIN0, FFEINTRIN_specJMIN1, |
| FFEINTRIN_specJMOD, FFEINTRIN_specJNINT, FFEINTRIN_specJNOT,): |
| Turn these implementations off, since it's not clear |
| just what types they expect in the context of portable Fortran. |
| (DFLOAT): Now in FVZ family, since f2c supports them |
| |
| Support intrinsic inquiry functions (BIT_SIZE, LEN): |
| * intrin.c: Allow `i' in <arg_extra>. |
| * intrin.def (FFEINTRIN_impBIT_SIZE, FFEINTRIN_impLEN): |
| Mark args with `i'. |
| |
| Sat Feb 22 13:34:09 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| Only warn, don't error, for reference to unimplemented |
| intrinsic: |
| * bad.def (FFEBAD_INTRINSIC_UNIMPLW): Warning version |
| of _UNIMPL. |
| * intrin.c (ffeintrin_is_intrinsic): Use new warning |
| version of _UNIMPL (FFEBAD_INTRINSIC_UNIMPLW). |
| |
| Complain about REAL(Z) and AIMAG(Z) (Z is DOUBLE COMPLEX): |
| * bad.def (FFEBAD_INTRINSIC_CMPAMBIG): New diagnostic. |
| * expr.c: Needed #include "intrin.h" anyway. |
| (ffeexpr_token_intrincheck_): New function handles delayed |
| diagnostic for "REAL(REAL(expr)" if next token isn't ")". |
| (ffeexpr_token_arguments_): Do most of the actual checking here. |
| * intrin.h, intrin.c (ffeintrin_fulfill_specific): New |
| argument, check_intrin, to tell caller that intrin is REAL(Z) |
| or AIMAG(Z). All callers updated, mostly to pass NULL in |
| for this. |
| (ffeintrin_check_): Also has new arg check_intrin for same |
| purpose. All callers updated the same way. |
| * intrin.def (FFEINTRIN_impAIMAG): Change return type |
| from "R0" to "RC", to accommodate f2c (and perhaps other |
| non-F90 F77 compilers). |
| * top.h, top.c: New option -fugly-complex. |
| |
| New GNU intrinsics REALPART, IMAGPART, and COMPLEX: |
| * com.c (ffecom_expr_intrinsic_): Implement impCOMPLEX |
| and impREALPART here. (specIMAGPART => specAIMAG.) |
| * intrin.def: Add the intrinsics here. |
| |
| Rename implementations of VXTIDATE and VXTTIME to IDATEVXT |
| and TIMEVXT, so they sort more consistently: |
| * com.c (ffecom_expr_intrinsic_): |
| * intrin.def: |
| |
| Delete intrinsic group `dcp', add `gnu', etc.: |
| * intrin.c (ffeintrin_state_family): FFEINTRIN_familyGNU |
| replaces FFEINTRIN_familyDCP, and gets state from `gnu' |
| group. |
| Get rid of FFEINTRIN_familyF2Z, nobody needs it. |
| Move FFEINTRIN_specDCMPLX from DCP family to FVZ family, |
| as f2c has it. |
| Move FFEINTRIN_specDFLOAT from F2C family to FVZ family. |
| (FFEINTRIN_specZABS, FFEINTRIN_specZCOS, FFEINTRIN_specZEXP, |
| FFEINTRIN_specZLOG, FFEINTRIN_specZSIN, FFEINTRIN_specZSQRT): |
| Move these from F2Z family to F2C family. |
| * intrin.h (FFEINTRIN_familyF2Z, FFEINTRIN_familyDCP): Remove. |
| (FFEINTRIN_familyGNU): Add. |
| * top.h, top.c: Replace `dcp' with `gnu'. |
| |
| * com.c (ffecom_expr_intrinsic_): Clean up by collecting |
| simple conversions into one nice, conceptual place. |
| Fix up some intrinsic subroutines (MVBITS, KILL, UMASK) to |
| properly push and pop call temps, to avoid wasting temp |
| registers. |
| |
| * g77.c (doit): Toon says variables should be defined |
| before being referenced. Spoilsport. |
| |
| * intrin.c (ffeintrin_check_): Now Dave's worried about |
| warnings about uninitialized variables. Okay, so for |
| basic return values 'g' and 's', they _were_ |
| uninitialized -- is determinism really _that_ useful? |
| |
| * intrin.def (FFEINTRIN_impFGETC): Fix STATUS argument |
| so that it is INTENT(OUT) instead of INTENT(IN). |
| |
| 1997-02-21 Dave Love <d.love@dl.ac.uk> |
| |
| * intrin.def, com.c: Support Sun-type `short' and `long' |
| intrinsics. Perhaps should also do Microcruft-style `int2'. |
| |
| Thu Feb 20 15:16:53 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * com.c (ffecom_expr_intrinsic_): Clean up indentation. |
| Support SECONDSUBR intrinsic implementation. |
| Rename SECOND to SECONDFUNC for direct support via library. |
| |
| * g77.c: Fix to return proper status value to shell, |
| by obtaining it from processes it spawns. |
| |
| * intdoc.c: Fix minor typo. |
| |
| * intrin.def: Turn SECOND into generic that maps into |
| function and subroutine forms. |
| |
| * intrin.def: Make FLOAT and SNGL into specific intrinsics. |
| |
| * intrin.def, intrin.h: Change the way DEFGEN and DEFSPEC |
| macros work, to save on verbage. |
| |
| Mon Feb 17 02:08:04 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| New subsystem to automatically generate documentation |
| on intrinsics: |
| * Make-lang.in ($(srcdir)/f/g77.info, |
| $(srcdir)/f/g77.dvi): Move g77 doc rules around. |
| Add to g77 doc rules the new subsystem. |
| (f77.mostlyclean, f77.maintainer-clean): Also clean up |
| after new doc subsystem. |
| * intdoc.c, intdoc.h: New doc subsystem code. |
| * intrin.h [FFEINTRIN_DOC]: When 1, don't pull in |
| stuff not needed by doc subsystem. |
| |
| Improve on intrinsics mechanism to both be more |
| self-documenting and to catch more user errors: |
| * intrin.c (ffeintrin_check_): Recognize new arg-len |
| and arg-rank information, and check it. |
| Move goto and signal indicators to the basic type. |
| Permit reference to arbitrary argument number, not |
| just first argument (for BESJN and BESYN). |
| (ffeintrin_init_0): Check and accept new notations. |
| * intrin.c, intrin.def: Value in COL now identifies |
| arguments starting with number 0 being the first. |
| |
| Some minor intrinsics cleanups (resulting from doc work): |
| * com.c (ffecom_expr_intrinsic_): Implement FLUSH |
| directly once again, handle its optional argument, |
| so it need not be a generic (awkward to handle in docs). |
| * intrin.def (BESJ0, BESJ1, BESJN, BESY0, BESY1, BESYN, |
| CHDIR, CHMOD, CTIME, DBESJ0, DBESJ1, DBESJN, DBESY0, |
| DBESY1, DBESYN, DDIM, ETIME, FGETC, FNUM, FPUTC, FSTAT, |
| GERROR, GETCWD, GETGID, GETLOG, GETPID, GETUID, GMTIME, |
| HOSTNM, IDATE, IERRNO, IIDINT, IRAND, ISATTY, ITIME, JIDINT, |
| LNBLNK, LSTAT, LTIME, MCLOCK, PERROR, SRAND, SYMLNK, TTYNAM, |
| UMASK): Change capitalization of initcaps (official) name |
| to be consistent with Burley's somewhat arbitrary rules. |
| (BESJN, BESYN): These have return arguments of same type |
| as their _second_ argument. |
| (FLUSH): Now a specific, not generic, intrinsic, with one |
| optional argument. |
| (FLUSH1): Eliminated. |
| Add arg-len and arg-rank info to several intrinsics. |
| (ITIME): Change argument type from REAL to INTEGER. |
| |
| Tue Feb 11 14:04:42 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * Make-lang.in (f771): Invocation of Makefile now done |
| with $(srcdir)=gcc to go along with $(VPATH)=gcc. |
| ($(srcdir)/f/runtime/configure, |
| $(srcdir)/f/runtime/libU77/configure): Break these out |
| so spurious triggers of this rule don't happen (as when |
| configure.in is more recent than libU77/configure). |
| (f77.rebuilt): Distinguish source versus build files, |
| so this target can be invoked from build directory and |
| still work. |
| * Makefile.in: This now expects $(srcdir) to be the gcc |
| source directory, not gcc/f, to agree with $(VPATH). |
| Accordingly, $(INCLUDES) has been fixed, various cruft |
| removed, the removal of f771 has been fixed to remove |
| the _real_ f771 (not the one in gcc's parent directory), |
| and so on. |
| |
| * lex.c: Part of ffelex_finish_statement_() now done |
| by new function ffelex_prepare_eos_(), so that, in one |
| popular case, the EOS can be prepared while the pointer |
| is at the end of the non-continued line instead of the |
| end of the line that marks no continuation. This improves |
| the appearance of diagnostics substantially. |
| |
| Mon Feb 10 12:44:06 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * Make-lang.in: runtime Makefile's, and include/f2c.h, |
| also depend on f/runtime/configure and f/runtime/libU77/configure. |
| |
| Fix various libU77 routines: |
| * com-rt.def (FFECOM_gfrtCTIME, FFECOM_gfrtMCLOCK, |
| FFECOM_gfrtTIME): These now use INTEGER*8 for time values, |
| for compatibility with systems like Alpha. |
| (FFECOM_gfrtSYSTEM_CLOCK, FFECOM_gfrtTTYNAM): Delete incorrect |
| trailing underscore in routine names. |
| * intrin.c, intrin.def: Support INTEGER*8 return values and |
| arguments ('4'). Change FFEINTRIN_impCTIME, FFEINTRIN_impMCLOCK, |
| and FFEINTRIN_impTIME accordingly. |
| (ffeintrin_is_intrinsic): Don't give caller a clue about |
| form of intrinsic -- shouldn't be needed at this point. |
| |
| Cope with generic intrinsics that are subroutines and functions: |
| * com.c (ffecom_finish_symbol_transform_, ffecom_expr_transform_): |
| Don't transform an intrinsic that is not known to be a subroutine |
| or a function. (Maybe someday have to avoid transforming |
| any intrinsic with an undecided or unknown implementation.) |
| * expr.c (ffeexpr_declare_unadorned_, |
| ffeexpr_declare_parenthesized_): Ok to invoke generic |
| intrinsic that has at least one subroutine form as a |
| subroutine. |
| Ok to pass intrinsic as actual arg if it has a known specific |
| intrinsic form that is valid as actual arg. |
| (ffeexpr_declare_parenthesized_): An unknown kind of |
| intrinsic has a paren_type chosen based on context. |
| (ffeexpr_token_arguments_): Build funcref/subrref based |
| on context, not on kind of procedure being called. |
| * intrin.h, intrin.c (ffeintrin_is_intrinsic): Undo changes of |
| Tue Feb 4 23:12:04 1997 by me, change all callers to leave |
| intrinsics as FFEINFO_kindNONE at this point. (Some callers |
| also had unused variables deleted as a result.) |
| |
| Enable all intrinsic groups (especially f90 and vxt): |
| * target.h (FFETARGET_defaultSTATE_DCP, FFETARGET_defaultSTATE_F2C, |
| FFETARGET_defaultSTATE_F90, FFETARGET_defaultSTATE_MIL, |
| FFETARGET_defaultSTATE_UNIX, FFETARGET_defaultSTATE_VXT): |
| Delete these macros, let top.c set them directly. |
| * top.c (ffeintrinsic_state_dcp_, ffe_intrinsic_state_f2c_, |
| ffe_intrinsic_state_f90_, ffe_intrinsic_state_mil_, |
| ffe_intrinsic_state_unix_, ffe_intrinsic_state_vxt_): |
| Enable all these directly. |
| |
| Sat Feb 8 03:21:50 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * g77.c: Incorporate recent changes to ../gcc.c. |
| For version magic (e.g. `g77 -v'), instead of compiling |
| /dev/null, write, compile, run, and then delete a small |
| program that prints the version numbers of the three |
| components of libf2c (libF77, libI77, and libU77), |
| so we get this info with bug reports. |
| Also, this change reduces the chances of accidentally |
| linking to an old (complex-alias-problem) libf2c. |
| Fix `-L' so the argument is expected in `-Larg'. |
| |
| * com.h (FFECOM_f2cLONGINT): For INTEGER*8 support in f2c.h, |
| dynamically determine proper type here, instead of |
| assuming `long long int' is correct. |
| |
| Tue Feb 4 23:12:04 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| Add libU77 library from Dave Love <d.love@dl.ac.uk>: |
| * Make-lang.in (f77-runtime): Depend on new Makefile. |
| (f/runtime/libU77/Makefile): New rule. |
| Also configure libU77. |
| ($(srcdir)/f/runtime/configure: Use Makefile.in, |
| so configuration doesn't have to have happened. |
| (f77.mostlyclean, f77.clean, f77.distclean, |
| f77.maintainer-clean): Some fixups here, but more work |
| needed. |
| (RUNTIMESTAGESTUFF): Add libU77's config.status. |
| (LIBU77STAGESTUFF, f77.stage1, f77.stage2, f77.stage3, |
| f77.stage4): New macro, appropriate uses added. |
| * com-rt.def: Add libU77 procedures. |
| * com.c (ffecom_f2c_ptr_to_integer_type_node, |
| ffecom_f2c_ptr_to_real_type_node): New type nodes. |
| (FFECOM_rttypeCHARACTER_): New type of run-time function. |
| (ffecom_char_args_): Handle CHARACTER*n intrinsics |
| where n != 1 here, instead of in ffecom_expr_intrinsic_. |
| (ffecom_expr_intrinsic_): New code to handle new |
| intrinsics. |
| In particular, change how FFEINTRIN_impFLUSH is handled. |
| (ffecom_make_gfrt_): Handle new type of run-time function. |
| (ffecom_init_0): Initialize new type nodes. |
| * config-lang.in: New libU77 directory. |
| * intrin.h, intrin.c (ffeintrin_is_intrinsic): Handle |
| potential generic for subroutine _and_ function |
| specifics via two new arguments. All callers changed. |
| Properly ignore deleted/disabled intrinsics in resolving |
| generics. |
| (ffeintrin_check_, ffeintrin_init_0): Handle CHARACTER intrinsics of (*) |
| length. |
| * intrin.def: Permission granted by FSF to place this in |
| public domain, which will allow it to serve as source |
| for both g77 program and its documentation. |
| Add libU77 intrinsics. |
| (FLUSH): Now a generic, not specific, intrinsic. |
| (DEFIMP): Now support return modifier for CHARACTER intrinsics. |
| |
| * com-rt.def (FFECOM_gfrtDIM, FFECOM_gfrtERF, |
| FFECOM_gfrtERFC, FFECOM_gfrtEXP, FFECOM_gfrtSIGN, |
| FFECOM_gfrtSIN, FFECOM_gfrtSINH, FFECOM_gfrtTAN, |
| FFECOM_gfrtTANH, FFECOM_gfrtPOW_RI): Change "&r" to "&f". |
| |
| Sat Feb 1 12:15:09 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * Version 0.5.19.1 released. |
| |
| * com.c (ffecom_expr_, ffecom_expr_intrinsic_, |
| ffecom_tree_divide_): FFECOM_gfrtPOW_ZI, |
| FFECOM_gfrtCONJG, FFECOM_gfrtDCONJG, |
| FFECOM_gfrtCCOS, FFECOM_gfrtCDCOS, |
| FFECOM_gfrtCLOG, FFECOM_gfrtCDLOG, |
| FFECOM_gfrtCSIN, FFECOM_gfrtCDSIN, |
| FFECOM_gfrtCSQRT, FFECOM_gfrtCDSQRT, |
| FFECOM_gfrtDIV_CC, FFECOM_gfrtDIV_ZZ: These all require |
| result to _not_ overlap one or more inputs. |
| |
| Sat Feb 1 00:25:55 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * com.c (ffecom_init_0): Do internal checks only if |
| -fset-g77-defaults not specified. |
| |
| Fix %LOC(), LOC() to return sufficiently wide type: |
| * com.h, com.c (ffecom_pointer_kind_, ffecom_label_kind_, |
| ffecom_pointer_kind(), ffecom_label_kind()): New globals |
| and accessor macros hold kind for integer pointers on target |
| machine. |
| (ffecom_init_0): Determine narrowest INTEGER type that |
| can hold a pointer (usually INTEGER*4 or INTEGER*8), |
| store it in ffecom_pointer_kind_, etc. |
| * expr.c (ffeexpr_cb_end_loc_): Use right type for %LOC(). |
| * intrin.c (ffeintrin_check_, ffeintrin_init_0): Support |
| new 'p' kind for type of intrinsic. |
| * intrin.def (FFEINTRIN_impLOC): Returns "Ip" instead of "I1", |
| so LOC() type is correct for target machine. |
| |
| Support -fugly-assign: |
| * lang-options.h, top.h, top.c (ffe_decode_option): |
| Accept -fugly-assign and -fno-ugly-assign. |
| * com.c (ffecom_expr_): Handle -fugly-assign. |
| * expr.c (ffeexpr_finished_): Check right type for ASSIGN |
| contexts. |
| |
| Fri Jan 31 14:30:00 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| Remove last vestiges of -fvxt-not-f90: |
| * stb.c (ffestb_R10012_, ffestb_R10014_, ffestb_V0201_): |
| top.c, top.h: |
| |
| Fri Jan 31 02:13:54 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * top.c (ffe_decode_option): Warn if -fugly is specified, |
| it'll go away soon. |
| |
| * symbol.h: No need to #include "bad.h". |
| |
| Reorganize features from -fvxt-not-f90 to -fvxt: |
| * lang-options.h, top.h, top.c: |
| Accept -fvxt and -fno-vxt, but not -fvxt-not-f90 or -ff90-not-vxt. |
| Warn if the latter two are used. |
| * expr.c (ffeexpr_nil_rhs_): Double-quote means octal constant. |
| (ffeexpr_token_rhs_): Double-quote means octal constant. |
| * target.h (FFETARGET_defaultIS_VXT_NOT_90): Delete macro |
| definition, no longer needed. |
| |
| Make some -ff90 features the default: |
| * data.c (ffedata_value): DATA implies SAVE. |
| * src.h (ffesrc_is_name_noninit): Underscores always okay. |
| |
| Fix up some more #error directives by quoting their text: |
| * bld.c (ffebld_constant_is_zero): |
| * target.h: |
| |
| Sat Jan 18 18:22:09 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * g77.c (lookup_option, main): Recognize `-Xlinker', |
| `-Wl,', `-l', `-L', `--library-directory', `-o', |
| `--output'. |
| (lookup_option): Don't depend on SWITCH_TAKES_ARG |
| being correct, it might or might not have `-x' in |
| it depending on host. |
| Return NULL argument if it would be an empty string. |
| (main): If no input files (by gcc.c's definition) |
| but `-o' or `--output' specified, produce diagnostic |
| to avoid overwriting output via gcc. |
| Recognize C++ `+e' options. |
| Treat -L as another non-magical option (like -B). |
| Don't append_arg `-x' twice. |
| |
| Fri Jan 10 23:36:00 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * top.c [BUILT_FOR_270] (ffe_decode_option): Make |
| -fargument-noalias-global the default. |
| |
| Fri Jan 10 07:42:27 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| Enable inlining of previously-compiled program units: |
| * com.c (ffecom_do_entry_, ffecom_start_progunit_): |
| Register new public function in ffeglobal database. |
| (ffecom_sym_transform_): Any GLOBAL or potentially GLOBAL |
| symbol should be looked up in ffeglobal database and |
| that tree node used, if found. That way, gcc knows |
| the references are to those earlier definitions, so it |
| can emit shorter branches/calls, inline, etc. |
| (ffecom_transform_common_): Minor change for clarity. |
| * expr.c (ffeexpr_sym-lhs_call_, ffeexpr_sym_lhs_extfunc_, |
| ffeexpr_sym_rhs_actualarg_, ffeexpr_paren_rhs_let_, |
| ffeexpr_token_funsubstr_): Globalize symbol as needed. |
| * global.c (ffeglobal_promoted): New function to look up |
| existing local symbol in ffeglobal database. |
| * global.h: Declare new function. |
| * name.h (ffename_token): New macro, plus alphabetize. |
| * stc.c (ffestc_R1207_item): Globalize EXTERNAL symbol. |
| * stu.c (ffestu_sym_end_transition, ffestu_sym_exec_transition): |
| Globalize symbol as needed. |
| * symbol.h, symbol.c (ffesymbol_globalize): New function. |
| |
| Thu Jan 9 14:20:00 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * ste.c (ffeste_R809): Produce a diagnostic for SELECT CASE |
| on CHARACTER type, instead of crashing. |
| |
| Thu Jan 9 00:52:45 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * stc.c (ffestc_order_entry_, ffestc_order_format_, |
| ffestc_R1226): Allow ENTRY and FORMAT before IMPLICIT |
| NONE, by having them transition only to state 1 instead |
| of state 2 (which is disallowed by IMPLICIT NONE). |
| |
| Mon Jan 6 22:44:53 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| Fix AXP bug found by Rick Niles (961201-1.f): |
| * com.c (ffecom_init_0): Undo my 1996-05-14 change, as |
| it is incorrect and prevented easily finding this bug. |
| * target.h [__alpha__] (ffetargetReal1, ffetargetReal2): |
| Use int instead of long. |
| (ffetarget_cvt_r1_to_rv_, ffetarget_cvt_rv_to_r1_, |
| ffetarget_cvt_r2_to_rv_, ffetarget_cvt_rv_to_r2_): |
| New functions that intercede for callers of |
| REAL_VALUE_(TO|UNTO)_TARGET_(SINGLE|DOUBLE). |
| All callers changed, and damaging casts to (long *) removed. |
| |
| Sun Jan 5 03:26:11 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * Make-lang.in (g77, g77-cross): Depend on both g77.c and |
| zzz.c, in $(srcdir)/f/. |
| |
| Better design for -fugly-assumed: |
| * stc.c (ffestc_R501_item, ffestc_R524_item, |
| ffestc_R547_item_object): Pass new is_ugly_assumed flag. |
| * stt.c, stt.h (ffestt_dimlist_as_expr, |
| ffestt_dimlist_type): New is_ugly_assumed flag now |
| controls whether "1" is treated as "*". |
| Don't treat "2-1" or other collapsed constants as "*". |
| |
| Sat Jan 4 15:26:22 1997 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * stb.c (ffestb_R10012_): Don't confirm on FORMAT(A,) |
| or even FORMAT(A,,B), as R1229 only warns about the |
| former currently, and this seems reasonable. |
| |
| Improvements to diagnostics: |
| * sta.c (ffesta_second_): Don't add any ffestb parsers |
| unless they're specifically called for. |
| Set up ffesta_tokens[0] before calling ffestc_exec_transition, |
| else stale info might get used. |
| (ffesta_save_): Do a better job picking which parser to run |
| after running all parsers with no confirmed possibles. |
| (FFESTA_maxPOSSIBLES_): Decrease from 100 now that so few |
| possibles are ever on the list at a given time. |
| (struct _ffesta_possible): Add named attribute. |
| (ffesta_add_possible_exec_, ffesta_add_possible_nonexec_): |
| Make these into macros that call a single function that now |
| sets the named attribute. |
| (ffesta_add_possible_unnamed_exec_, |
| ffeseta_add_possible_unnamed_nonexec_): New macros. |
| (ffesta_second_): Designate unnamed possibles as |
| appropriate. |
| * stb.c (ffestb_R1229, ffestb_R12291_): Use more general |
| diagnostic, so things like "POINTER (FOO, BAR)" are |
| diagnosed as unrecognized statements, not invalid statement |
| functions. |
| * stb.h, stb.c (ffestb_unimplemented): Remove function. |
| |
| 1996-12-30 Dave Love <d.love@dl.ac.uk> |
| |
| * com.c: #include libU77/config.h |
| (ffecom_f2c_ptr_to_integer_type_node, |
| ffecom_f2c_ptr_to_integer_type_node): New variables. |
| (ffecom_init_0): Use them. |
| (ffecom_expr_intrinsic_): Many news cases for libU77 intrinsics. |
| |
| * com-rt.def: New definitions for libU77. |
| * intrin.def: Likewise. Also correct ftell arg spec. |
| |
| * Makefile.in (f/runtime/libU77/config.h): New target for com.c |
| dependency. |
| * Make-lang.in (f771): Depend on f/runtime/Makefile for the above. |
| |
| Sat Dec 28 12:28:29 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * stt.c (ffestt_dimlist_type): Treat ([...,]1) in dimlist |
| as ([...,]*) if -fugly-assumed, so assumed-size array |
| detected early enough. |
| |
| Thu Dec 19 14:01:57 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * target.h (FFETARGET_REAL_VALUE_FROM_INT_): Conditionalize |
| definition on BUILT_FOR_280, not BUILT_WITH_280, since |
| the name of the macro was (properly) changed since 0.5.19. |
| |
| Fix warnings/errors resulting from ffetargetOffset becoming |
| `long long int' instead of `unsigned long' as of 0.5.19, |
| while ffebitCount remains `unsigned long': |
| * bld.c (ffebld_constantarray_dump): Avoid warnings by |
| using loop var of appropriate type, and using casts. |
| * com.c (ffecom_expr_): Use right type for loop var. |
| (ffecom_sym_transform_, ffecom_transform_equiv_): |
| Cast to right type in assertions. |
| * data.c (ffedata_gather_, ffedata_value_): Cast to right |
| type in assertions and comparisons. |
| |
| Wed Dec 18 12:07:11 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| Patch from Alexandre Oliva <oliva@dcc.unicamp.br>: |
| * Makefile.in (all.indirect): Don't pass -bbigtoc option |
| to GNU ld. |
| |
| Cope with new versions of gcc: |
| * com.h (BUILT_FOR_280): New macro. |
| * com.c (ffecom_ptr_to_expr): Conditionalize test of |
| OFFSET_REF. |
| (ffecom_build_complex_constant_): Conditionalize calling |
| sequence for build_complex. |
| |
| Sat Dec 7 07:15:17 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * Version 0.5.19 released. |
| |
| Fri Dec 6 12:23:55 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * g77.c: Default to assuming "f77" is in $LANGUAGES, since |
| the LANGUAGE_F77 macro isn't defined by anyone anymore (but |
| might as well leave the no-f77 code in just in case). |
| * Make-lang.in (g77, g77-cross): Don't define LANGUAGE_F77 |
| anymore. |
| |
| 1996-12-06 Dave Love <d.love@dl.ac.uk> |
| |
| * Make-lang.in (g77, g77-cross): Revert to building `g77' or not |
| conditional on `f77' in LANGUAGES. |
| |
| Wed Dec 4 13:08:44 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * Make-lang.in (g77, g77-cross): No libs or lib dependencies |
| in case where "f77" is not in $LANGUAGES. |
| |
| * lex.c (ffelex_image_char_, ffelex_file_fixed, |
| ffelex_file_free): Fixes to properly handle lines with |
| null character, and too-long lines as well. |
| |
| * lex.c: Call ffebad_start_msg_lex instead of |
| ffebad_start_msg throughout. |
| |
| Sun Dec 1 21:19:55 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| Fix-up for 1996-11-25 changes: |
| * com.c (ffecom_member_phase2_): Subtract out 0 offset for |
| elegance and consistency with EQUIVALENCE aggregates. |
| (ffecom_sym_transform_): Ditto for LOCAL/COMMON, and |
| ensure we get the same parent storage area. |
| * data.c (ffedata_gather_, ffedata_value_): Subtract out |
| aggregate offset. |
| |
| Wed Nov 27 13:55:57 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * proj.h: Quote the text of the #error message, to avoid |
| strange-looking diagnostics from non-gcc ANSI compilers. |
| |
| * top.c: Make -fno-debug-kludge the default. |
| |
| Mon Nov 25 20:13:45 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| Provide more info on EQUIVALENCE mismatches: |
| * bad.def (FFEBAD_EQUIV_MISMATCH): More detailed message. |
| * equiv.c (ffeequiv_layout_local_, ffeequiv_layout_cblock): |
| More details for FFEBAD_EQUIV_MISMATCH. |
| |
| Fix problem with EQUIVALENCE handling: |
| * equiv.c (ffeequiv_layout_local_): Redesign algorithm -- |
| old one was broken, resulting in rejection of good code. |
| (ffeequiv_offset_): Add argument, change callers. |
| Clean up the code, fix up the (probably unused) negative-value |
| case for SYMTER. |
| * com.c (ffecom_sym_transform_): For local EQUIVALENCE |
| member, subtract out aggregate offset (which is <= 0). |
| |
| Thu Nov 21 12:44:56 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| Change type of ffetargetOffset from `unsigned long' to `long long': |
| * bld.c (ffebld_constantarray_dump): Change printf formats. |
| * storag.c (ffestorag_dump): Ditto. |
| * symbol.c (ffesymbol_report): Ditto. |
| * target.h (ffetargetOffset_f): Ditto and change type itself. |
| |
| Handle situation where list of languages does not include f77: |
| * Make-lang.in: Define LANGUAGE_F77 to 1 only if `f77' is in |
| the $LANGUAGES macro for the build. |
| * g77.c: Compile to a (nearly) no-op program if LANGUAGE_F77 |
| is not defined to 1. |
| |
| Fixes to delay confirmation of READ, WRITE, and GOTO statements |
| so the corresponding assignments to same-named CHAR*(*) arrays |
| work: |
| * stb.c (ffestb_R90915_, ffestb_91014_): New functions. |
| (ffestb_goto3_, ffestb_goto5_): Move confirmation from 3 to 5 |
| for the OPEN_PAREN case. |
| (ffestb_R9091_, ffestb_R9094_, ffestb_R90913_, ffestb_R90914_, |
| ffestb_R91012_, ffestb_R91013_): Use new functions, and confirm |
| except for the OPEN_PAREN case. |
| |
| Fixes to not confirm declarations with an open paren where |
| an equal sign or other assignment-like token might be, so the |
| corresponding assignments to same-named CHAR*(*) arrays work: |
| (ffestb_decl_entsp_5_): Move assertion so we crash on that first, |
| if it turns out to be wrong, before the less-debuggable crash |
| on mistaken confirmation. |
| (ffestb_decl_entsp_6_, ffestb_decl_entsp_7_, ffestb_decl_entsp_8_): |
| Include OPEN_PAREN in list of assignment-only tokens. |
| |
| Fix more diagnosed-crash bugs: |
| * stu.c (ffestu_sym_end_transition): ANY-ize an adjustable array |
| with bad dimension expressions even if still stateUNCERTAIN. |
| (ffestu_symter_end_transition_, ffestu_symter_exec_transition_): |
| Return TRUE for opANY as well. |
| For code elegance, move opSYMTER case into first switch. |
| |
| 1996-11-17 Dave Love <d.love@dl.ac.uk> |
| |
| * lex.c: Fix last change. |
| |
| 1996-11-14 Dave Love <d.love@dl.ac.uk> |
| |
| * Make-lang.in, config-lang.in: Remove the (broken) libU77 stuff, |
| pending 0.5.20. |
| |
| Thu Nov 14 15:40:59 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * bad.def (FFEBAD_UNIMPL_STMT): Explain that invalid |
| intrinsic references can trigger this message, too. |
| |
| 1996-11-12 Dave Love <d.love@dl.ac.uk> |
| |
| * lex.c: Declare dwarfout routines. |
| |
| * config-lang.in: Sink grep o/p. |
| |
| Mon Nov 11 14:21:13 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * g77.c (main): Might as well print version number |
| for --verbose as well. |
| |
| Thu Nov 7 18:41:41 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * expr.c, lang-options.h, target.h, top.c, top.h: Split out |
| remaining -fugly stuff into -fugly-logint and -fugly-comma, |
| leaving -fugly as simply a `macro' that expands into other |
| options, and eliminate defaults for some of the ugly stuff |
| in target.h. |
| |
| * Make-lang.in (gcc-cross): Compile zzz.c, not version.o (!), |
| in to get version info for this target. |
| |
| * config-lang.in: Test for GBE patch application based |
| on whether 2.6.x or 2.7.x GBE is detected. |
| |
| Wed Nov 6 14:19:45 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * Make-lang.in (g77): Compile zzz.c in to get version info. |
| * g77.c: Add support for --help and --version. |
| |
| * g77.c (lookup_option): Short-circuit long-winded tests |
| when second char is not hyphen, just to save a spot of time. |
| |
| Sat Nov 2 13:50:31 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * intrin.def: Add FTELL and FSEEK intrinsics, plus new |
| `g' codes for alternate-return (GOTO) arguments. |
| * intrin.c (ffeintrin_check_): Support `g' codes. |
| * com-rt.def: Add ftell_() and fseek_() to database. |
| * com.c (ffecom_expr_intrinsic_): Ditto. Also, let each |
| subroutine intrinsic decide for itself what to do with |
| tree_type, the default being NULL_TREE once again (so |
| ffecom_call_ doesn't think it's supposed to cast the |
| function call to the type in the fall-through case). |
| |
| * ste.c (ffeste_R909_finish): Don't special-case list-directed |
| I/O, now that libf2c can return nonzero status codes. |
| (ffeste_R910_finish): Ditto. |
| (ffeste_io_call_): Simplify logic. |
| (ffeste_io_impdo_): |
| (ffeste_subr_beru_): |
| (ffeste_R904): |
| (ffeste_R907): |
| (ffeste_R909_start): |
| (ffeste_R909_item): |
| (ffeste_R909_finish): |
| (ffeste_R910_start): |
| (ffeste_R910_item): |
| (ffeste_R910_finish): |
| (ffeste_R911_start): |
| (ffeste_R923A): Ditto all the above. |
| |
| Thu Oct 31 20:56:28 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * config-lang.in, Make-lang.in: Rename flag file |
| build-u77 to build-libu77, for consistency with |
| install-libf2c and such. |
| |
| * config-lang.in: Don't complain about failure to patch |
| if pre-2.7.0 gcc is involved (since our patch for that |
| doesn't add support for tooning). |
| |
| Sat Oct 26 05:56:51 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * bad.def (FFEBAD_TYPELESS_TOO_LARGE): Remove this |
| unused and redundant diagnostic. |
| |
| Sat Oct 26 00:45:42 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * target.c (ffetarget_integerhex): Fix dumb bug. |
| |
| 1996-10-20 Dave Love <d.love@dl.ac.uk> |
| |
| * gbe/2.7.2.1.diff: New file. |
| |
| * Makefile.in (F771_LDFLAGS): Add -bbigtoc for AIX4.1 up, suggested by |
| endo@material.tohoku.ac.jp [among others!]. |
| |
| Sat Oct 19 03:11:14 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * bad.def, bld.c, bld.h, expr.c, lang-options.h, target.c, |
| target.h, top.c, top.h (ffebld_constant_new_integerbinary, |
| ffebld_constant_new_integerhex, ffebld_constant_new_integeroctal, |
| ffeexpr_token_name_apos_name_, ffetarget_integerbinary, |
| ffetarget_integerhex, ffetarget_integeroctal): Support |
| new -fno-typeless-boz option with new functions, mods to |
| existing octal-handling functions, new macros, new error |
| messages, and so on. |
| |
| * com.c, lang-options.h, top.c, top.h (ffecom_notify_primary_entry): |
| Print program unit name on stderr if -fno-silent (new option). |
| |
| * lang-options.h, top.c, top.h, stt.c (ffestt_dimlist_as_expr): |
| Treat ([...,]1) in dimlist as ([...,]*) if -fugly-assumed |
| (new option). |
| |
| * lang-options.h: Comment out options duplicated in gcc/toplev.c, |
| because, somehow, having them commented in and building on my |
| DEC Alpha results in a cc1 that always segfaults, and gdb that |
| also segfaults whenever it debugs it up to init_lex() calling |
| xmalloc() or so. |
| |
| Thu Oct 17 00:39:27 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * stb.c (ffestb_R10013_): Don't change meaning of .sign until |
| after previous meaning/value used to set sign of value |
| (960507-1.f). |
| |
| Sun Oct 13 22:15:23 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * top.c (ffe_decode_option): Don't set back-end flags |
| that are nonexistent prior to gcc 2.7.0. |
| |
| Sun Oct 13 12:48:45 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * com.c (convert): Don't convert emulated complex expr to |
| real (via REALPART_EXPR) if the target type is (emulated) |
| complex. |
| |
| Wed Oct 2 21:57:12 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * com.c (ffecom_debug_kludge_): Set DECL_IN_SYSTEM_HEADER so |
| -Wunused doesn't complain about these manufactured decls. |
| (ffecom_expr_): Ditto, for original (non-ASSIGN'ed) variable. |
| (ffecom_transform_equiv_): Clear DECL_IGNORED_P for aggregate |
| area so it shows up as a debug-accessible symbol. |
| (pushdecl): Default for "invented" identifiers (a g77-specific |
| concept for now) is that they are artificial, in system header, |
| ignored for debugging purposes, used, and (for types) suppressed. |
| This ought to be overkill. |
| |
| Fri Sep 27 23:13:07 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * ste.c (ffeste_begin_iterdo_, ffeste_end_iterdo_): Support |
| one-trip DO loops (F66-style). |
| * lang-options.h, top.c, top.h (-fonetrip): New option. |
| |
| Thu Sep 26 00:18:40 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * com.c (ffecom_debug_kludge_): New function. |
| (ffecom_sym_transform_): Use new function for COMMON and EQUIVALENCE |
| members. |
| |
| * lang-options.h, top.c, top.h (-fno-debug-kludge): |
| New option. |
| |
| 1996-09-24 Dave Love <d.love@dl.ac.uk> |
| |
| * Make-lang.in (include/f2c.h): |
| Remove dependencies on xmake_file and tmake_file. |
| They expand inconsistently in 2.8 c.f. 2.7; $(GCC_PARTS) depends on |
| them anyhow. |
| |
| 1996-09-22 Dave Love <d.love@dl.ac.uk> |
| |
| * config-lang.in: Add --enable-libu77 option handling. |
| |
| * Make-lang.in: |
| Conditionally add --enable-libu77 when running runtime configure. |
| Define LIBU77STAGESTUFF and use it in relevant rules. |
| |
| 1996-08-21 Dave Love <d.love@dl.ac.uk> |
| |
| * Make-lang.in (f77-runtime): |
| `stmp-hdrs' should have been `stmp-headers'. |
| |
| 1996-08-20 Dave Love <d.love@dl.ac.uk> |
| |
| * Make-lang.in (f77-runtime): |
| Depend on stmp-hdrs, not stmp-int-hdrs, since libF77 |
| needs float.h. |
| |
| Sat Jun 22 18:17:11 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * com.c (ffecom_tree_divide_): Fix RECORD_TYPE case to |
| look at type of first field, properly, to determine |
| whether to call c_div or z_div. |
| |
| Tue Jun 4 04:27:18 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * com.c (ffecom_build_complex_constant_): Explicitly specify |
| TREE_PURPOSE. |
| (ffecom_expr_): Fix thinko. |
| (ffecom_2): For COMPLEX_EXPR, explicitly specify TREE_PURPOSE. |
| |
| Mon May 27 16:23:43 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| Changes to optionally avoid gcc's back-end complex support: |
| * com.c (ffecom_stabilize_aggregate_): New function. |
| (ffecom_convert_to_complex_): New function. |
| (ffecom_make_complex_type_): New function. |
| (ffecom_build_complex_constant_): New function. |
| (ffecom_expr_): For opCONVERT of non-COMPLEX to COMPLEX, |
| don't bother explicitly converting to the subtype first, |
| because gcc does that anyway, and more code would have |
| to be added to find the subtype for the emulated-complex |
| case. |
| (ffecom_f2c_make_type_): Use ffecom_make_complex_type_ |
| instead of make_node etc. to make a complex type. |
| (ffecom_1, ffecom_2): Translate operations on COMPLEX operands |
| to appropriate operations when emulating complex. |
| (ffecom_constantunion): Use ffecom_build_complex_constant_ |
| instead of build_complex to build a complex constant. |
| (ffecom_init_0): Change point at which types are laid out |
| for improved consistency. |
| Use ffecom_make_complex_type_ instead of make_node etc. |
| to make a complex type. |
| Always calculate storage sizes from TYPE_SIZE, never TYPE_PRECISION. |
| (convert): Use e, not expr, since we've copied into that anyway. |
| For RECORD_TYPE cases, do emulated-complex conversions. |
| (ffecom_f2c_set_lio_code_): Always calculate storage sizes |
| from TYPE_SIZE, never TYPE_PRECISION. |
| (ffecom_tree_divide_): Allow RECORD_TYPE to also be handled |
| by run-time library. |
| (ffecom_expr_intrinsic_): Handle possible RECORD_TYPE as argument |
| to AIMAG intrinsic. |
| |
| * top.h, top.c, lang-options.h: Support new -f(no-)emulate-complex option. |
| |
| * com.c (ffecom_sym_transform_): Clarify and fix typos in comments. |
| |
| Mon May 20 02:06:27 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * target.h: Use new REAL_VALUE_UNTO_TARGET_* macros instead |
| of REAL_VALUE_FROM_TARGET_DOUBLE and _SINGLE. |
| Explicitly use long instead of HOST_WIDE_INT for emulation |
| of ffetargetReal1 and ffetargetReal2. |
| |
| 1996-05-20 Dave Love <d.love@dl.ac.uk> |
| |
| * config-lang.in: |
| Test for patch being applied with flag_move_all_movables in toplev.c. |
| |
| * install.texi (Patching GNU Fortran): |
| Mention overriding X_CFLAGS rather than |
| editing proj.h on SunOS4. |
| |
| * Make-lang.in (F77_FLAGS_TO_PASS): |
| Add X_CFLAGS (convenient for SunOS4 kluge, in |
| particular). |
| (f77.{,mostly,dist}clean): Reorder things, in particular not to delete |
| Makefiles too early. |
| |
| * g77.c (DEFAULT_SWITCH_TAKES_ARG): Define a la gcc.c in the |
| current GCC snapshot. |
| |
| Tue May 14 00:24:07 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| Changes for DEC Alpha AXP support: |
| * com.c (ffecom_init_0): REAL_ARITHMETIC means internal |
| REAL/DOUBLE PRECISION might well have a different size |
| than the compiled type, so don't crash if this is the |
| case. |
| * target.h: Use `int' for ffetargetInteger1, |
| ffetargetLogical1, and magical tests. Set _f format |
| strings accordingly. |
| |
| Tue Apr 16 14:08:28 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * top.c (ffe_decode_option): -Wall no longer implies |
| -Wsurprising. |
| |
| Sat Apr 13 14:50:06 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * com.c (ffecom_char_args_): If item is error_mark_node, |
| set *length that way, too. |
| |
| * com.c (ffecom_expr_power_integer_): If either operand |
| is error_mark_node, return that. |
| |
| * com.c (ffecom_intrinsic_len_): If item is error_mark_node, |
| return that for length. |
| |
| * expr.c (ffeexpr_declare_unadorned_, |
| ffeexpr_declare_parenthesized_): Instead of crashing |
| on unexpected contexts, produce a diagnostic. |
| |
| * intrin.c (ffeintrin_check_), intrin.def (impSIGNAL): |
| Allow procedure as second arg to SIGNAL intrinsic. |
| |
| * stu.c (ffestu_symter_end_transition_): New function. |
| (ffestu_symter_exec_transition_): Return bool arg. |
| Always transition symbol (don't inhibit when !whereNONE). |
| (ffestu_sym_end_transition): If DUMMY/LOCAL arg has any |
| opANY exprs in its dimlist, diagnose it so it doesn't |
| make it through to later stages that try to deal with |
| dimlist stuff. |
| (ffestu_sym_exec_transition): If sym has any opANY exprs |
| in its dimlist, diagnose it so it becomes opANY itself. |
| |
| * symbol.c (ffesymbol_error): If token arg is NULL, |
| just ANY-ize the symbol -- don't produce diagnostic. |
| |
| Mon Apr 1 10:14:02 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * Version 0.5.18 released. |
| |
| Mon Mar 25 20:52:24 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * com.c (ffecom_expr_power_integer_): Don't generate code |
| that compares COMPLEX (or, as it happens, REAL) via "LT_EXPR", |
| since the back end crashes on that. (This code would never |
| be executed anyway, but the test that avoids it has now been |
| translated to control whether the code gets generated at all.) |
| Fixes 960323-3.f. |
| |
| * com.c (ffecom_type_localvar_): Handle variable-sized |
| dimension bounds expressions here, so they get calculated |
| and saved on procedure entry. Fixes 960323-4.f. |
| |
| * com.c (ffecom_notify_init_symbol): Symbol has no init |
| info at all if only zeros have been used to initialize it. |
| Fixes 960324-0.f. |
| |
| * expr.c, expr.h (ffeexpr_type_combine): Renamed from |
| ffeexpr_type_combine_ and now a public procedure; last arg now |
| a token, instead of an internal structure used to extract a token. |
| Now allows the outputs to be aliased with the inputs. |
| Now allows a NULL token to mean "don't report error". |
| (ffeexpr_reduced_bool2_, ffeexpr_reduced_eqop2_, |
| ffeexpr_reduced_math2_, ffeexpr_reduced_power_, |
| ffeexpr_reduced_relop2_): Handle new calling sequence for |
| ffeexpr_type_combine. |
| * (ffeexpr_convert): Don't put an opCONVERT node |
| in just because the size is unknown; all downstream code |
| should be able to deal without it being there anyway, and |
| getting rid of it allows new intrinsic code to more easily |
| combine types and such without generating bad code. |
| * info.c, info.h (ffeinfo_kindtype_max): Rewrite to do |
| proper comparison of size of types, not just comparison |
| of their internal kind numbers (so I2.eq.I1 doesn't promote |
| I1 to I2, rather the other way around). |
| * intrin.c (ffeintrin_check_): Combine types of arguments |
| in COL a la expression handling, for greater flexibility |
| and permissiveness (though, someday, -fpedantic should |
| report use of this kind of thing). |
| Make sure Hollerith/typeless where CHARACTER expected is |
| rejected. This all fixes 960323-2.f. |
| |
| * ste.c (ffeste_begin_iterdo_): Fix some more type conversions |
| so INTEGER*2-laden DO loops don't crash at compile time on |
| certain machines. Believed to fix 960323-1.f. |
| |
| * stu.c (ffestu_sym_end_transition): Certainly reject |
| whereDUMMY not in any dummy list, whether stateUNCERTAIN |
| or stateUNDERSTOOD. Fixes 960323-0.f. |
| |
| Tue Mar 19 13:12:40 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * data.c (ffedata_value): Fix crash on opANY, and simplify |
| the code at the same time. |
| |
| * Make-lang.in (f77-runtime): Also depends on lib[FI]77/Makefile... |
| (include/f2c.h...): ...which in turn depend on */Makefile.in. |
| (f77.rebuilt): Rebuild runtime stuff too. |
| |
| * intrin.c (ffeintrin_check_): Accommodate TYPELESS/HOLLERITH |
| types, convert args as necessary, etc. |
| |
| * expr.c (ffeexpr_convert): Fix test for TYPELESS/HOLLERITH |
| to obey the docs; crash if no source token when error. |
| (ffeexpr_collapse_convert): Crash if no token when error. |
| |
| Mon Mar 18 15:51:30 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * com.c (ffecom_init_zero_): Renamed from |
| ffecom_init_local_zero_; now handles top-level |
| (COMMON) initializations too. |
| |
| * bld.c (ffebld_constant_is_zero): |
| * com.c (ffecom_symbol_transform_, ffecom_sym_transform_assign_, |
| ffecom_transform_common_, ffecom_transform_equiv_): |
| * data.c: |
| * equiv.c: |
| * equiv.h: |
| * lang-options.h: |
| * stc.c: |
| * storag.c: |
| * storag.h: |
| * symbol.c: |
| * symbol.h: |
| * target.c: |
| * target.h: |
| * top.c: |
| * top.h: All of this is mostly housekeeping-type changes |
| to support -f(no-)zeros, i.e. not always stuff zero |
| values into the initializer fields of symbol/storage objects, |
| but still track that they have been given initial values. |
| |
| * bad.def: Fix wording for DATA-related diagnostics. |
| |
| * com.c (ffecom_sym_transform_assign_): Don't check |
| any EQUIVALENCE stuff for local ASSIGN, the check was |
| bad (crashing), and it's not necessary, anyway. |
| |
| * com.c (ffecom_expr_intrinsic_): For MAX and MIN, |
| ignore null arguments as far arg[123], and fix handling |
| of ANY arguments. (New intrinsic support now allows |
| spurious trailing null arguments.) |
| |
| * com.c (ffecom_init_0): Add HOLLERITH (unsigned) |
| equivalents for INTEGER*2, *4, and *8, so shift intrinsics |
| and other things that need unsigned versions of signed |
| types work. |
| |
| Sat Mar 16 12:11:40 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * storag.c (ffestorag_exec_layout): Treat adjustable |
| local array like dummy -- don't create storage object. |
| * com.c (ffecom_sym_transform_): Allow for NULL storage |
| object in LOCAL case (adjustable array). |
| |
| Fri Mar 15 13:09:41 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * com.c (ffecom_sym_transform_): Allow local symbols |
| with nonconstant sizes (adjustable local arrays). |
| (ffecom_type_localvar_): Allow dimensions with nonconstant |
| component (adjustable local arrays). |
| * expr.c: Various minor changes to handle adjustable |
| local arrays (a new case of stateUNCERTAIN). |
| * stu.c (ffestu_sym_end_transition, |
| ffestu_sym_exec_transition): Ditto. |
| * symbol.def: Update docs to reflect these changes. |
| |
| * com.c (ffecom_expr_): Reduce space/time needed for |
| opACCTER case by handling it here instead of converting |
| it to opARRTER earlier on. |
| (ffecom_notify_init_storage): Don't convert ACCTER to ARRTER. |
| (ffecom_notify_init_symbol): Ditto. |
| |
| * com.c (ffecom_init_0): Crash and burn if any of the types' |
| sizes, according to the GBE, disagrees with the sizes of |
| the FFE's internal implementation. This might catch |
| Alpha/SGI bugs earlier. |
| |
| Fri Mar 15 01:09:41 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * com-rt.def, com.c, com.h: Changes for rewrite of intrinsic |
| handling. |
| * com.c (ffecom_arglist_expr_): New function. |
| (ffecom_widest_expr_type_): New function. |
| (ffecom_expr_intrinsic_): Reorganize, some rewriting. |
| (ffecom_f2c_make_type_): Layout complex types. |
| (ffecom_gfrt_args_): New function. |
| (ffecom_list_expr): Trivial change for consistency. |
| |
| * expr.c (ffeexpr_token_name_rhs_): Go back to getting |
| type from specific, not implementation, info. |
| (ffeexpr_token_funsubstr_): Set intrinsic implementation too! |
| * intrin.c: Major rewrite of most portions. |
| * intrin.def: Major rearchitecting of tables. |
| * intrin.h (ffeintrin_basictype, ffeintrin_kindtype): |
| Now (once again) take ffeintrinSpec as arg, not ffeintrinImp; |
| for now, these return NONE, since they're not really needed |
| and adding the necessary info to the tables is not trivial. |
| (ffeintrin_codegen_imp): New function. |
| * stc.c (ffestc_R1208_item): Change way ffeintrin funcs called, |
| back to original per above; but comment out the code anyway. |
| |
| * intrin.c (ffe_init_0): Do internal checks only if |
| -fset-g77-defaults not specified. |
| |
| * lang-options.h: Add -fset-g77-defaults option. |
| * lang-specs.h: Always pass -fset-g77-defaults. |
| * top.c, top.h: New option. |
| |
| Sat Mar 9 17:49:50 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * Make-lang.in (stmp-int-hdrs): Use --no-validate when |
| generating the f77.rebuilt files (BUGS, INSTALL, NEWS) |
| so cross-references can work properly in g77.info |
| without a lot of hassle. Users can probably deal with |
| the way they end up looking in the f77.rebuilt files. |
| |
| * bld.c (ffebld_constant_new_integer4_val): INTEGER*8 |
| support -- new function. |
| (ffebld_constant_new_logical4_val): New function. |
| * com.c (ffecom_f2c_longint_type_node): New type. |
| (FFECOM_rttypeLONGINT_): New return type code. |
| (ffecom_expr_): Add code to invoke pow_qq instead |
| of pow_ii for INTEGER4 (INTEGER*8) case. |
| If ffecom_expr_power_integer_ returns NULL_TREE, just do |
| the usual work. |
| (ffecom_make_gfrt_): Handle new type. |
| (ffecom_expr_power_integer_): Let caller do the work if in |
| dummy-transforming case, since |
| caller now knows about INTEGER*8 and such, by returning |
| NULL_TREE. |
| * expr.c (ffeexpr_reduced_power_): Complain about non-INTEGER |
| raised to INTEGER4 (INTEGER*8) power. |
| |
| * target.c (ffetarget_power_integerdefault_integerdefault): |
| Fix any**negative. |
| * com.c (ffecom_expr_power_integer_): Fix (-1)**(-8) and similar |
| to ABS() the integral result if the exponent is negative |
| and even. |
| |
| * ste.c (ffeste_begin_iterdo_): Clean up a type ref. |
| Always convert iteration count to _default_ INTEGER. |
| |
| * sta.c (ffesta_second_): Add BYTE and WORD type/stmts; |
| changes by Scott Snyder <snyder@d0sgif.fnal.gov>. |
| * stb.c (ffestb_decl_recursive): Ditto. |
| (ffestb_decl_recursive): Ditto. |
| (ffestb_decl_entsp_2_): Ditto. |
| (ffestb_decl_entsp_3_): Ditto. |
| (ffestb_decl_funcname_2_): Ditto. |
| (ffestb_decl_R539): Ditto. |
| (ffestb_decl_R5395_): Ditto. |
| * stc.c (ffestc_establish_declstmt_): Ditto. |
| * std.c (ffestd_R539item): Ditto. |
| (ffestd_R1219): Ditto. |
| * stp.h: Ditto. |
| * str-1t.fin: Ditto. |
| * str-2t.fin: Ditto. |
| |
| * expr.c (ffeexpr_finished_): For DO loops, allow |
| any INTEGER type; convert LOGICAL (assuming -fugly) |
| to corresponding INTEGER type instead of always default |
| INTEGER; let later phases do conversion of DO start, |
| end, incr vars for implied-DO; change checks for non-integral |
| DO vars to be -Wsurprising warnings. |
| * ste.c (ffeste_io_impdo_): Convert start, end, and incr |
| to type of DO variable. |
| |
| * com.c (ffecom_init_0): Add new types for [IL][234], |
| much of which was done by Scott Snyder <snyder@d0sgif.fnal.gov>. |
| * target.c: Ditto. |
| * target.h: Ditto. |
| |
| Wed Mar 6 14:08:45 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * top.c (ffe_init_gbe_): Make -frerun-loop-opt the default. |
| |
| Mon Mar 4 12:27:00 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * expr.c (ffeexpr_exprstack_push_unary_): Really warn only |
| about two successive _arithmetic_ operators. |
| |
| * stc.c (ffestc_R522item_object): Allow SAVE of (understood) |
| local entity. |
| |
| * top.c (ffe_decode_option): New -f(no-)second-underscore options. |
| * top.h: New options. |
| * com.c (ffecom_get_external_identifier_, ffecom_get_identifier_): |
| New options. |
| |
| * Make-lang.in (f77.maintainer-clean): Clean f/BUGS, f/INSTALL, |
| f/NEWS. |
| ($(srcdir)/f/BUGS, $(srcdir)/f/INSTALL, $(srcdir)/f/NEWS): |
| New rules. |
| ($(srcdir)/f/g77.info, $(srcdir)/f/g77.dvi): Depend on |
| f/bugs.texi and f/news.texi. |
| (f77.install-man): Install f77 man pages (if enabled). |
| (f77.uninstall): Uninstall info docs, f77 man pages (if enabled). |
| |
| * top.c (ffe_init_gbe_): New function. |
| (ffe_decode_option, ffe_file): Call ffe_init_gbe_ to |
| set defaults for gcc options. |
| |
| Sat Jan 20 13:57:19 1996 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * com.c (ffecom_get_identifier_): Eliminate needless |
| comparison of results of strchr. |
| |
| Tue Dec 26 11:41:56 1995 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * Make-lang.in: Add rules for new files g77.texi, g77.info, |
| and g77.dvi. |
| Reorganize the *clean rules to more closely parallel gcc's. |
| |
| * config-lang.in: Exclude g77.info from diffs. |
| |
| Sun Dec 10 02:29:13 1995 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * expr.c (ffeexpr_declare_unadorned_, |
| ffeexpr_declare_parenthesized_): Break out handling of |
| contextDATAIMPDO[INDEX,CTRL] so it's independent of symbol state. |
| Don't exec-transition these here (let ffeexpr_sym_impdoitem_ |
| handle that when appropriate). Don't "declare" them twice. |
| |
| Tue Dec 5 06:48:26 1995 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * stc.c (ffestc_promote_sfdummy_): Allow whereNONE parent |
| symbol, since it is not necessarily known whether it will |
| become LOCAL or DUMMY. |
| |
| Mon Dec 4 03:46:55 1995 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * lex.c (ffelex_display_token, ffelex_type_string_): Resurrect |
| these from their old versions and update them for possible invocation |
| from debugger. |
| * lex.h (ffelex_display_token): Declare this in case anyone |
| else wants to call it. |
| |
| * lex.c (ffelex_total_tokens_): Have this reflect actual allocated |
| tokens, no longer include outstanding "uses" of tokens. |
| |
| * malloc.c, malloc.h (MALLOC_DEBUG): New macro to control |
| checking of whether callers follow rules, now defaults to 0 |
| for "no checking" to improve compile times. |
| |
| * malloc.c (malloc_pool_kill): Fix bug that could prevent |
| subpool from actually being killed (wasn't setting its use |
| count to 1). |
| |
| * proj.h, *.c (dmpout): Replace all occurrences of `stdout' |
| and some of `stderr' with `dmpout', so where to dump debugging |
| output can be easily controlled during build; add default |
| for `dmpout' of `stderr' to proj.h. |
| |
| Sun Dec 3 00:56:29 1995 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * com.c (ffecom_return_expr): Eliminate attempt at warning |
| about unset return values, since the back end does this better, |
| with better wording, and is not triggered by clearly working |
| (but spaghetti) code as easily as this test. |
| |
| Sat Dec 2 08:28:56 1995 Craig Burley <burley@gnu.ai.mit.edu> |
| |
| * target.c (ffetarget_power_*_integerdefault): Raising 0 to |
| integer constant power should not be an error condition; |
| if so, other code should catch 0 to any power, etc. |
| |
| * bad.def (FFEBAD_BAD_POWER): 0**integer now a warning instead |
| of an error. |
| |
| Fri Dec 1 00:12:03 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * bad.def: Clarify diagnostic regarding complex constant elements. |
| * expr.c (ffeexpr_cb_comma_c_): Capitalize real/imaginary |
| for clarified diagnostic. |
| |
| * com.c (ffecom_close_include_): Close the file! |
| |
| * lex.c (ffelex_file_fixed): Update line info if the line |
| has any content, not just if it finishes a previous line |
| or has a label. |
| (ffelex_file_free): Clarify switch statement code. |
| |
| Sat Nov 18 19:37:22 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * Version 0.5.17 released. |
| |
| Fri Nov 17 14:27:24 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * Make-lang.in: Fix typo in comment. |
| |
| * Makefile.in (f/fini.o, f/proj-h.o): Don't use `$<' since |
| not all makes support it (e.g. NeXT make), use explicit |
| source name instead (with $(srcdir) and munging). |
| (ASSERT_H): assert.h lives in source dir, not build dir. |
| |
| Thu Nov 16 12:47:50 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * com.c (ffecom_init_0): Fix dumb bug in code to produce |
| warning message about non-32-bit-systems. |
| |
| * stc.c (ffestc_R501_item): Parenthesize test to make |
| warning go away (and perhaps fix bug). |
| |
| Thu Nov 16 03:43:33 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * g77.c: Upgrade to 2.7.0's gcc.c. |
| Fix -v to pass a temp name instead of "/dev/null" for "-o". |
| |
| Fri Nov 10 19:16:05 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * ste.c (ffeste_begin_iterdo_): Add Toon's change to |
| make loops faster on some machines (implement termination |
| condition as "--i >= 0" instead of "i-- > 0"). |
| |
| Thu Nov 2 03:58:17 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * Make-lang.in: Remove unnecessary $(exeext) a la cp/Make-lang.in. |
| |
| * com.c (ffecom_expr_): Restore old strategy for assignp variant |
| of opSYMTER case...always return the ASSIGN version of var. |
| That way, `-O -Wuninitialized' will catch "I=3;GOTO I;END" |
| (though the diagnostic will refer to `__g77_ASSIGN_i'). |
| |
| * com.c (ffecom_expr_power_integer_): For constant rhs case, |
| wrap every new eval of lhs in save_expr() so it is clear to |
| back end that MULT_EXPR(lhs,lhs) has identical operands, |
| otherwise for an rhs like 32767 it generates around 65K pseudo |
| registers, with which stupid_life_analysis cannot cope |
| (due to reg_renumber in regs.h being `short *' instead of |
| `int *'). |
| |
| * com.c (ffecom_expr_): Speed up implementation of LOGICAL |
| versions of opNOT, opAND, opOR, opXOR/opNEQV, and opEQV by |
| assuming the values actually are kosher LOGICAL bit patterns. |
| Also simplify code that implements some of the INTEGER versions |
| of these. |
| |
| * com.c (skip_redundant_dir_prefix, read_name_map, |
| ffecom_open_include_, signed_type, unsigned_type): Fold in |
| changes to cccp.c made from 2.7.0 through ss-950826. |
| |
| * equiv.c (ffeequiv_layout_local_): Kill the equiv list |
| if no syms in list. |
| |
| * expr.c (ffeexpr_reduced_eqop2_): Issue specific diagnostic |
| regarding usage of .EQV./.NEQV. in preference to .EQ./.NE.. |
| |
| * intrin.c: Add ERF and ERFC as generic intrinsics. |
| intrin.def: Same. |
| |
| * sta.c (ffesta_save_, ffesta_second_): Whoever calls |
| ffestd_exec_begin must also set ffesta_seen_first_exec = TRUE, |
| and anytime stc sees an exec transition, it must do both. |
| stc.c (ffestc_eof): Same. |
| |
| * stc.c (ffestc_promote_sfdummy_): If failed implicit typing |
| or CHARACTER*(*) arg, after calling ffesymbol_error, don't |
| reset info to ENTITY/DUMMY, because ffecom_sym_transform_ |
| doesn't expect such a thing with ANY/ANY type. |
| |
| * target.h (*logical*): Change some of these so they parallel |
| changes in com.c, e.g. for _eqv_, use (l)==(r) instead of |
| !!(l)==!!(r), to get a more faithful result. |
| |
| Fri Oct 27 07:06:59 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * com.c (ffecom_sym_transform_): Simplify code for local |
| EQUIVALENCE case. |
| |
| * expr.c (ffeexpr_exprstack_push_unary_): Warn about two |
| successive operators. |
| (ffeexpr_exprstack_push_binary_): Warn about "surprising" |
| operator precedence, as in "-2**2". |
| |
| * lang-options.h: Add -W(no-)surprising options. |
| |
| * parse.c (yyparse): Don't reset -fpedantic if not -pedantic. |
| |
| * top.c (ffe_decode_option): Support new -Wsurprising option. |
| * top.h: Ditto. |
| |
| Mon Oct 23 09:14:15 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * com.c (ffecom_finish_symbol_transform_): Don't transform |
| NONE/NONE (CHARACTER*(*)) vars, as these don't mean anything |
| in debugging terms, and can't be turned into anything |
| in the back end (so ffecom_sym_transform_ crashes on them). |
| |
| * com.c (ffecom_expr_): Change strategy for assignp variant |
| of opSYMTER case...always return the original var unless |
| it is not wide enough. |
| |
| * ste.c (ffeste_io_cilist_): Clarify diagnostic for ASSIGN |
| involving too-narrow variable. This shouldn't happen, though. |
| (ffeste_io_icilist_): Ditto. |
| (ffeste_R838): Ditto. |
| (ffeste_R839): Ditto. |
| |
| Thu Oct 19 03:21:20 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * com.c (ffecom_sym_transform_assign_): Set TREE_STATIC |
| using the same decision-making process as used for their twin |
| variables, so ASSIGN can last across RETURN/CALL as appropriate. |
| |
| Fri Sep 22 20:21:18 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * Makefile.in: fini is a host program, so it needs a host-compiled |
| version of proj.o, named proj-h.o. f/fini, f/fini.o, and |
| f/proj-h.o targets updated accordingly. |
| |
| * com.c (__eprintf): New function. |
| |
| Wed Sep 20 02:26:36 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * lang-options.h: Add omitted -funix-intrinsics-* options. |
| |
| * malloc.c (malloc_find_inpool_): Check for infinite |
| loop, crash if detected (user reports encountering |
| them in some large programs, this might help track |
| down the bugs). |
| |
| Thu Sep 7 13:00:32 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * com.c (lang_print_error_function): Don't dereference null |
| pointer when outside any program unit. |
| (ffecom_let_char_, ffecom_arg_ptr_to_expr): If catlist |
| item or length ever error_mark_node, don't continue processing, |
| since back-end functions like build_pointer_type crash on |
| error_mark_node's (due to pushing bad obstacks, etc.). |
| |
| Wed Aug 30 15:58:35 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * Version 0.5.16 released. |
| |
| Mon Aug 28 12:24:20 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * bad.c (ffebad_finish): Fix botched message when no places |
| are printed (due to unknown line info, etc.). |
| |
| * std.c (ffestd_subr_labels_): Do a better job finding |
| line info in the case of typeANY and diagnostics. |
| |
| Fri Aug 25 15:19:29 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * com.c (DECL_ARTIFICIAL): Surround all references to this |
| macro with #if !BUILT_FOR_270 and #endif. |
| (init_lex): Surround print_error_function decl with |
| #if !BUILT_FOR_270 and #endif. |
| (lang_init): Call new ffelex_hash_kludge function to solve |
| problem with preprocessed files that have INCLUDE statements. |
| |
| * lex.c (ffelex_getc_): New function. |
| (ffelex_cfelex_): Use ffelex_getc_ instead of getc in any |
| paths of code that can be affected by ffelex_hash_kludge. |
| Don't make an EOF token for unrecognized token; set token |
| to NULL instead, to avoid problems when not initialized. |
| (ffelex_hash_): Use ffelex_getc_ instead of getc in any |
| paths of code that can be affected by ffelex_hash_kludge. |
| Test token returned by ffelex_cfelex_ for NULL, meaning |
| unrecognized token. |
| Get rid of useless used_up variable. |
| Don't do ffewhere stuff or kill any tokens if in |
| ffelex_hash_kludge. |
| (ffelex_file_fixed, ffelex_file_free): Use ffelex_getc_ |
| instead of getc in any paths of code that can be affected |
| by ffelex_hash_kludge. |
| (ffelex_hash_kludge): New function. |
| |
| * lex.h (ffelex_hash_kludge): New function. |
| |
| Wed Aug 23 15:17:40 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * com.c: Implement -f(no-)underscoring options by always |
| compiling in code to do it, and having that code inhibit |
| itself when -fno-underscoring is in effect. This option |
| overrides -f(no-)f2c for this purpose; -f(no-)f2c returns |
| to it's <=0.5.15 behavior of affecting only how code |
| is generated, not how/whether names are mangled. |
| |
| * target.h: Redo specification of appending underscores so |
| the macros are named "_default" instead of "_is" and the |
| two-underscore macro defaults to 1. |
| |
| * top.c, top.h (underscoring): Add appropriate stuff |
| for the -f(no-)underscoring options. |
| |
| Tue Aug 22 10:25:01 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * bad.c (ffebad_finish): Call report_error_function (in toplev.c) |
| to better identify location of problem. |
| Say "(continued):" instead of "(continued:)" for consistency. |
| |
| * com.c (ffecom_gen_sfuncdef_): Set and reset new |
| ffecom_nested_entry_ variable to hold ffesymbol being compiled. |
| (lang_print_error_function): New function from toplev.c. |
| Use ffecom_nested_entry_ to help determine which name |
| and kind-string to print. |
| (ffecom_expr_intrinsic_): Handle EXIT and FLUSH invocations |
| with different calling sequences than library functions. |
| Have SIGNAL and SYSTEM push and pop calltemps, and convert |
| their return values to the destination type (just in case). |
| (FFECOM_rttypeINT_): New return type for `int', in case |
| gcc/f/runtime/libF77/system_.c(system_) is really supposed |
| to return `int' instead of `ftnint'. |
| |
| * com.h (report_error_function): Declare this. |
| |
| * equiv.c (ffeequiv_layout_local_): Don't forget to consider |
| root variable itself as possible "first rooted variable", |
| else might never set symbol and then crash later. |
| |
| * intrin.c (ffeintrin_check_exit_): Change to allow no args |
| and rename to ffeintrin_check_int_1_o_ for `optional'. |
| #define ffeintrin_check_exit_ and _flush_ to this new |
| function, so intrin.def can refer to the appropriate names. |
| |
| * intrin.def (FFEINTRIN_impFLUSH): Validate using |
| ffeintrin_check_flush_ so passing an INTEGER arg is allowed. |
| |
| * lex.c (ffelex_file_push_, ffelex_file_pop_): New functions |
| to manage input_file_stack in gbe. |
| (ffelex_hash_): Call new functions (instead of doing code). |
| (ffelex_include_): Call new functions to update stack for |
| INCLUDE (_hash_ handles cpp output of #include). |
| |
| Mon Aug 21 08:09:04 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * Makefile.in: Put `-W' in front of every `-Wall', since |
| 2.7.0 requires that to engage `-Wunused' for parameters. |
| |
| * com.c: Mark all parameters as artificial, so |
| `-W -Wunused' doesn't complain about unused ones (since |
| there's no way right not to individually specify attributes |
| like `unused'). |
| |
| * proj.h: Don't #define UNUSED if already defined, regardless |
| of host compiler. |
| |
| Sun Aug 20 16:03:56 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * gbe/2.7.0.diff: Regenerate. |
| |
| * lang-options.h, lang-specs.h: If not __STDC__ (ANSI C), |
| avoid doing anything, especially the stringizing in -specs.h. |
| |
| Thu Aug 17 03:36:12 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * lang-specs.h: Remove useless optional settings of -traditional, |
| since -traditional is always set anyway. |
| |
| Wed Aug 16 16:56:46 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * Make-lang.in (F2C_INSTALL_FLAG, F2CLIBOK): More |
| control over whether to install f2c-related stuff. |
| (install-f2c-*): New targets to install f2c-related |
| stuff in system, not just gcc, directories. |
| |
| * com.c: Change calls to ffecom_get_invented_identifier |
| to use generally more predictable names. |
| Change calls to build_range_type to ensure consistency |
| of types of operands. |
| (ffecom_get_external_identifier_): Change to accept |
| symbol info, not just text, so it can use f2c flag for |
| symbol to decide whether to append underscore(s). |
| (ffecom_get_identifier_): Don't change names if f2c flag |
| off for compilation. |
| (ffecom_type_permanent_copy_): Use same type for new max as |
| used for min. |
| (ffecom_notify_init_storage): Offline fixups for stand-alone. |
| |
| * data.c (ffedata_gather): Explicitly test for common block, |
| since it's no longer always the case that a local EQUIVALENCE |
| group has no symbol ptr (it now can, if a user-predictable |
| "rooted" symbol has been identified). |
| |
| * equiv.c: Add some debugging stuff. |
| (ffeequiv_layout_local_): Set symbol ptr with user-predictable |
| "rooted" symbol, for giving the invented aggregate a |
| predictable name. |
| |
| * g77.c (append_arg): Allow for 20 extra args instead of 10. |
| (main): For version-only case, add `-fnull-version' and, unless |
| explicitly omitted, `-lf2c -lm'. |
| |
| * lang-options.h: New "-fnull-version" option. |
| |
| * lang-specs.h: Support ".fpp" suffix for preprocessed source |
| (useful for OS/2, MS-DOS, other case-insensitive systems). |
| |
| * stc.c (ffestc_R544_equiv_): Swap way lists are merged so this |
| is consistent with the order in which lists are built, making |
| user predictability of invented aggregate name much higher. |
| |
| * storag.c, storag.h (FFESTORAG_typeDUMMY): Delete this enum. |
| |
| * top.c: Accept, but otherwise ignore, `-fnull-version'. |
| |
| Tue Aug 15 07:01:07 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * DOC, INSTALL, PROJECTS: Extensive improvements to documentation. |
| |
| Sun Aug 13 01:55:18 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * INSTALL (f77-install-ok): Document the use of this file. |
| |
| * Make-lang.in (F77_INSTALL_FLAG): New flag to control |
| whether to install an `f77' command (based on whether |
| a file named `f77-install-ok' exists in the source or |
| build directory) to replace the broken attempt to use |
| comment lines to avoid installing `f77' (broken in the |
| sense that it prevented installation of `g77'). |
| |
| Mon Aug 7 06:14:26 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * DOC: Add new sections for g77 & gcc compiler options, |
| source code form, and types, sizes and precisions. |
| Remove lots of old "delta-version" info, or at least |
| summarize it. |
| |
| * INSTALL: Add info here that used to be in DOC. |
| Other changes. |
| |
| * g77.c (lookup_option, main): Check for --print-* options, |
| so we avoid adding version-determining stuff. |
| |
| Wed Jul 26 15:51:03 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * Make-lang.in, Makefile.in (input.j, INPUT_H): New file. |
| Update dependencies accordingly. |
| |
| * bad.c (ffebad_here): Okay to use unknown line/col. |
| |
| * compilers.h (@f77-cpp-input): Remove -P option now that |
| # directives are handled by f771. Update other options |
| to be more consistent with @c in gcc/gcc.c. Don't run f771 |
| if -E specified, etc., a la @c. |
| (@f77): Don't run f771 if -E specified, etc., a la @c. |
| |
| * config-lang.in: Avoid use of word "guaranteed". |
| |
| * input.j: New file to wrap around gcc/input.h. |
| |
| * lex.j: Add support for parsing # directives output by cpp. |
| (ffelex_cfebackslash_): New function. |
| (ffelex_cfelex_): New function. |
| (ffelex_get_directive_line_): New function. |
| (ffelex_hash_): New function. |
| (ffelex_include_): Change to not use ffewhere_file_(begin|end). |
| Also fix bug in pointing to next line (for diagnostics, &c) |
| following successful INCLUDE. |
| (ffelex_next_line_): New function that does chunk of code |
| seen in several places elsewhere in the lexers. |
| (ffelex_file_fixed): Delay finishing statement until source |
| line is registered with ffewhere, so INCLUDE processing |
| picks up the info correctly. |
| Okay to kill or use unknown line/col objects now. |
| Handle HASH (#) lines. |
| Reorder tests for insubstantial lines to put most frequent |
| occurrences at top, for possible minor speedup. |
| Some general consolidation of code. |
| (ffelex_file_free): Handle HASH (#) lines. |
| Okay to kill or use unknown line/col objects now. |
| Some general consolidation of code. |
| (ffelex_init_1): Detect HASH (#) lines. |
| (ffelex_set_expecting_hollerith): Okay to kill or use unknown |
| line/col objects now. |
| |
| * lex.h (FFELEX_typeHASH): New enum. |
| |
| * options-lang.h (-fident, -fno-ident): New options. |
| |
| * stw.c (ffestw_update): Okay to kill unknown line/col objects |
| now. |
| |
| * target.h (FFETARGET_okREALQUAD, FFETARGET_okCOMPLEXDOUBLE, |
| FFETARGET_okCOMPLEXQUAD): #define these appropriately. |
| |
| * top.c: Include flag.j wrapper, not flags.h directly. |
| (ffe_is_ident_): New flag. |
| (ffe_decode_option): Handle -fident and -fno-ident. |
| (ffe_file): Replace obsolete ffewhere_file_(begin|end) with |
| ffewhere_file_set. |
| |
| * top.h (ffe_is_ident_, ffe_is_ident, ffe_set_is_ident): |
| New flag and access functions. |
| |
| * where.c, where.h: Remove all tracking of parent file. |
| (ffewhere_file_begin, ffewhere_file_end): Delete these. |
| (ffewhere_line_use): Make it work with unknown line object. |
| |
| Mon Jul 17 03:04:09 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * com.c (ffecom_sym_transform_): Set DECL_IN_SYSTEM_HEADER |
| flag for any local vars used as stmtfunc dummies or DATA |
| implied-DO iter vars, so no -Wunused warnings are produced |
| for them (a la f2c). |
| (ffecom_init_0): Do "extern int xargc;" for IARGC() intrinsic. |
| Warn if target machine not 32 bits, since g77 isn't yet |
| working on them at all well. |
| |
| * expr.c (ffeexpr_sym_lhs_call_, ffeexpr_sym_lhs_data_, |
| ffeexpr_sym_lhs_extfunc_, ffeexpr_sym_rhs_actualarg_, |
| ffeexpr_sym_rhs_let_, ffeexpr_paren_rhs_let_): Don't |
| gratuitously set attr bits that don't apply just |
| to avoid null set meaning error; instead, use explicit |
| error flag, and allow null attr set, to |
| fix certain bugs discovered by looking at this code. |
| |
| * g77.c: Major changes to improve support for gcc long options, |
| to make `g77 -v' report more useful info, and so on. |
| |
| Mon Jul 3 14:49:16 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * DOC, com.c, intrin.h, intrin.c, intrin.def, target.h, top.c, |
| top.h: Add new `unix' group of intrinsics, which includes the |
| newly added ERF, ERFC, EXIT, plus even newer ABORT, DERF, DERFC, |
| FLUSH, GETARG, GETENV, SIGNAL, and SYSTEM. |
| |
| Tue Jun 27 23:01:05 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * bld.c, bld.h (ffebld_constant_pool, |
| ffebld_constant_character_pool): Use a single macro (the |
| former) to access the pool for allocating constants, instead |
| of latter in public and FFEBLD_CONSTANT_POOL_ internally |
| in bld.c (which was the only one that was correct before |
| these changes). Add verification of integrity of certain |
| heap-allocated areas. |
| |
| * com.c (ffecom_overlap_, ffecom_args_overlap_, |
| ffecom_tree_canonize_ptr_, ffecom_tree_canonize_ref_): New |
| functions to optimize calling COMPLEX and, someday, CHARACTER |
| functions requiring additional argument to be passed. |
| (ffecom_call_, ffecom_call_binop_, ffecom_expr_, |
| ffecom_expr_intrinsic_): Change calling |
| sequences to include more info on possible destination. |
| (ffecom_expr_intrinsic_): Add ERF(), ERFC(), and EXIT() |
| intrinsic code. |
| (ffecom_sym_transform_): For assumed-size arrays, set high |
| bound to highest possible value instead of low bound, to |
| improve validity of overlap checking. |
| (duplicate_decls): If olddecl and newdecl are the same, |
| don't do any munging, just return affirmative. |
| |
| * expr.c: Change ffecom_constant_character_pool() to |
| ffecom_constant_pool(). |
| |
| * info.c (ffeinfo_new): Compile this version if not being |
| compiled by GNU C. |
| |
| * info.h (ffeinfo_new): Don't define macro if not being |
| compiled by GNU C. |
| |
| * intrin.c, intrin.def: Add ERF(), ERFC(), and EXIT() intrinsics. |
| (ffeintrin_check_exit_): New for EXIT() subroutine intrinsic. |
| |
| * malloc.c, malloc.h (malloc_verify_*): New functions to verify |
| integrity of heap-storage areas. |
| |
| * stc.c (ffestc_R834, ffestc_R835): Handle possibility that |
| an enclosing DO won't have a construct name even when the |
| CYCLE/EXIT does (i.e. without dereferencing NULL). |
| |
| * target.c, target.h (ffetarget_verify_character1): New function |
| to verify integrity of heap storage used to hold character constant. |
| |
| Thu Jun 22 15:36:39 1995 Howard Gordon (flash@super.org) |
| |
| * stp.h (ffestpVxtcodeIx): Fix typo in typedef for this. |
| |
| Mon May 29 15:22:31 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * *: Make all sorts of changes to accommodate upcoming gcc-2.7.0. |
| I didn't keep track of them, nor just when I made them, nor |
| when I (much later, probably in early August 1995) modified |
| them so they could properly handle both 2.7.0 and 2.6.x. |
| |
| * com.c (ffecom_expr_power_integer_): Don't expand_start_stmt_expr |
| if transforming dummy args, because the back end cannot handle |
| that (it's rejected by the gcc front end), just generate |
| call to run-time library. |
| Back out changes in 0.5.15 because more temporaries might be |
| needed anyway (for COMPLEX**INTEGER). |
| (ffecom_push_tempvar): Remove inhibitor. |
| Around start_decl and finish_decl (in particular, arround |
| expand_decl, which is called by them), push NULL_TREE into |
| sequence_rtl_expr, an external published by gcc/function.c. |
| This makes sure the temporary is truly in the function's |
| context, not the inner context of a statement-valued expression. |
| (I think the back end is inconsistent here, but am not |
| interested in convincing the gbe maintainers about this now.) |
| (pushdecl): Make sure that when pushing PARM_DECLs, nothing |
| other than them are pushed, as happened for 0.5.15 and which, |
| if done for other reasons not fixed here, might well indicate |
| some other problem -- so crash if it happens. |
| |
| * equiv.c (ffeequiv_layout_local_): If the local equiv group |
| has a non-nil COMMON field, it should mean that an error has |
| occurred and been reported, so just trash the local equiv |
| group and do nothing. |
| |
| * stc.c (ffestc_promote_sfdummy_): Set sfdummy arg state to |
| UNDERSTOOD so above checking for duplicate args actually |
| works, and so we don't crash later in pushdecl. |
| |
| * ste.c (ffeste_R1001): Set initial value only for VAR_DECLs, |
| not for, e.g., LABEL_DECLs, which the FORMAT label can be |
| if it was previously treated as an executable label. |
| |
| Sat May 20 01:53:53 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * com.c (ffecom_sym_transform_): For adjustable arrays, |
| pass high bound through variable_size in case its primaries |
| are changed (dumb0.f, and this might also improve |
| performance so it approaches f2c|gcc). |
| |
| Fri May 19 11:00:36 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * Version 0.5.15 released. |
| |
| * com.c (ffecom_expr_power_integer_): Push temp vars |
| before expanding a statement expression, since that seems |
| to cause temp vars to be "forgotten" after the end of the |
| expansion in the back end. Disallow more temp-var |
| pushing during such an expansion, just in case. |
| (ffecom_push_tempvar): Crash if a new variable needs to be |
| pushed but cannot be at this point (should never happen). |
| |
| Wed May 17 12:26:16 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * expr.c (ffeexpr_collapse_convert): Add code to convert |
| LOGICAL to CHARACTER. Reject conversion of REAL or COMPLEX |
| to CHARACTER entirely, as it cannot be supported with all |
| configurations. |
| |
| * target.h, target.c (ffetarget_convert_character1_logical1): |
| New function. |
| |
| Sun May 14 00:00:09 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * com.c (ffecom_do_entry_, ffecom_gen_sfuncdef_, |
| ffecom_start_progunit_, ffecom_sym_transform_, |
| ffecom_init_0, start_function): Changes to have REAL |
| external functions return same type as DOUBLE PRECISION |
| external functions when -ff2c is in force; while at it, |
| some code cleanups done. |
| |
| * stc.c (ffestc_R547_item_object): Disallow array declarator |
| if one already exists for symbol. |
| |
| * ste.c (ffeste_R1227): Convert result variable to type |
| of function result as seen by back end (e.g. for when REAL |
| external function actually returns result as double). |
| |
| * target.h (FFETARGET_defaultFIXED_LINE_LENGTH): New |
| macro for default for -ffixed-line-length-N option. |
| |
| * top.c (ffe_fixed_line_length_): Initialize this to new |
| target.h macro instead of constant 72. |
| |
| Tue May 9 01:20:03 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * lex.c (ffelex_send_token_): If sending CHARACTER token with |
| null text field, put a single '\0' in it and set length/size |
| fields to 0 (to fix 950508-0.f). |
| (ffelex_image_char_): When setting ffelex_bad_line_ to TRUE, |
| always "close" card image by appending a null char and setting |
| ffelex_card_length_. As part of this, append useful text |
| to identify the two kinds of problems that involve this. |
| (ffelex_file_fixed): Reset ffelex_bad_line_ to FALSE after |
| seeing a line with invalid first character (fixes 950508-1.f). |
| If final nontab column is zero, assume tab seen in line. |
| (ffelex_card_image_): Always make this array 8 characters |
| longer than reflected by ffelex_card_size_. |
| (ffelex_init_1): Get final nontab column info from top instead |
| of assuming 72. |
| |
| * options-lang.h: Add -ffixed-line-length- prefix. |
| |
| * top.h: Add ffe_fixed_line_length() and _set_ version, plus |
| corresponding extern. |
| |
| * top.c: Handle -ffixed-line-length- option prefix. |
| |
| Fri Apr 28 05:40:25 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * Version 0.5.14 released. |
| |
| * Make-lang.in: Add assert.j. |
| |
| * Makefile.in: Add assert.j. |
| |
| * assert.j: New file. |
| |
| Thu Apr 27 16:24:22 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * bad.h (ffebad_severity): New function. |
| |
| * bad.c (ffebad_severity): New function. |
| |
| * bad.def (FFEBAD_OPEN_INCLUDE): Change severity from SEVERE |
| to FATAL, since processing continues, and that seems fine. |
| |
| * com.c: Add facility to handle -I. |
| (ffecom_file, ffecom_close_include, ffecom_open_include, |
| ffecom_decode_include_option): New global functions for -I. |
| (ffecom_file_, ffecom_initialize_char_syntax_, |
| ffecom_close_include_, ffecom_decode_include_option_, |
| ffecom_open_include_, append_include_chain, open_include_file, |
| print_containing_files, read_filename_string, file_name_map, |
| savestring): New internal functions for -I. |
| |
| * compilers.h: Pass -I flag(s) to f771 (via "%{I*}"). |
| |
| * lex.c (ffelex_include_): Call ffecom_close_include |
| to close include file, for its tracking needs for -I, |
| instead of using fclose. |
| |
| * options-lang.h: Add -I prefix. |
| |
| * parse.c (yyparse): Call ffecom_file for main input file, |
| so -I handling works (diagnostics). |
| |
| * std.c (ffestd_S3P4): Have ffecom_open_include handle |
| opening and diagnosing errors with INCLUDE files. |
| |
| * ste.c (ffeste_begin_iterdo_): Use correct algorithm for |
| calculating # of iterations -- mathematically similar but |
| computationally different algorithm was not handling cases |
| like "DO I=6,5,2" correctly, because (5-6)/2+1 => 1, not 0. |
| |
| * top.c (ffe_decode_option): Allow -I, restructure a bit |
| for clarity and, maybe, speed. |
| |
| Mon Apr 17 13:31:11 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * g77.c: Remove -lc, turns out not all systems has it, but |
| leave other changes in for clarity of code. |
| |
| Sun Apr 16 21:50:33 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * com.c (ffecom_expr_): Implement ARRAY_EXPR as INDIRECT_REF |
| of appropriate PLUS_EXPRs of ptr_to_expr of array, to see |
| if this generates better code. (Conditional on |
| FFECOM_FASTER_ARRAY_REFS.) |
| |
| Sun Apr 16 00:22:48 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * Make-lang.in (F77_SRCS): Remove g77.c, since it doesn't |
| contribute to building f771. |
| |
| * Makefile.in (dircheck): Remove/replace with f/Makefile, because |
| phony targets that are referenced in other real targets get run |
| when those targets are specified, which is a waste of time (e.g. |
| when rebuilding and only g77.c has changed, f771 was being linked |
| anyway). |
| |
| * g77.c: Include -lc between -lf2c and -lm throughout. |
| |
| * implic.c (ffeimplic_establish_symbol): If -Wimplicit, warn if |
| implicit type given to symbol. |
| |
| * lex.c (ffelex_include_): Don't gratuitously increment line |
| number here. |
| |
| * top.h, top.c (ffe_is_warn_implicit_): New global variable and |
| related access macros. |
| (ffe_decode_option): Handle -W options, including -Wall and |
| -Wimplicit. |
| |
| * where.c (ffewhere_line_new): Don't muck with root line (was |
| crashing on null input since lexer changes over the past week |
| or so). |
| |
| Thu Apr 13 16:48:30 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * com.c (ffecom_init_0): Register built-in functions for cos, |
| sin, and sqrt. |
| (ffecom_tree_fun_type_double): New variable. |
| (ffecom_expr_intrinsic_): Update f2c input and output files |
| to latest version of f2c (no important g77-related changes |
| noted, just bug fixes to f2c and such). |
| (builtin_function): New function from c-decl.c. |
| |
| * com-rt.def: Refer to built-in functions for cos, sin, and sqrt. |
| |
| Thu Apr 13 10:25:09 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * com.c (ffecom_expr_intrinsic_): Convert 0. to appropriate |
| type to keep DCMPLX(I) from crashing the compiler. |
| (ffecom_expr_): Don't convert result from ffecom_tree_divide_. |
| (ffecom_tree_divide_): Add tree_type argument, have all callers |
| pass one, and don't convert right-hand operand to it (this is |
| to make this new function work as much like the old in-line |
| code used in ffecom_expr_ as possible). |
| |
| * lex.c: Maintain lineno and input_filename the way the gcc |
| lexer does. |
| |
| * std.c (ffestd_exec_end): Save and restore lineno and |
| input_filename around the second pass, which sets them |
| appropriately for each saved statement. |
| |
| Wed Apr 12 09:44:45 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * com.c (ffecom_expr_power_integer_): New function. |
| (ffecom_expr_): Call new function for power op with integer second |
| argument, for generating better code. Also replace divide |
| code with call to new ffecom_tree_divide_ function. |
| Canonicalize calls to ffecom_truth_value(_invert). |
| (ffecom_tree_divide_): New function. |
| |
| Wed Apr 5 14:15:44 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * lex.c: Change to allocate text for tokens only when actually |
| needed, which should speed compilation up somewhat. |
| Change to allow INCLUDE at any point where a statement |
| can end, i.e. in ffelex_finish_statement_ or when a SEMICOLON |
| token is sent. |
| Remove some old, obsolete code. |
| Clean up layout of entire file to improve formatting, |
| readability, etc. |
| (ffelex_set_expecting_hollerith): Remove include argument. |
| |
| Fri Mar 31 23:19:08 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * bad.h, bad.c (ffebad_start_msg, ffebad_start_msg_lex): |
| New functions to generate arbitrary messages. |
| (FFEBAD_severityPEDANTIC): New severity, to correspond |
| to toplev's pedwarn() function. |
| |
| * lex.c (ffelex_backslash_): New function to implement |
| backslash processing. |
| (ffelex_file_fixed, ffelex_file_free): Implement new |
| backslash processing. |
| |
| * std.c (ffestd_R1001dump_): Don't assume CHARACTER and |
| HOLLERITH tokens stop at '\0' characters, now that backslash |
| processing is supported -- use their advertised lengths instead, |
| and double up the '\002' character for libf2c. |
| |
| Mon Mar 27 17:10:33 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * com.c (ffecom_init_local_zero_): Implement -finit-local-zero. |
| (ffecom_sym_transform_): Same. |
| (ffecom_transform_equiv_): Same. |
| |
| * options-lang.h: Add -f(no-)(init-local-zero,backslash,ugly-init). |
| |
| * stb.c (ffestb_V020): Reject "TYPEblah(...", which might be |
| an array assignment. |
| |
| * target.h, top.h, top.c: Implement -finit-local-zero. |
| |
| Fri Mar 24 19:56:22 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * Make-lang.in, Makefile.in: Remove conf-proj(.in) and |
| proj.h(.in) rules, plus related config.log, config.cache, |
| and config.status stuff. |
| |
| * com.c (ffecom_init_0): Change messages when atof(), bsearch(), |
| or strtoul() do not work as expected in the start-up test. |
| |
| * conf-proj, conf-proj.in: Delete. |
| |
| * lex.c (ffelex_file_fixed): Allow f2c's '&' in column 1 |
| to mean continuation line. |
| |
| * options-lang.h: New file, #include'd by ../toplev.c. |
| |
| * proj.h.in: Rename back to proj.h. |
| |
| * proj.h (LAME_ASSERT): Remove. |
| (LAME_STDIO): Remove. |
| (NO_STDDEF): Remove. |
| (NO_STDLIB): Remove. |
| (NO_BSEARCH): Remove auto detection, rename to !FFEPROJ_BSEARCH. |
| (NO_STRTOUL): Remove auto detection, rename to !FFEPROJ_STRTOUL. |
| (USE_HOST_LIMITS): Remove (maybe still needed by stand-alone?). |
| (STR, STRX): Do only ANSI C definitions. |
| |
| Mon Mar 13 10:46:13 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * BUGS: Add item about g77 requiring gcc to compile it. |
| |
| * NEWS: New file listing user-visible changes in the release. |
| |
| * PROJECTS: Update to include a new item or two, and modify |
| or delete items that are addressed in this or previous releases. |
| |
| * bad.c (ffebad_finish): Don't crash if missing string &c, |
| just substitute obviously distressed string "[REPORT BUG!!]" |
| for cases where the message/caller are fudgy. |
| |
| * bad.def: Clean up error messages in a major way, add new ones |
| for use by changes in target.c. |
| |
| * com.c (ffecom_expr_): Handle opANY in opCONVERT. |
| (ffecom_let_char_): Disregard destinations with ERROR_MARK. |
| (ffecom_1, ffecom_1_fn, ffecom_2, ffecom_2s, ffecom_3, |
| ffecom_3s, &c): Check all inputs for error_mark_node. |
| (ffecom_start_progunit_): Don't transform all symbols |
| in BLOCK DATA, since it never executes, and it is silly |
| to, e.g., generate all the structures for NAMELIST. |
| (ffecom_char_length_expr_): Rename to ffecom_intrinsic_len_. |
| (ffecom_intrinsic_ichar_): New function to handle ICHAR of |
| arbitrary expression with possible 0-length operands. |
| (ffecom_expr_intrinsic_): Use ffecom_intrinsic_char_. |
| For MVBITS, set tree_type to void_type_node. |
| (ffecom_start_progunit_): Name master function for entry points |
| after primary entry point so users can easily guess it while |
| debugging. |
| (ffecom_arg_ptr_to_expr): Change treatment of Hollerith, |
| Typeless, and %DESCR. |
| (ffecom_expr_): Change treatment of Hollerith. |
| |
| * data.c (ffedata_gather_): Handle opANY in opCONVERT. |
| |
| * expr.c (ffeexpr_token_apostrophe_): Issue FFEBAD_NULL_CHAR_CONST |
| warning as necessary. |
| (ffeexpr_token_name_rhs_): Set context for args to intrinsic |
| so that assignment-like concatenation is allowed for ICHAR(), |
| IACHAR(), and LEN() intrinsics. |
| (ffeexpr_reduced_*_): Say "an array" instead of "an entity" in |
| diagnostics, since it's more informative. |
| (ffeexpr_finished_): For many contexts, check for null expression |
| and array before trying to do a conversion, to avoid redundant |
| diagnostics. |
| |
| * g77.1: Fix typo for preprocessed suffix (.F, not .f). |
| |
| * global.c (ffeglobal_init_common): Warn if initializing |
| blank common. |
| (ffeglobal_pad_common): Enable code to warn if initial |
| padding needed. |
| (ffeglobal_size_common): Complain if enlarging already- |
| initialized common, since it won't work right anyway. |
| |
| * intrin.c: Add IMAG() intrinsic. |
| (ffeintrin_check_loc_): Allow opSUBSTR in LOC(). |
| |
| * intrin.def: Add IMAG() intrinsic. |
| |
| * lex.c: Don't report FFEBAD_NULL_CHAR_CONST errors. |
| |
| * sta.c, sta.h, stb.c: Changes to clean up error messages (see |
| bad.def). |
| |
| * stb.c (ffestb_R100113_): Issue FFEBAD_NULL_CHAR_CONST |
| warning as necessary. |
| |
| * stc.c (ffestc_shriek_do_): Don't try to reference doref_line |
| stuff in ANY case, since it won't be valid. |
| (ffestc_R1227): Allow RETURN in main program unit, with |
| appropriate warnings/errors. |
| (ffestc_subr_format_): Array of any type is a CHAREXPR (F77 C5). |
| |
| * ste.c (ffeste_begin_doiter_): Couple of fixes to accurately |
| determine if loop never executes. |
| |
| * target.c (ffetarget_convert_*_hollerith_): Append spaces, |
| not zeros, to follow F77 Appendix C, and to warn when |
| truncation of non-blanks done. |
| (ffetarget_convert_*_typeless): Rewrite to do typeless |
| conversions properly, and warn when truncation done. |
| (ffetarget_print_binary, ffetarget_print_octal, |
| ffetarget_print_hex): Rewrite to use new implementation of |
| typeless. |
| (ffetarget_typeless_*): Rewrite to use new implementation |
| of typeless, and to warn about overflow. |
| |
| * target.h (ffetargetTypeless): New implementation of |
| this type. |
| |
| * type.h, type.c (ffetype_size_typeless): Remove (incorrect) |
| implementation of this function and its extern. |
| |
| Sun Mar 5 18:46:42 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * BUGS: Clarify that constant handling would also fix lack of |
| adequate IEEE-754/854 support to some degree, and typeless |
| and non-decimal constants. |
| |
| * com.c (ffecom_type_permanent_copy_): Comment out to avoid |
| warnings. |
| (duplicate_decls): New function a la gcc/c-decl.c. |
| (pushdecl): Use duplicate_decls to decide whether to return |
| existing decl or new one, instead of always returning existing |
| decl. |
| (ffecom_expr_): opPERCENT_LOC now supports CHARACTER arguments. |
| (ffecom_init_0): Give f2c I/O code 0 for basictypeANY/kindtypeANY. |
| (ffecom_sym_transform_): For adjustable arrays, pass low bound |
| through variable_size in case its primaries are changed (950302-1.f). |
| |
| * com.h: More decls that belong in tree.h &c. |
| |
| * data.c (ffedata_eval_integer1_): Fix opPAREN case to not |
| treat value of expression as an error code. |
| |
| * expr.c (ffeexpr_finished_): Allow opSUBSTR in contextLOC case. |
| |
| * proj.c: Add "const" as appropriate. |
| |
| Mon Feb 27 10:04:03 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * bad.def (FFEBAD_BAD_SUBSTR): Fix bad grammar in message. |
| |
| Fri Feb 24 16:21:31 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * Version 0.5.13 released. |
| |
| * INSTALL: Warn that f/zzz.o will compare differently between |
| stages, since it puts the __TIME__ macro into a string. |
| |
| * com.c (ffecom_sym_transform_): Transform kindFUNCTION/whereDUMMY |
| to pointer-to-function, not function. |
| (ffecom_expr_): Use ffecom_arg_ptr_to_expr instead of |
| ffecom_char_args_ to handle comparison between CHARACTER |
| types, so either operand can be a CONCATENATE. |
| (ffecom_transform_common_): Set size of initialized common area |
| to global (largest-known) size, even though size of init might |
| be smaller. |
| |
| * equiv.c (ffeequiv_offset_): Check symbol info for ANY. |
| |
| * expr.c (ffeexpr_find_close_paren_, ffeexpr_nil_*): New functions |
| to handle following the contour of a rejected expression, so |
| statements like "PRINT(I,I,I)=0" don't cause the PRINT statement |
| code to get the second passed back to it as if there was a |
| missing close-paren before it, the comma causing the PRINT code |
| to confirm the statement, resulting in an ambiguity vis-a-vis |
| the let statement code. |
| Use the new ffecom_find_close_paren_ handler when an expected |
| close-paren is missing. |
| (ffeexpr_isdigits_): New function, use in all places that |
| currently use isdigit in repetitive code. |
| (ffeexpr_collapse_symter): Collapse to ANY if init-expr is ANY, |
| so as to avoid having symbol get "transformed" if used to |
| dimension an array. |
| (ffeexpr_token_real_, ffeexpr_token_number_real_): Don't issue |
| diagnostic about exponent, since it'll be passed along the |
| handler path, resulting in a diagnostic anyway. |
| (ffeexpr_token_apos_char_): Use consistent handler path |
| regardless of whether diagnostics inhibited. |
| (ffeexpr_token_name_apos_name_): Skip past closing quote/apos |
| even if not a match or other diagnostic issued. |
| (ffeexpr_sym_impdoitem_): Exec-transition local SEEN symbol. |
| |
| * lex.c (ffelex_image_char_): Set ffelex_saw_tab_ if TAB |
| seen, not if anything other than TAB seen! |
| |
| * stc.c (ffestc_R537_item): If source is ANY but dest isn't, |
| set dest symbol's init expr to ANY. |
| (ffestc_R501_attrib, ffestc_R522, ffestc_R522start): Complain |
| about conflict between "SAVE" by itself and other uses of |
| SAVE only in pedantic mode. |
| |
| * ste.c (ffeste_R1212): Fix loop over labels to always |
| increment caseno, to avoid pushcase returning 2 for duplicate |
| values when one of the labels is invalid. |
| |
| Thu Feb 23 12:42:04 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * Version 0.5.12 released. |
| |
| * Make-lang.in (f77.install-common): Add "else true;" before outer |
| "fi" per Makefile.in patch. |
| |
| * Makefile.in (dircheck): Add "else true;" before "fi" per |
| patch from chs1pm@surrey.ac.uk. |
| |
| * com.c (ffecom_push_tempvar): If type desired is ERROR_MARK, |
| return error_mark_node, to avoid crash that results from |
| making a VAR_DECL with error_mark_node as its type. |
| |
| * ste.c (ffeste_begin_iterdo_): Convert itercount to INTEGER |
| anytime calculation of number of iterations ends up with type |
| other than INTEGER (e.g. DOUBLE PRECISION, REAL). |
| |
| Thu Feb 23 02:48:38 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * Version 0.5.11 released. |
| |
| * DOC: Explain -fugly-args. |
| |
| * bad.def (FFEBAD_ACTUALARG): Explain -fugly-args and how to |
| rewrite code to not require it. |
| |
| * com.c (ffecom_vardesc_): Handle negative type code, just in |
| case. |
| (ffecom_arg_ptr_to_expr): Let ffecom_expr handle hollerith |
| and typeless constants (move code to ffecom_constantunion). |
| (ffecom_constantunion): Handle hollerith and typeless constants. |
| |
| * expr.c (ffecom_finished_): Check -fugly-args in actual-arg |
| context where hollerith/typeless provided. |
| |
| * intrin.def (FFEINTRIN_genDFLOAT): Add FFEINTRIN_specDFLOAT. |
| (FFEINTRIN_specDFLOAT): Add as f2c intrinsic. |
| |
| * target.h (ffetarget_convert_real[12]_integer, |
| ffetarget_convert_complex[12]_integer): Pass -1 for high integer |
| value if low part is negative. |
| (FFETARGET_defaultIS_UGLY_ARGS): New macro. |
| |
| * top.c (ffe_is_ugly_args_): New variable. |
| (ffe_decode_option): Handle -fugly-args and -fno-ugly-args. |
| |
| * top.h (ffe_is_ugly_args_, ffe_is_ugly_args(), |
| ffe_set_is_ugly_args()): New variable and macros. |
| |
| Thu Feb 23 02:48:38 1995 Pedro A M Vazquez (vazquez@iqm.unicamp.br) |
| |
| * g77.c (sys_errlist): Use const for __FreeBSD__ systems |
| as well. |
| |
| Wed Feb 22 13:33:43 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * Version 0.5.10 released. |
| |
| * CREDITS: Add Rick Niles. |
| |
| * INSTALL: Note how to get around lack of makeinfo. |
| |
| * Make-lang.in (f/proj.h): Remove # comment. |
| |
| * Makefile.in (f/proj.h): Remove # comment. |
| |
| * com.c (ffecom_expr_): Simplify opFUNCREF/opSUBRREF conversion. |
| (ffecom_sym_transform_): For whereGLOBAL and whereDUMMY |
| kindFUNCTION, use ffecom_tree_fun_type[][] only for non-constant |
| (non-statement-function) f2c functions. |
| (ffecom_init_0): ffecom_tree_fun_type[][] and _ptr_to_*_* are |
| really f2c-interface arrays, so use base type void for COMPLEX |
| (like CHARACTER). |
| |
| Tue Feb 21 19:01:18 1995 Dave Love <d.love@dl.ac.uk> |
| |
| * Make-lang.in (f77.install-common): Expurgate the test for and |
| possible installation of f2c in line with elsewhere. Seems to have |
| been missing a semicolon anyhow! |
| |
| Tue Feb 21 11:45:25 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * Version 0.5.9 released. |
| |
| * Make-lang.in (f/proj.h): touch file to register update, |
| because the previous commands won't necessarily modify it. |
| |
| * Makefile.in (f/proj.h): touch file to register update, |
| because the previous commands won't necessarily modify it. |
| |
| * Makefile.in (f/str-*.h, f/str-*.j): Explicitly specify |
| output file names, so these targets go in build, not source, |
| directory. |
| |
| * bits.c, bits.h: Switch to valid ANSI C replacement for |
| ARRAY_ZERO. |
| |
| * com.c (ffecom_expr_): Add assignp arg to support ASSIGN better. |
| If assignp is TRUE, use different tree for FFEBLD_opSYMTER case. |
| (ffecom_sym_transform_assign_): New function. |
| (ffecom_expr_assign): New function. |
| (ffecom_expr_assign_w): New function. |
| |
| * com.c (ffecom_f2c_make_type_): Do make_signed_type instead |
| of make_unsigned_type throughout. |
| |
| * com.c (ffecom_finish_symbol_transform_): Expand scope of |
| commented-out code to probably produce faster compiler code. |
| |
| * com.c (ffecom_gen_sfuncdef_): Push/pop calltemps so |
| COMPLEX works right. |
| Remove obsolete comment. |
| |
| * com.c (ffecom_start_progunit_): If non-multi alt-entry |
| COMPLEX function, primary (static) entry point returns result |
| directory, not via extra arg -- to agree with ffecom_return_expr |
| and others. |
| Pretransform all symbols so statement functions are defined |
| before any code emitted. |
| |
| * com.c (ffecom_finish_progunit): Don't posttransform all |
| symbols here -- pretransform them instead. |
| |
| * com.c (ffecom_init_0): Don't warn about possible ASSIGN |
| crash, as this shouldn't happen now. |
| |
| * com.c (ffecom_push_tempvar): Fix to handle temp vars |
| pushed while context is a statement (nested) function, and |
| add appropriate commentary. |
| |
| * com.c (ffecom_return_expr): Check TREE_USED to determine |
| where return value is unset. |
| |
| * com.h (struct _ffecom_symbol_): Add note about length_tree |
| now being used to keep tree for ASSIGN version of symbol. |
| |
| * com.h (ffecom_expr_assign, ffecom_expr_assign_rw): New decls. |
| (error): Add this prototype for back-end function. |
| |
| * fini.c (main): Grab input, output, and include names |
| directly off the command line instead of making the latter |
| two out of the first. |
| |
| * lex.c: Improve tab handling for both fixed and free source |
| forms, and ignore carriage-returns on input, while generally |
| improving the code. ffelex_handle_tab_ has been renamed and |
| reinvented as ffelex_image_char_, among other things. |
| |
| * malloc.c, malloc.h: Switch to valid ANSI C replacement for |
| ARRAY_ZERO, and kill the full number of bytes in pools and |
| areas. |
| |
| * proj.h.in (ARRAY_ZERO, ARRAY_ZERO_SIZE): Remove. |
| |
| * ste.c (ffeste_io_cilist_, ffeste_io_icilist_, ffeste_R838, |
| ffeste_R839): Issue diagnostic if a too-narrow variable used in an |
| ASSIGN context despite changes to this code and code in com.c. |
| |
| * where.c, where.h: Switch to valid ANSI C replacement for |
| ARRAY_ZERO. |
| |
| Fri Feb 17 03:35:19 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * Version 0.5.8 released. |
| |
| * INSTALL: In quick-build case, list g77 target first so g77 |
| gets installed. Also, explain that gcc gets built and installed |
| as well, even though this isn't really what we want (and maybe |
| we'll find a way around this someday). |
| |
| Fri Feb 17 02:35:41 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * Version 0.5.7 released. |
| |
| * Makefile.in (CONFIG_H, HCONFIG_H, TCONFIG_H, TM_H): Remove |
| ../ prefix in front of .h files, since they're in the cd. |
| |
| Fri Feb 17 01:50:48 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * Version 0.5.6 released. |
| |
| Thu Feb 16 20:26:54 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * ../README.g77: Remove description of g77 as "not-yet-published". |
| |
| * CREDITS: More changes. |
| |
| * Make-lang.in (G77STAGESTUFF): Remove cktyps stuff. |
| |
| * Makefile.in (CONFIG_H, HCONFIG_H, TCONFIG_H, TM_H): Don't |
| prefix gcc dir with $(srcdir) since these don't live there, |
| they are created in the build dir by gcc's configure. Add |
| a note explaining what these macros are about. |
| Update dependencies via deps-kinda. |
| |
| * README.NEXTSTEP: Credit Toon, and per his request, add his |
| email address. |
| |
| * com.h (FFECOM_DETERMINE_TYPES): #include "config.j". |
| |
| * config.j, convert.j, flags.j, hconfig.j, rtl.j, tconfig.j, |
| tm.j, tree.j: Don't #include if already done. |
| |
| * convert.j: #include "tree.j" first, as convert.h clearly depends |
| on trees being defined. |
| |
| * rtl.j: #include "config.j" first, since there's some stuff |
| in rtl.h that assumes it has been #included. |
| |
| * tree.j: #include "config.j" first, or real.h makes inconsistent |
| decision about return type of ereal_atof, leading to bugs, and |
| because tree.h/real.h assume config.h already included. |
| |
| Wed Feb 15 14:40:20 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * Version 0.5.5 released. |
| |
| * Copyright notices updated to be FSF-style. |
| |
| * INSTALL: Some more clarification regarding building just f77. |
| |
| * Make-lang.in (F77_SRCS): Update wrt changing some .h to .j. |
| (install-libf77): Fix typo in new parenthetical note. |
| |
| * Makefile.in (f/*.o): Update. |
| (CONFIG_H, CONVERT_H, FLAGS_H, GLIMITS_H, HCONFIG_H, RTL_H, |
| TCONFIG_H, TM_H, TREE_H): Update/new symbols. |
| (deps-kinda): More fixes wrt changing some .h to .j. |
| Document and explain this rule a bit better. |
| Accommodate changes in output of gcc -MM. |
| |
| * *.h, *.c: Change #include's so proj.h not assumed to #include |
| malloc.h or config.h (now config.j), and so new .j files are |
| used instead of old .h ones. |
| |
| * com.c (ffecom_init_0): Use FLOAT_TYPE_SIZE for f2c's |
| TYLONG/TYLOGICAL type codes, to get g77 working on Alpha. |
| |
| * com.h: Make all f2c-related integral types "int", not "long |
| int". |
| |
| * config.j, convert.j, flags.j, glimits.j, hconfig.j, rtl.j, |
| tconfig.j, tm.j, tree.j: New files wrapping around gbe |
| .h files. |
| |
| * config.h, convert.h, flags.h, glimits.h, hconfig.h, rtl.h, |
| tconfig.h, tm.h, tree.h: Deleted so new .j files |
| can #include the gbe files directly, instead of using "../", |
| and thus do better with various kinds of builds. |
| |
| * proj.h: Delete unused NO_STDDEF and related stuff. |
| |
| Tue Feb 14 08:28:08 1995 Craig Burley (burley@gnu.ai.mit.edu) |
| |
| * BUGS: Remove item #12, cross-compiling & autoconf scripts |
| reportedly expected to work properly (according to d.love). |
| |
| * INSTALL: Add explanation of d.love's patch to config-lang.in. |
| Add explanation of how to install just g77 when gcc already installed. |
| Add note about usability of "-Wall". Add note about bug- |
| reporting. |
| |
| * Make-lang.in ($(srcdir)/f/conf-proj): Add comment about why |
| conf-proj.out. |
| (install-libf77): Echo parenthetical note to user about how to do |
| just the (aborted) libf2c installation. |
| (deps-kinda): Update to work with new configuration/build stuff. |
| |
| * bad.c (ffebad_finish): Put capitalized "warning:" &c message |
| as prefix on any diagnostic without pointers into source. |
| |
| * bad.def (FFEBAD_TOO_BIG_INIT): Add this warning message. |
| |
| * config-lang.in: Add Dave Love's patch to catch case where |
| back-end patches not applied and abort configuration. |
| |
| * data.c (ffedata_gather_, ffedata_value_): Warn when about |
|