4807 lines
173 KiB
Plaintext
4807 lines
173 KiB
Plaintext
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
|
|
to initialize a large aggregate area, due to design flaw resulting
|
|
in too much time/space used to handle such cases.
|
|
Use COMMON area name, and first notice of symbol, for multiple-
|
|
initialization diagnostic, instead of member symbol and unknown
|
|
location.
|
|
(FFEDATA_sizeTOO_BIG_INIT_): New macro per above.
|
|
|
|
Mon Feb 13 13:54:26 1995 Dave Love <d.love@dl.ac.uk>
|
|
|
|
* Make-lang.in (F77_SRCS): Use $(srcdir)/f/proj.h.in, not
|
|
$(srcdir)/f/proj.h for build outside srcdir.
|
|
|
|
Sun Feb 12 13:37:11 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
|
|
|
* ../README.g77: Clarify procedures for unpacking, add asterisks
|
|
to mark important things the user must do.
|
|
|
|
* Fix dates in/add dates to ../README.g77, BUGS, CREDITS, DOC,
|
|
INSTALL, PROJECTS, README.
|
|
|
|
Sun Feb 12 00:26:10 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
|
|
|
* Version 0.5.4 released.
|
|
|
|
* Make-lang.in (f/proj.h): Reproduce this rule here from
|
|
Makefile.in.
|
|
($(srcdir)/f/conf-proj): Put autoconf's stdout in temp file
|
|
conf-proj.out, then mv to conf-proj only if successful, so
|
|
conf-proj not touched if autoconf not installed.
|
|
|
|
* Makefile.in ($(srcdir)/conf-proj): See Make-lang.in's similar
|
|
rule.
|
|
|
|
Sat Feb 11 20:56:02 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
|
|
|
* BUGS: Clarify some bugs.
|
|
|
|
* DOC: Many improvements and fixes.
|
|
|
|
* README: Move bulk of text, edited, to ../README.g77, and
|
|
replace with pointer to that file.
|
|
|
|
* com.c (ffecom_init_0): Comment out warning about sizeof(ftnlen)
|
|
as per ste.c change. Add text about ASSIGN to help user understand
|
|
what is being warned about.
|
|
|
|
* conf-proj.in: Fix typos in comments.
|
|
|
|
* proj.h.in: Add ARRAY_ZERO_SIZE to parallel malloc.h's version,
|
|
in case it proves to be needed.
|
|
|
|
* ste.c: Comment out assertions requiring sizeof(ftnlen) >=
|
|
sizeof(char *), in the hopes that overflow will never happen.
|
|
(ffeste_R838): Change assertion to fatal() with at least
|
|
partially helpful message.
|
|
|
|
Sat Feb 11 12:38:00 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
|
|
|
* com.c (ffecom_vardesc_): Crash if typecode is -1.
|
|
|
|
* ste.c (ffeste_io_dolio_): Crash if typecode is -1.
|
|
|
|
Sat Feb 11 09:51:57 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
|
|
|
* ste.c: In I/O code tests for item arrayness, sort of revert
|
|
to much earlier code that tests original exp, but also check
|
|
in newer way just in case. Newer way alone treated FOO(1:40)
|
|
as an array, not sure why older way alone didn't work, but I
|
|
think maybe it was when diagnosed code was involved, and
|
|
since there are now checks for error_mark_node, maybe the old
|
|
way alone would work. But better to be safe; both original
|
|
ffebld exp _and_ the transformed tree must indicate an array
|
|
for the size-determination code to be used, else just 1/2 elements
|
|
assumed. And this text is for EMACS: (foo at bar).
|
|
|
|
Fri Feb 10 11:05:50 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
|
|
|
* ste.c: In many cases, surround statement-expansion code
|
|
with ffecom_push_calltemps () and ffecom_pop_calltemps ()
|
|
so COMPLEX-returning functions can have temporaries pushed
|
|
in "auto-pop" mode and have them auto-popped at the end of
|
|
the statement.
|
|
|
|
Wed Feb 8 14:35:10 1995 Dave Love <d.love@dl.ac.uk>
|
|
|
|
* runtime/f2c.h.in (ftnlen, ftnint): Make same size as integer.
|
|
|
|
* runtime/libI77/err.c (f_init): Thinko in MISSING_FILE_ELEMS
|
|
conditional.
|
|
* runtime/libI77/wrtfmt.c (mv_cur): Likewise.
|
|
* runtime/libI77/wsfe.c (x_putc): Likewise.
|
|
|
|
* runtime/libF77/signal_.c (signal_): Return 0 (this is a
|
|
subroutine).
|
|
|
|
* Makefile.in (f/proj.h): Depend on com.h.
|
|
* Make-lang.in (include/f2c.h): Likewise (and proj.h).
|
|
(install-libf77): Also install f2c.h.
|
|
|
|
* runtime/libI77/Makefile.in (*.o): Add f2c.h dependency.
|
|
* runtime/libF77/Makefile.in: Likewise.
|
|
|
|
Wed Feb 8 13:56:47 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
|
|
|
* stc.c (ffestc_R501_item): Don't reset kind/where to NONE when
|
|
setting basictype/kindtype info for symbol, or especially
|
|
its function/result twin, because kind/where might not be NONE.
|
|
|
|
Tue Feb 7 14:47:26 1995 Dave Love <d.love@dl.ac.uk>
|
|
|
|
* Make-lang.in (include/f2c.h:): Set shell variable src more
|
|
robustly (independent of whether srcdir is relative or absolute).
|
|
* Makefile.in (f/proj.h:): Likewise.
|
|
|
|
* conf-proj.in: Check need for LAME_ASSERT. Fix indentation in
|
|
check for LAME_STDIO (cosmetic only with ANSI C).
|
|
|
|
* com.h: Extra ...SIZE stuff taken from com.c.
|
|
|
|
* com.c (FFECOM_DETERMINE_TYPES): Define before including com.h.
|
|
(BITS_PER_WORD etc.) Remove and use conditional definitions to com.h.
|
|
|
|
* runtime/configure.in: #define FFECOM_DETERMINE_TYPES for com.h in
|
|
f2c type determination.
|
|
|
|
* tm.h: Remove (at least pro tem) because of relative path and use
|
|
top-level one.
|
|
|
|
* Make-lang.in (include/f2c.h:): Set shell variable src more
|
|
robustly (independent of whether srcdir is relative or absolute).
|
|
* Makefile.in (f/proj.h:): Likewise.
|
|
|
|
Mon Feb 6 19:58:32 1995 Dave Love <d.love@dl.ac.uk>
|
|
|
|
* g77.c (append_arg): Use K&R declaration for, e.g. SunOS4 build.
|
|
|
|
Fri Feb 3 20:33:14 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
|
|
|
* g77.c (main): Treat -l like filename in terms of -x handling.
|
|
Rewrite arglist mechanism for ease of maintenance.
|
|
Make sure every -lf2c is followed by -lm and vice versa.
|
|
|
|
* Make-lang.in: Put complete list of sources in F77_SRCS def
|
|
so changing a .h file, for example, causes rebuild.
|
|
|
|
* Makefile.in: Change test for nextstep to m68k-next-nextstep* so
|
|
all versions of nextstep on m68k get the necessary flag.
|
|
|
|
Fri Feb 3 19:10:32 1995 Dave Love <d.love@dl.ac.uk>
|
|
|
|
* INSTALL: Note about possible conflict with existing libf2c.a and
|
|
f2c.h.
|
|
|
|
* Make-lang.in (f77.distclean): Tidy and move deletion of
|
|
f/config.cache to mostlyclean.
|
|
(install-libf77): Test for $(libdir)/libf2c.* and barf if found
|
|
unless F2CLIBOK defined.
|
|
|
|
* runtime/Makefile.in (all): Change path to include directory (and
|
|
elsewhere).
|
|
(INCLUDES): Remove (unused/misleading).
|
|
(distclean): Include f2c.h.
|
|
(clean): Include config.cache.
|
|
|
|
* runtime/libF77/Makefile.in (.SUFFIXES): Correct typo.
|
|
(ALL_CFLAGS) Fix up include search path to find f2c.h in top level
|
|
includes always.
|
|
(all): Depend on f2c.h.
|
|
* runtime/libI77/Makefile.in (.SUFFIXES): Likewise.
|
|
|
|
Thu Feb 2 17:17:06 1995 Dave Love <d.love@dl.ac.uk>
|
|
|
|
* INSTALL: Note about --srcdir and GNU make.
|
|
|
|
* runtime/f2c.h.in (Pad_UDread, ALWAYS_FLUSH): Reomve the #defines
|
|
per below.
|
|
|
|
* runtime/configure.in (Pad_UDread, ALWAYS_FLUSH): Define these
|
|
here, not in f2c.h as they'r eonly relevant for building.
|
|
* runtime/configure: Regenerated.
|
|
|
|
* config-lang.in: Warn about using GNU make outside source tree
|
|
since I can't get Irix5 or SunOS4 makes to work in this case.
|
|
|
|
* Makefile.in (VPATH): Don't set it here.
|
|
(srcdir): Make it the normal `.' (overridden) at top level.
|
|
(all.indirect): New dependency `dircheck'.
|
|
(f771): Likewise
|
|
(dircheck): New target for foolproofing.
|
|
(f/proj.h:): Change finding source.
|
|
(CONFIG_H): Don't use this as the relative path in the include loses
|
|
f builddir != srcdir.
|
|
|
|
* config.h: Remove per CONFIG_H change above.
|
|
|
|
* Make-lang.in (F77_FLAGS_TO_PASS): Remove GCC_FOR_TARGET.
|
|
(f771:): Pass VPATH, srcdir to sub-make.
|
|
(f/Makefile:): New target.
|
|
(stmp-int-hdrs): new variable for cheating build.
|
|
(f77-runtime:): Alter GCC_FOR_TARGET treatment.
|
|
(include/f2c.h f/runtime/Makefile:) Likewise.
|
|
(f77-runtime-unsafe:): New (cheating) target.
|
|
|
|
Thu Feb 2 12:09:51 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
|
|
|
* BUGS: Update regarding losing EQUIVALENCE members in -g, and
|
|
regarding RS/6000 problems in the back end.
|
|
|
|
* CREDITS: Make some changes as requested.
|
|
|
|
* com.c (ffecom_member_trunk_): Remove unused static variable.
|
|
(ffecom_finish_symbol_transform_): Improve comments.
|
|
(ffecom_let_char_): Fix size of temp address-type var.
|
|
(ffecom_member_phase2_): Try fixing problem fixed by change
|
|
to ffecom_transform_equiv_ (f_m_p2_ function currently not used).
|
|
(ffecom_transform_equiv_): Remove def of unused static variable.
|
|
Comment-out use of ffecom_member_phase2_, until problems with
|
|
back end fixed.
|
|
(ffecom_push_tempvar): Fix assertion to not crash okay code.
|
|
|
|
* com.h: Remove old, commented-out code.
|
|
Add prototype for warning() in back end.
|
|
|
|
* ste.c (ffeste_io_dofio_, ffeste_io_dolio_, ffeste_io_douio_,
|
|
ffeste_io_icilist_): Check correct type of variable for arrayness.
|
|
|
|
Sun Jan 29 14:41:42 1995 Dave Love <d.love@dl.ac.uk>
|
|
|
|
* BUGS: Remove references to my configure bugs; add another.
|
|
|
|
* runtime/Makefile.in (AR_FLAGS): Provide default value.
|
|
|
|
* runtime/f2c.h.in (integer, logical): Take typedefs from
|
|
F2C_INTEGER configuration parameter again.
|
|
(NON_UNIX_STDIO): don't define it.
|
|
|
|
* runtime/configure.in: Bring type checks for f2c.h in line with
|
|
com.h.
|
|
(MISSING_FILE_ELEMS): New variable to determine whether the relevant
|
|
elements of the FILE struct exist, independent of NON_UNIX_STDIO.
|
|
* runtime/libI77/{err,wrtfmt,wsfe}.c (MISSING_FILE_ELEMS): Use new
|
|
parameter.
|
|
|
|
* config-lang.in: Comment out more of f2c rules (c.f. Make-lang.in).
|
|
(This stuff is relevant iff you gave configure --enable-f2c.)
|
|
Create f/runtime directory tree iff not building in source
|
|
directory.
|
|
|
|
* Makefile.in (srcdir): Append slash so we get the right value when
|
|
not building in the source directory. This is a consequence of not
|
|
building the `f' sources in `f'.
|
|
(VPATH): Override configure's value for reasons above.
|
|
(f/proj.h f/conf-proj): New rules to build proj.h by
|
|
autoconfiguration.
|
|
|
|
* proj.h: Rename to proj.h.in for autoconfiguration.
|
|
* proj.h.in: New as above.
|
|
* conf-proj conf-proj.in: New files for autoconfiguration.
|
|
|
|
* Make-lang.in (include/f2c.h f/runtime/Makefile:): Change the order
|
|
of setting the sh variables so that the right GCC_FOR_TARGET is
|
|
used.
|
|
(f77.*clean:) Add products of new configuration files and make sure
|
|
all the *clean targets do something (unlike the ones in
|
|
cp/Make-lange.in).
|
|
|
|
* com.h (FFECOM_f2cINTEGER, FFECOM_f2cLOGICAL): Define as long or
|
|
int appropriately to ensure sizeof(real) == sizeof(integer).
|
|
|
|
* PROJECTS: Library section.
|
|
|
|
* runtime/libI77/endfile.c: Don't #include sys/types.h conditional
|
|
on NON_UNIX_STDIO since rawio.h needs size_t.
|
|
* runtime/libI77/uio.c: #include <sys/types.h> for size_t if not
|
|
KR_headers.
|
|
|
|
Wed Jan 25 03:31:51 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
|
|
|
* Version 0.5.3 released.
|
|
|
|
* INSTALL: Revise.
|
|
|
|
* Make-lang.in: Comment out rules for building f2c itself (f/f2c/).
|
|
|
|
* README: Revise.
|
|
|
|
* com.c (ffecom_init_0): Warn if ftnlen or INTEGER not big enough
|
|
to hold a char *.
|
|
|
|
* gbe/2.6.2.diff: Update.
|
|
|
|
Mon Jan 23 17:10:49 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
|
|
|
* TODO: Remove.
|
|
BUGS: New file.
|
|
PROJECTS: New file.
|
|
CREDITS: New file.
|
|
|
|
* cktyps*: Remove.
|
|
Make-lang.in: Remove cktyps stuff.
|
|
Makefile.in: Remove cktyps stuff.
|
|
|
|
* DOC: Add info on changes for 0.5.3.
|
|
|
|
* bad.c: Put "warning:" &c on diagnostic messages.
|
|
Don't output informational messages if warnings disabled.
|
|
|
|
Thu Jan 19 12:38:13 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
|
|
|
* g77.c: Avoid putting out useless "-xnone -xf77" pairs so
|
|
larger command lines can be accommodated.
|
|
Recognize both `-xlang' and `-x lang'.
|
|
Recognize `-xnone' and `-x none' to mean what it does, instead
|
|
of treating "none" as any other language.
|
|
Some minor, slight improvements in the way args are handled
|
|
(hopefully for clearer, more maintainable code), including
|
|
consistency checks on arg count just in case.
|
|
|
|
Wed Jan 18 16:41:57 1995 Craig Burley (burley@gnu.ai.mit.edu)
|
|
|
|
* DOC: Explain -fautomatic better.
|
|
|
|
* INSTALL: Describe libf2c.a better.
|
|
|
|
* Make-lang.in, Makefile.in: Build f771 &c with gcc/ as cd instead
|
|
of gcc/f/ so debugging info is better (source file tracking).
|
|
Add new source file type.c.
|
|
|
|
* Makefile.in: For nextstep3, link f771 with -segaddr __DATA
|
|
6000000. Fix typo. Change deps-kinda target to handle building
|
|
from gcc/. Update dependencies.
|
|
|
|
* bld-op.def, bld.h, bld.c: Remove opBACKEND and all related
|
|
stuff.
|
|
Remove consistency tests that cause compiler warnings.
|
|
|
|
* cktyps.c: Remove all typing checking.
|
|
|
|
* com-rt.def: Change all rttypeFLOAT_ intrinsics to rttypeDOUBLE_,
|
|
to precisely match how they're declared in libf2c.
|
|
|
|
* com.h, com.c: Revise to more elegantly track related stuff
|
|
in the version of f2c.h used to build libf2c.
|
|
|
|
* com.c: Increase FFECOM_sizeMAXSTACKITEM, and if 0 or undefined
|
|
when checked to determine where to put entity, treat as infinite.
|
|
Rewrite temporary mechanism to be based on trees instead of
|
|
ffeinfo stuff, and make it much simpler. Change interface
|
|
accordingly.
|
|
Fixes to better track types of things, make appropriate
|
|
conversions, etc. E.g. when making an arg for a libf2c
|
|
function, make sure it's of the right type (such as ftnlen).
|
|
Delete opBACKEND transformation code.
|
|
(ffecom_init_0): Smoother initialization of types, especially
|
|
paying attention to using consistent rules for making INTEGER,
|
|
REAL, DOUBLE PRECISION, etc., and for deciding their "*N"
|
|
and kind values that will work across all g77 platforms.
|
|
No longer require per-target configuration info in target.h
|
|
or config/*/*; use new type module to store size, alignment.
|
|
(ffecom_member_phase2): Declare COMMON/EQUIVALENCE group members
|
|
so debugger sees them.
|
|
(ffecom_finish_progunit): Transform all symbols in program unit,
|
|
so -g will show they all exist.
|
|
|
|
* expr.c (ffeexpr_collapse_substr): Handle strange substring
|
|
range values.
|
|
|
|
* info.h, info.c: Provide connection to new type module.
|
|
Remove tests that yield compiler warnings.
|
|
|
|
* intrin.c (ffeintrin_is_intrinsic): Properly handle deleted
|
|
intrinsic.
|
|
|
|
* lex.c (ffelex_file_fixed): Remove redundant/buggy code.
|
|
|
|
* stc.c (ffestc_kindtype_kind_, ffestc_kindtype_star_): Replace
|
|
boring switch stmt with simple call to new type module. This
|
|
sort of thing is a reason to get up in the morning.
|
|
|
|
* ste.c: Update to handle new interface for
|
|
ffecom_push/pop_tempvar.
|
|
Fixes to better track types of things.
|
|
Fixes to not crash for certain diagnosed constructs.
|
|
(ffeste_begin_iterdo_): Check only constants for overflow to avoid
|
|
spurious diagnostics.
|
|
Don't convert larger integer (say, INTEGER*8) to canonical integer
|
|
for iteration count.
|
|
|
|
* stw.h: Track DO iteration count temporary variable.
|
|
|
|
* symbol.c: Remove consistency tests that cause compiler warnings.
|
|
|
|
* target.c (ffetarget_aggregate_info): Replace big switch with
|
|
little call to new type module.
|
|
(ffetarget_layout): Remove consistency tests that cause
|
|
compiler warnings.
|
|
(ffetarget_convert_character1_typeless): Pick up length of
|
|
typeless type from new type module.
|
|
|
|
* target.h: Crash build if target float bit pattern cannot be
|
|
precisely determined.
|
|
Remove all the type cruft now determined by ffecom_init_0
|
|
at invocation time and maintained in new type module.
|
|
Put casts on second arg of all REAL_VALUE_TO_TARGET_DOUBLE
|
|
uses so compiler warnings avoided (requires target float bit
|
|
pattern to be precisely determined, hence code to crash build).
|
|
|
|
* top.c: Add inits/terminates for new type module.
|
|
|
|
* type.h, type.c: New module.
|
|
|
|
* gbe/2.6.2.diff: Remove all patches to files in gcc/config/
|
|
directory and its subdirectories.
|
|
|
|
Mon Jan 9 19:23:25 1995 Dave Love <d.love@dl.ac.uk>
|
|
|
|
* com.h (FFECOM_F2C_INTEGER_TYPE_NODE): Define and use instead of
|
|
long_integer_type_node where appropriate.
|
|
|
|
Tue Jan 3 14:56:18 1995 Dave Love <d.love@dl.ac.uk>
|
|
|
|
* com.h: Make ffecom_f2c_logical_type_node long, consistent with
|
|
integer.
|
|
|
|
Fri Dec 2 20:07:37 1994 Dave Love <d.love@dl.ac.uk>
|
|
|
|
* config-lang.in (stagestuff): Add f2c conditionally.
|
|
* Make-lang.in: Add f2c and related targets.
|
|
* f2c: Add the directory.
|
|
|
|
Fri Nov 25 22:17:26 1994 Dave Love <d.love@dl.ac.uk>
|
|
|
|
* Makefile.in (FLAGS_TO_PASS): pass $(CROSS)
|
|
* Make-lang.in: more changes to runtime targets
|
|
|
|
Thu Nov 24 18:03:21 1994 Dave Love <d.love@dl.ac.uk>
|
|
|
|
* Makefile.in (FLAGS_TO_PASS): define for sub-makes
|
|
|
|
* g77.c (main): change f77-cpp-output to f77-cpp-input (.F files)
|
|
|
|
Wed Nov 23 15:22:53 1994 Dave Love <d.love@dl.ac.uk>
|
|
|
|
* bad.c (ffebad_finish): kluge to fool emacs19 into finding errors:
|
|
add trailing space to <file>:<line>:
|
|
|
|
Tue Nov 22 11:30:50 1994 Dave Love <d.love@dl.ac.uk>
|
|
|
|
* runtime/libF77/signal_.c (RETSIGTYPE): added
|
|
|
|
Mon Nov 21 13:04:13 1994 Dave Love <d.love@dl.ac.uk>
|
|
|
|
* Makefile.in (compiler): add runtime
|
|
|
|
* config-lang.in (stagestuff): add libf2c.a to stagestuff
|
|
|
|
* Make-lang.in:
|
|
G77STAGESTUFF <- MORESTAGESTUFF
|
|
f77-runtime: new target, plus supporting ones
|
|
|
|
* runtime: add the directory, containing libI77, libF77 and autoconf
|
|
stuff
|
|
|
|
* g++.1: remove
|
|
|
|
* g77.1: minor fixes
|
|
|
|
Thu Nov 17 15:18:05 1994 Craig Burley (burley@gnu.ai.mit.edu)
|
|
|
|
* Version 0.5.2 released.
|
|
|
|
* bad.def: Modify wording of FFEBAD_UNIMPL_STMT to indicate
|
|
that it covers a wide array of possible problems (that, someday,
|
|
should be handled via separate diagnostics).
|
|
|
|
* lex.c: Allow $ in identifiers if -fdollar-ok.
|
|
* top.c: Support -fdollar-ok.
|
|
* top.h: Support -fdollar-ok.
|
|
* target.h: Support -fdollar-ok.
|
|
* DOC: Describe -fdollar-ok.
|
|
|
|
* std.c (ffestd_R1229_finish): Fix bug so stand-alone build works.
|
|
* ste.c (ffeste_R819A): Fix bug so stand-alone build works.
|
|
|
|
* Make: Improvements for stand-alone build.
|
|
|
|
* Makefile.in: Fix copyright text at top of file.
|
|
|
|
* LINK, SRCS, UNLINK: Removed. Not particularly useful now that
|
|
g77 sources live in their own subdirectory.
|
|
|
|
* g77.c (main): Cast arg to bzero to avoid warning. (This is
|
|
identical to Kenner's fix to cp/g++.c.)
|
|
|
|
* gbe/: New subdirectory, to contain .diff files for various
|
|
versions of the GNU CC back end.
|
|
|
|
* gbe/README: New file.
|
|
* gbe/2.6.2.diff: New file.
|
|
|
|
Tue Nov 8 10:23:10 1994 Dave Love <d.love@dl.ac.uk>
|
|
|
|
* Make-lang.in: don't install as f77 as well as g77 to avoid
|
|
confusion with system's compiler (especially while testing)
|
|
|
|
* g77.c (main): use -lf2c and -lm; fix sense of test for .f/.F files
|
|
|
|
Fri Oct 28 09:45:00 1994 Craig Burley (burley@gnu.ai.mit.edu)
|
|
|
|
* Version 0.5.1 released.
|
|
|
|
* gcc.c: Invoke f771 instead of f-771.
|
|
|
|
Fri Oct 28 02:00:44 1994 Craig Burley (burley@gnu.ai.mit.edu)
|
|
|
|
* Version 0.5.0 released.
|
|
|
|
Fri Oct 14 15:03:35 1994 Craig Burley (burley@gnu.ai.mit.edu)
|
|
|
|
* Makefile.in: Handle the Fortran-77 front-end in a subdirectory.
|
|
* f-*: Move Fortran-77 front-end to f/*.
|
|
|
|
Local Variables:
|
|
add-log-time-format: current-time-string
|
|
End:
|