1998-07-15 09:07:55 +02:00
|
|
|
Mon Jul 13 17:33:44 1998 Craig Burley <burley@gnu.org>
|
|
|
|
|
|
|
|
Cleanups vis-a-vis system.h cutover and g77-0.5.24:
|
|
|
|
* Makefile.in (fini.o): Define USE_HCONFIG macro
|
|
|
|
so source code doesn't have to.
|
|
|
|
* fini.c: Don't define USE_HCONFIG here, since
|
|
|
|
source code usually shouldn't care about this.
|
|
|
|
* ansify.c: Include stddef.h only if we have it.
|
|
|
|
* intdoc.c: Ditto.
|
|
|
|
* proj.h: Ditto.
|
|
|
|
|
1998-07-13 19:32:15 +02:00
|
|
|
Mon Jul 13 17:30:29 1998 Nick Clifton <nickc@cygnus.com>
|
|
|
|
|
|
|
|
* lang-options.h: Format changed to work with --help support added
|
|
|
|
to gcc/toplev.c
|
|
|
|
|
1998-07-13 14:11:43 +02:00
|
|
|
Mon Jul 13 11:54:03 1998 Craig Burley <burley@gnu.org>
|
|
|
|
|
|
|
|
* com.c (ffecom_push_tempvar): Replace kludge that
|
|
|
|
munged back-end globals directly with proper calls
|
|
|
|
to push_topmost_sequence and pop_topmost_sequence.
|
|
|
|
|
1998-07-12 06:53:33 +02:00
|
|
|
1998-07-12 Dave Love <d.love@dl.ac.uk>
|
|
|
|
|
|
|
|
* version.c: Bump version.
|
|
|
|
|
1998-07-12 06:47:46 +02:00
|
|
|
Sat Jul 11 19:24:32 1998 Craig Burley <burley@gnu.org>
|
|
|
|
|
|
|
|
Fix 980616-0.f:
|
|
|
|
* equiv.c (ffeequiv_offset_): Don't crash on various
|
|
|
|
possible ANY operands.
|
|
|
|
|
1998-07-12 06:42:47 +02:00
|
|
|
Sat Jul 11 18:24:37 1998 Craig Burley <burley@gnu.org>
|
|
|
|
|
|
|
|
* com.c (ffecom_expr_) [FFEBLD_opCONTER]: Die if padding
|
|
|
|
for constant is non-zero.
|
|
|
|
|
|
|
|
* com.c (__eprintf): Delete this function, it is obsolete.
|
|
|
|
|
1998-07-09 16:17:18 +02:00
|
|
|
1998-07-09 Dave Love <d.love@dl.ac.uk>
|
|
|
|
|
|
|
|
* intdoc.in (HOSTNM_func, HOSTNM_subr): Update last change.
|
|
|
|
|
1998-07-09 01:47:54 +02:00
|
|
|
Thu Jul 9 00:45:59 1998 Craig Burley <burley@gnu.org>
|
|
|
|
|
|
|
|
Fix debugging of CHARACTER*(*), etc., which requires
|
|
|
|
emitting debug info on types like `ftnlen':
|
|
|
|
* com.c (ffecom_start_progunit_): Don't bother
|
|
|
|
resetting "invented" flag for identifier.
|
|
|
|
(ffecom_transform_equiv_): Don't bother zeroing
|
|
|
|
"ignored" flag for decl.
|
|
|
|
(pushdecl): No longer set "ignored", "used", or
|
|
|
|
"suppressed debug" flags for decls having "invented"
|
|
|
|
identifiers.
|
|
|
|
|
1998-07-06 11:56:06 +02:00
|
|
|
1998-07-06 Dave Love <d.love@dl.ac.uk>
|
|
|
|
|
|
|
|
* intdoc.in (HOSTNM_func, HOSTNM_subr): Note possible need for
|
|
|
|
-lsocket.
|
|
|
|
|
1998-07-06 10:29:31 +02:00
|
|
|
1998-07-05 Dave Love <d.love@dl.ac.uk>
|
|
|
|
|
|
|
|
* intdoc.in: Add entry for DATE_AND_TIME.
|
|
|
|
|
|
|
|
* intrin.def: Add implementation for DATE_AND_TIME. Make second
|
|
|
|
and third args of SYSTEM_CLOCK optional.
|
|
|
|
|
|
|
|
* com.c (ffecom_expr_intrinsic_): New case for DATE_AND_TIME.
|
|
|
|
|
|
|
|
* com-rt.def (FFECOM_gfrtSYSTEM_CLOCK): Call G77_system_clock_0,
|
|
|
|
not system_clock_.
|
|
|
|
(FFECOM_gfrtDATE_AND_TIME): New DEFGFRT.
|
|
|
|
|
1998-07-01 13:00:52 +02:00
|
|
|
Wed Jul 1 11:19:13 1998 Craig Burley <burley@gnu.org>
|
|
|
|
|
|
|
|
Fix 980701-1.f (which was producing "unaligned trap"
|
|
|
|
on an Alpha running GNU/Linux, as predicted):
|
|
|
|
* equiv.c (ffeequiv_layout_local_): Don't bother
|
|
|
|
coping with pre-padding of entire area while building
|
|
|
|
it; do that instead after the building is done, and
|
|
|
|
do it by modifying only the modulo field. This covers
|
|
|
|
the case of alignment stringency being increased without
|
|
|
|
lowering the starting offset, unlike the previous changes,
|
|
|
|
and even more elegantly than those.
|
|
|
|
|
|
|
|
* target.c (ffetarget_align): Make sure alignments
|
|
|
|
are non-zero, just in case.
|
|
|
|
|
Fix 980628-*.f:
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 non-zero
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.
From-SVN: r20817
1998-06-30 09:59:40 +02:00
|
|
|
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 non-zero
|
|
|
|
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.
|
|
|
|
|
1998-06-28 00:12:42 +02:00
|
|
|
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.
|
|
|
|
|
1998-06-19 16:30:11 +02:00
|
|
|
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. [Instead of change below.]
|
|
|
|
|
1998-06-19 07:49:19 +02:00
|
|
|
1998-16-19 Manfred Hollstein <manfred@s-direktnet.de>
|
|
|
|
|
|
|
|
* Makefile.in ($(srcdir)/f/intdoc.texi): Add $(INCLUDES).
|
|
|
|
|
1998-06-16 04:23:44 +02:00
|
|
|
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.
|
|
|
|
|
1998-06-15 09:54:39 +02:00
|
|
|
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.
|
|
|
|
|
1998-06-10 12:18:45 +02:00
|
|
|
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.
|
Restore circa-0.5.22 capabilities of `g77' driver:
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.
From-SVN: r20506
1998-06-15 09:37:33 +02:00
|
|
|
|
1998-06-04 12:41:23 +02:00
|
|
|
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.
|
|
|
|
|
Restore circa-0.5.22 capabilities of `g77' driver:
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.
From-SVN: r20506
1998-06-15 09:37:33 +02:00
|
|
|
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.
|
|
|
|
|
1998-06-03 16:13:06 +02:00
|
|
|
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.)
|
|
|
|
|
1998-05-23 11:45:45 +02:00
|
|
|
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
|
1998-06-04 12:41:23 +02:00
|
|
|
external functions. But warn if they're unused and -Wunused.
|
|
|
|
* bad.def (FFEBAD_SFUNC_UNUSED): New diagnostic.
|
1998-05-23 11:45:45 +02:00
|
|
|
|
[multiple changes]
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.
From-SVN: r19959
1998-05-22 12:55:52 +02:00
|
|
|
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.
|
|
|
|
|
1998-05-19 12:23:53 +02:00
|
|
|
Fri May 15 10:52:49 1998 Craig Burley <burley@gnu.org>
|
1998-05-18 12:53:27 +02:00
|
|
|
|
|
|
|
* 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.
|
|
|
|
|
1998-05-19 12:23:53 +02:00
|
|
|
* expr.c (ffeexpr_token_number_): Call
|
1998-05-18 12:53:27 +02:00
|
|
|
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.
|
|
|
|
|
1998-05-19 12:23:53 +02:00
|
|
|
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_.
|
1998-05-18 12:53:27 +02:00
|
|
|
* str-ot.fin: Add more keywords for expr.c.
|
|
|
|
|
|
|
|
* intdoc.c (dumpimp): Trivial fix.
|
|
|
|
|
1998-05-19 12:23:53 +02:00
|
|
|
* com.c (ffecom_expr_): Add ltkt variable for clarity.
|
1998-05-18 12:53:27 +02:00
|
|
|
|
1998-06-03 16:13:06 +02:00
|
|
|
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.
|
|
|
|
|
1998-05-06 11:06:36 +02:00
|
|
|
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.
|
|
|
|
|
1998-05-14 08:51:23 +02:00
|
|
|
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 05:03:21 1998 Craig Burley <burley@gnu.org>
|
|
|
|
|
|
|
|
* com.c (ffecom_check_size_overflow_): Ignore overflow
|
|
|
|
as well if dummy argument.
|
|
|
|
|
1998-05-19 12:26:25 +02:00
|
|
|
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.
|
|
|
|
|
1998-04-15 02:19:01 +02:00
|
|
|
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.
|
|
|
|
|
1998-05-19 12:23:53 +02:00
|
|
|
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.
|
|
|
|
|
1998-03-28 01:35:33 +01:00
|
|
|
Mon Mar 23 11:58:43 1998 Craig Burley <burley@gnu.org>
|
|
|
|
|
1998-03-28 01:46:00 +01:00
|
|
|
* bugs.texi: Various updates.
|
|
|
|
|
1998-03-28 01:35:33 +01:00
|
|
|
* com.c (ffecom_tree_canonize_ptr_): Fix up spacing a bit.
|
|
|
|
|
1998-03-28 01:30:11 +01:00
|
|
|
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.
|
|
|
|
|
1998-03-28 01:43:32 +01:00
|
|
|
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.
|
|
|
|
|
1998-03-22 11:06:48 +01:00
|
|
|
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').
|
|
|
|
|
|
|
|
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).
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
1998-02-22 20:39:08 +01:00
|
|
|
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-03-22 11:06:48 +01:00
|
|
|
1998-02-16 Dave Love <d.love@dl.ac.uk>
|
1998-02-22 20:37:26 +01:00
|
|
|
|
1998-03-22 11:06:48 +01:00
|
|
|
* Makefile.in (f/fini): Don't use -W -Wall with HOST_CC.
|
1998-02-22 20:28:41 +01:00
|
|
|
|
Support FORMAT(I<1+2>) (constant variable-FORMAT expressions):
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.
Change from Craig.
From-SVN: r18181
1998-02-22 20:21:21 +01:00
|
|
|
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.
|
|
|
|
|
1998-03-22 11:06:48 +01:00
|
|
|
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>.)
|
|
|
|
|
1998-02-22 20:29:55 +01:00
|
|
|
Fri Jan 9 19:09:07 1998 Craig Burley <burley@gnu.org>
|
|
|
|
|
1998-03-22 11:06:48 +01:00
|
|
|
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.
|
1998-02-22 20:29:55 +01:00
|
|
|
* intrin.c (ffeintrin_check_): No longer ignore explicit
|
|
|
|
omitted trailing args.
|
|
|
|
|
1998-02-22 20:25:07 +01:00
|
|
|
Tue Dec 23 14:58:04 1997 Craig Burley <burley@gnu.org>
|
|
|
|
|
1998-03-22 11:06:48 +01:00
|
|
|
* 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'.
|
|
|
|
|
1998-02-22 20:31:54 +01:00
|
|
|
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.
|
|
|
|
|
1998-03-22 11:06:48 +01:00
|
|
|
* intrin.def (FFEINTRIN_impCPU_TIME): Point to
|
|
|
|
FFECOM_gfrtSECOND as primary run-time routine.
|
1998-02-22 20:25:07 +01:00
|
|
|
|
|
|
|
Mon Dec 22 12:41:07 1997 Craig Burley <burley@gnu.org>
|
|
|
|
|
|
|
|
* intrin.c (ffeintrin_init_0): Remove duplicate
|
|
|
|
check for `!'.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
1998-03-22 11:06:48 +01:00
|
|
|
Tue Dec 9 16:20:57 1997 Richard Henderson <rth@cygnus.com>
|
|
|
|
|
|
|
|
* com.c (ffecom_type_vardesc_): Vardesc.dims is a `ftnlen*'.
|
|
|
|
|
1998-02-22 20:25:07 +01:00
|
|
|
Mon Dec 1 19:12:36 1997 Craig Burley <burley@gnu.org>
|
|
|
|
|
|
|
|
* intrin.c (ffeintrin_check_): Fix up indentation a bit more.
|
|
|
|
|
1998-02-22 20:26:46 +01:00
|
|
|
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'.
|
|
|
|
|
1998-02-22 20:25:07 +01:00
|
|
|
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.
|
|
|
|
|
1998-03-22 11:06:48 +01:00
|
|
|
* intrin.def: Fix up spacing a bit.
|
|
|
|
|
1998-02-22 20:26:46 +01:00
|
|
|
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.
|
1998-02-22 20:25:07 +01:00
|
|
|
|
1998-03-22 11:06:48 +01:00
|
|
|
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-06 Dave Love <d.love@dl.ac.uk>
|
|
|
|
|
|
|
|
* intrin.def: Allow non-integer args for INT2 and INT8 (per
|
|
|
|
documentation).
|
|
|
|
|
|
|
|
Tue Oct 28 02:21:25 1997 Craig Burley <burley@gnu.ai.mit.edu>
|
|
|
|
|
|
|
|
* lang-options.h: Add -fgnu-intrinsics-* and
|
|
|
|
-fbadu77-intrinsics-* options.
|
|
|
|
|
1998-02-22 20:36:33 +01:00
|
|
|
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.
|
|
|
|
|
1997-11-03 07:07:04 +01:00
|
|
|
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.
|
|
|
|
|
1998-03-22 11:06:48 +01:00
|
|
|
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.
|
|
|
|
|
1997-10-01 09:28:03 +02:00
|
|
|
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.
|
|
|
|
|
|
|
|
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'.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
1997-09-14 22:04:23 +02:00
|
|
|
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 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.
|
|
|
|
|
1997-08-28 05:21:05 +02:00
|
|
|
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.
|
|
|
|
|
|
|
|
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_.
|
|
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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'.
|
|
|
|
|
|
|
|
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'.
|
|
|
|
|
1997-08-12 09:47:32 +02:00
|
|
|
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 non-zero 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
|
1998-05-06 23:09:07 +02:00
|
|
|
registers, with which stupid_life_analysis cannot cope
|
1997-08-12 09:47:32 +02:00
|
|
|
(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/*.
|