home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Geek Gadgets 1
/
ADE-1.bin
/
ade-dist
/
g77-0.5.15-src.tgz
/
tar.out
/
fsf
/
g77
/
f
/
ChangeLog
< prev
next >
Wrap
Text File
|
1996-09-28
|
45KB
|
1,249 lines
Fri May 19 11:00:36 1995 Craig Burley (burley@gnu.ai.mit.edu)
* com.c (ffecom_expr_power_integer_): Push temp vars
before expanding a statement expression, since that seems
to cause temp vars to be "forgotten" after the end of the
expansion in the back end. Disallow more temp-var
pushing during such an expansion, just in case.
(ffecom_push_tempvar): Crash if a new variable needs to be
pushed but cannot be at this point (should never happen).
Wed May 17 12:26:16 1995 Craig Burley (burley@gnu.ai.mit.edu)
* expr.c (ffeexpr_collapse_convert): Add code to convert
LOGICAL to CHARACTER. Reject conversion of REAL or COMPLEX
to CHARACTER entirely, as it cannot be supported with all
configurations.
* target.h, target.c (ffetarget_convert_character1_logical1):
New function.
Sun May 14 00:00:09 1995 Craig Burley (burley@gnu.ai.mit.edu)
* com.c (ffecom_do_entry_, ffecom_gen_sfuncdef_,
ffecom_start_progunit_, ffecom_sym_transform_,
ffecom_init_0, start_function): Changes to have REAL
external functions return same type as DOUBLE PRECISION
external functions when -ff2c is in force; while at it,
some code cleanups done.
* stc.c (ffestc_R547_item_object): Disallow array declarator
if one already exists for symbol.
* ste.c (ffeste_R1227): Convert result variable to type
of function result as seen by back end (e.g. for when REAL
external function actually returns result as double).
* target.h (FFETARGET_defaultFIXED_LINE_LENGTH): New
macro for default for -ffixed-line-length-N option.
* top.c (ffe_fixed_line_length_): Initialize this to new
target.h macro instead of constant 72.
Tue May 9 01:20:03 1995 Craig Burley (burley@gnu.ai.mit.edu)
* lex.c (ffelex_send_token_): If sending CHARACTER token with
null text field, put a single '\0' in it and set length/size
fields to 0 (to fix 950508-0.f).
(ffelex_image_char_): When setting ffelex_bad_line_ to TRUE,
always "close" card image by appending a null char and setting
ffelex_card_length_. As part of this, append useful text
to identify the two kinds of problems that involve this.
(ffelex_file_fixed): Reset ffelex_bad_line_ to FALSE after
seeing a line with invalid first character (fixes 950508-1.f).
If final nontab column is zero, assume tab seen in line.
(ffelex_card_image_): Always make this array 8 characters
longer than reflected by ffelex_card_size_.
(ffelex_init_1): Get final nontab column info from top instead
of assuming 72.
* options-lang.h: Add -ffixed-line-length- prefix.
* top.h: Add ffe_fixed_line_length() and _set_ version, plus
corresponding extern.
* top.c: Handle -ffixed-line-length- option prefix.
Fri Apr 28 05:40:25 1995 Craig Burley (burley@gnu.ai.mit.edu)
* Version 0.5.14 released.
* Make-lang.in: Add assert.j.
* Makefile.in: Add assert.j.
* assert.j: New file.
Thu Apr 27 16:24:22 1995 Craig Burley (burley@gnu.ai.mit.edu)
* bad.h (ffebad_severity): New function.
* bad.c (ffebad_severity): New function.
* bad.def (FFEBAD_OPEN_INCLUDE): Change severity from SEVERE
to FATAL, since processing continues, and that seems fine.
* com.c: Add facility to handle -I.
(ffecom_file, ffecom_close_include, ffecom_open_include,
ffecom_decode_include_option): New global functions for -I.
(ffecom_file_, ffecom_initialize_char_syntax_,
ffecom_close_include_, ffecom_decode_include_option_,
ffecom_open_include_, append_include_chain, open_include_file,
print_containing_files, read_filename_string, file_name_map,
savestring): New internal functions for -I.
* compilers.h: Pass -I flag(s) to f771 (via "%{I*}").
* lex.c (ffelex_include_): Call ffecom_close_include
to close include file, for its tracking needs for -I,
instead of using fclose.
* options-lang.h: Add -I prefix.
* parse.c (yyparse): Call ffecom_file for main input file,
so -I handling works (diagnostics).
* std.c (ffestd_S3P4): Have ffecom_open_include handle
opening and diagnosing errors with INCLUDE files.
* ste.c (ffeste_begin_iterdo_): Use correct algorithm for
calculating # of iterations -- mathematically similar but
computationally different algorithm was not handling cases
like "DO I=6,5,2" correctly, because (5-6)/2+1 => 1, not 0.
* top.c (ffe_decode_option): Allow -I, restructure a bit
for clarity and, maybe, speed.
Mon Apr 17 13:31:11 1995 Craig Burley (burley@gnu.ai.mit.edu)
* g77.c: Remove -lc, turns out not all systems has it, but
leave other changes in for clarity of code.
Sun Apr 16 21:50:33 1995 Craig Burley (burley@gnu.ai.mit.edu)
* com.c (ffecom_expr_): Implement ARRAY_EXPR as INDIRECT_REF
of appropriate PLUS_EXPRs of ptr_to_expr of array, to see
if this generates better code. (Conditional on
FFECOM_FASTER_ARRAY_REFS.)
Sun Apr 16 00:22:48 1995 Craig Burley (burley@gnu.ai.mit.edu)
* Make-lang.in (F77_SRCS): Remove g77.c, since it doesn't
contribute to building f771.
* Makefile.in (dircheck): Remove/replace with f/Makefile, because
phony targets that are referenced in other real targets get run
when those targets are specified, which is a waste of time (e.g.
when rebuilding and only g77.c has changed, f771 was being linked
anyway).
* g77.c: Include -lc between -lf2c and -lm throughout.
* implic.c (ffeimplic_establish_symbol): If -Wimplicit, warn if
implicit type given to symbol.
* lex.c (ffelex_include_): Don't gratuitously increment line
number here.
* top.h, top.c (ffe_is_warn_implicit_): New global variable and
related access macros.
(ffe_decode_option): Handle -W options, including -Wall and
-Wimplicit.
* where.c (ffewhere_line_new): Don't muck with root line (was
crashing on null input since lexer changes over the past week
or so).
Thu Apr 13 16:48:30 1995 Craig Burley (burley@gnu.ai.mit.edu)
* com.c (ffecom_init_0): Register built-in functions for cos,
sin, and sqrt.
(ffecom_tree_fun_type_double): New variable.
(ffecom_expr_intrinsic_): Update f2c input and output files
to latest version of f2c (no important g77-related changes
noted, just bug fixes to f2c and such).
(builtin_function): New function from c-decl.c.
* com-rt.def: Refer to built-in functions for cos, sin, and sqrt.
Thu Apr 13 10:25:09 1995 Craig Burley (burley@gnu.ai.mit.edu)
* com.c (ffecom_expr_intrinsic_): Convert 0. to appropriate
type to keep DCMPLX(I) from crashing the compiler.
(ffecom_expr_): Don't convert result from ffecom_tree_divide_.
(ffecom_tree_divide_): Add tree_type argument, have all callers
pass one, and don't convert right-hand operand to it (this is
to make this new function work as much like the old in-line
code used in ffecom_expr_ as possible).
* lex.c: Maintain lineno and input_filename the way the gcc
lexer does.
* std.c (ffestd_exec_end): Save and restore lineno and
input_filename around the second pass, which sets them
appropriately for each saved statement.
Wed Apr 12 09:44:45 1995 Craig Burley (burley@gnu.ai.mit.edu)
* com.c (ffecom_expr_power_integer_): New function.
(ffecom_expr_): Call new function for power op with integer second
argument, for generating better code. Also replace divide
code with call to new ffecom_tree_divide_ function.
Canonicalize calls to ffecom_truth_value(_invert).
(ffecom_tree_divide_): New function.
Wed Apr 5 14:15:44 1995 Craig Burley (burley@gnu.ai.mit.edu)
* lex.c: Change to allocate text for tokens only when actually
needed, which should speed compilation up somewhat.
Change to allow INCLUDE at any point where a statement
can end, i.e. in ffelex_finish_statement_ or when a SEMICOLON
token is sent.
Remove some old, obsolete code.
Clean up layout of entire file to improve formatting,
readability, etc.
(ffelex_set_expecting_hollerith): Remove include argument.
Fri Mar 31 23:19:08 1995 Craig Burley (burley@gnu.ai.mit.edu)
* bad.h, bad.c (ffebad_start_msg, ffebad_start_msg_lex):
New functions to generate arbitrary messages.
(FFEBAD_severityPEDANTIC): New severity, to correspond
to toplev's pedwarn() function.
* lex.c (ffelex_backslash_): New function to implement
backslash processing.
(ffelex_file_fixed, ffelex_file_free): Implement new
backslash processing.
* std.c (ffestd_R1001dump_): Don't assume CHARACTER and
HOLLERITH tokens stop at '\0' characters, now that backslash
processing is supported -- use their advertised lengths instead,
and double up the '\002' character for libf2c.
Mon Mar 27 17:10:33 1995 Craig Burley (burley@gnu.ai.mit.edu)
* com.c (ffecom_init_local_zero_): Implement -finit-local-zero.
(ffecom_sym_transform_): Same.
(ffecom_transform_equiv_): Same.
* options-lang.h: Add -f(no-)(init-local-zero,backslash,ugly-init).
* stb.c (ffestb_V020): Reject "TYPEblah(...", which might be
an array assignment.
* target.h, top.h, top.c: Implement -finit-local-zero.
Fri Mar 24 19:56:22 1995 Craig Burley (burley@gnu.ai.mit.edu)
* Make-lang.in, Makefile.in: Remove conf-proj(.in) and
proj.h(.in) rules, plus related config.log, config.cache,
and config.status stuff.
* com.c (ffecom_init_0): Change messages when atof(), bsearch(),
or strtoul() do not work as expected in the start-up test.
* conf-proj, conf-proj.in: Delete.
* lex.c (ffelex_file_fixed): Allow f2c's '&' in column 1
to mean continuation line.
* options-lang.h: New file, #include'd by ../toplev.c.
* proj.h.in: Rename back to proj.h.
* proj.h (LAME_ASSERT): Remove.
(LAME_STDIO): Remove.
(NO_STDDEF): Remove.
(NO_STDLIB): Remove.
(NO_BSEARCH): Remove auto detection, rename to !FFEPROJ_BSEARCH.
(NO_STRTOUL): Remove auto detection, rename to !FFEPROJ_STRTOUL.
(USE_HOST_LIMITS): Remove (maybe still needed by stand-alone?).
(STR, STRX): Do only ANSI C definitions.
Mon Mar 13 10:46:13 1995 Craig Burley (burley@gnu.ai.mit.edu)
* BUGS: Add item about g77 requiring gcc to compile it.
* NEWS: New file listing user-visible changes in the release.
* PROJECTS: Update to include a new item or two, and modify
or delete items that are addressed in this or previous releases.
* bad.c (ffebad_finish): Don't crash if missing string &c,
just substitute obviously distressed string "[REPORT BUG!!]"
for cases where the message/caller are fudgy.
* bad.def: Clean up error messages in a major way, add new ones
for use by changes in target.c.
* com.c (ffecom_expr_): Handle opANY in opCONVERT.
(ffecom_let_char_): Disregard destinations with ERROR_MARK.
(ffecom_1, ffecom_1_fn, ffecom_2, ffecom_2s, ffecom_3,
ffecom_3s, &c): Check all inputs for error_mark_node.
(ffecom_start_progunit_): Don't transform all symbols
in BLOCK DATA, since it never executes, and it is silly
to, e.g., generate all the structures for NAMELIST.
(ffecom_char_length_expr_): Rename to ffecom_intrinsic_len_.
(ffecom_intrinsic_ichar_): New function to handle ICHAR of
arbitrary expression with possible 0-length operands.
(ffecom_expr_intrinsic_): Use ffecom_intrinsic_char_.
For MVBITS, set tree_type to void_type_node.
(ffecom_start_progunit_): Name master function for entry points
after primary entry point so users can easily guess it while
debugging.
(ffecom_arg_ptr_to_expr): Change treatment of Hollerith,
Typeless, and %DESCR.
(ffecom_expr_): Change treatment of Hollerith.
* data.c (ffedata_gather_): Handle opANY in opCONVERT.
* expr.c (ffeexpr_token_apostrophe_): Issue FFEBAD_NULL_CHAR_CONST
warning as necessary.
(ffeexpr_token_name_rhs_): Set context for args to intrinsic
so that assignment-like concatenation is allowed for ICHAR(),
IACHAR(), and LEN() intrinsics.
(ffeexpr_reduced_*_): Say "an array" instead of "an entity" in
diagnostics, since it's more informative.
(ffeexpr_finished_): For many contexts, check for null expression
and array before trying to do a conversion, to avoid redundant
diagnostics.
* g77.1: Fix typo for preprocessed suffix (.F, not .f).
* global.c (ffeglobal_init_common): Warn if initializing
blank common.
(ffeglobal_pad_common): Enable code to warn if initial
padding needed.
(ffeglobal_size_common): Complain if enlarging already-
initialized common, since it won't work right anyway.
* intrin.c: Add IMAG() intrinsic.
(ffeintrin_check_loc_): Allow opSUBSTR in LOC().
* intrin.def: Add IMAG() intrinsic.
* lex.c: Don't report FFEBAD_NULL_CHAR_CONST errors.
* sta.c, sta.h, stb.c: Changes to clean up error messages (see
bad.def).
* stb.c (ffestb_R100113_): Issue FFEBAD_NULL_CHAR_CONST
warning as necessary.
* stc.c (ffestc_shriek_do_): Don't try to reference doref_line
stuff in ANY case, since it won't be valid.
(ffestc_R1227): Allow RETURN in main program unit, with
appropriate warnings/errors.
(ffestc_subr_format_): Array of any type is a CHAREXPR (F77 C5).
* ste.c (ffeste_begin_doiter_): Couple of fixes to accurately
determine if loop never executes.
* target.c (ffetarget_convert_*_hollerith_): Append spaces,
not zeros, to follow F77 Appendix C, and to warn when
truncation of non-blanks done.
(ffetarget_convert_*_typeless): Rewrite to do typeless
conversions properly, and warn when truncation done.
(ffetarget_print_binary, ffetarget_print_octal,
ffetarget_print_hex): Rewrite to use new implementation of
typeless.
(ffetarget_typeless_*): Rewrite to use new implementation
of typeless, and to warn about overflow.
* target.h (ffetargetTypeless): New implementation of
this type.
* type.h, type.c (ffetype_size_typeless): Remove (incorrect)
implementation of this function and its extern.
Sun Mar 5 18:46:42 1995 Craig Burley (burley@gnu.ai.mit.edu)
* BUGS: Clarify that constant handling would also fix lack of
adequate IEEE-754/854 support to some degree, and typeless
and non-decimal constants.
* com.c (ffecom_type_permanent_copy_): Comment out to avoid
warnings.
(duplicate_decls): New function a la gcc/c-decl.c.
(pushdecl): Use duplicate_decls to decide whether to return
existing decl or new one, instead of always returning existing
decl.
(ffecom_expr_): opPERCENT_LOC now supports CHARACTER arguments.
(ffecom_init_0): Give f2c I/O code 0 for basictypeANY/kindtypeANY.
(ffecom_sym_transform_): For adjustable arrays, pass low bound
through variable_size in case its primaries are changed (950302-1.f).
* com.h: More decls that belong in tree.h &c.
* data.c (ffedata_eval_integer1_): Fix opPAREN case to not
treat value of expression as an error code.
* expr.c (ffeexpr_finished_): Allow opSUBSTR in contextLOC case.
* proj.c: Add "const" as appropriate.
Mon Feb 27 10:04:03 1995 Craig Burley (burley@gnu.ai.mit.edu)
* bad.def (FFEBAD_BAD_SUBSTR): Fix bad grammar in message.
Fri Feb 24 16:21:31 1995 Craig Burley (burley@gnu.ai.mit.edu)
* Version 0.5.13 released.
* INSTALL: Warn that f/zzz.o will compare differently between
stages, since it puts the __TIME__ macro into a string.
* com.c (ffecom_sym_transform_): Transform kindFUNCTION/whereDUMMY
to pointer-to-function, not function.
(ffecom_expr_): Use ffecom_arg_ptr_to_expr instead of
ffecom_char_args_ to handle comparison between CHARACTER
types, so either operand can be a CONCATENATE.
(ffecom_transform_common_): Set size of initialized common area
to global (largest-known) size, even though size of init might
be smaller.
* equiv.c (ffeequiv_offset_): Check symbol info for ANY.
* expr.c (ffeexpr_find_close_paren_, ffeexpr_nil_*): New functions
to handle following the contour of a rejected expression, so
statements like "PRINT(I,I,I)=0" don't cause the PRINT statement
code to get the second passed back to it as if there was a
missing close-paren before it, the comma causing the PRINT code
to confirm the statement, resulting in an ambiguity vis-a-vis
the let statement code.
Use the new ffecom_find_close_paren_ handler when an expected
close-paren is missing.
(ffeexpr_isdigits_): New function, use in all places that
currently use isdigit in repetitive code.
(ffeexpr_collapse_symter): Collapse to ANY if init-expr is ANY,
so as to avoid having symbol get "transformed" if used to
dimension an array.
(ffeexpr_token_real_, ffeexpr_token_number_real_): Don't issue
diagnostic about exponent, since it'll be passed along the
handler path, resulting in a diagnostic anyway.
(ffeexpr_token_apos_char_): Use consistent handler path
regardless of whether diagnostics inhibited.
(ffeexpr_token_name_apos_name_): Skip past closing quote/apos
even if not a match or other diagnostic issued.
(ffeexpr_sym_impdoitem_): Exec-transition local SEEN symbol.
* lex.c (ffelex_image_char_): Set ffelex_saw_tab_ if TAB
seen, not if anything other than TAB seen!
* stc.c (ffestc_R537_item): If source is ANY but dest isn't,
set dest symbol's init expr to ANY.
(ffestc_R501_attrib, ffestc_R522, ffestc_R522start): Complain
about conflict between "SAVE" by itself and other uses of
SAVE only in pedantic mode.
* ste.c (ffeste_R1212): Fix loop over labels to always
increment caseno, to avoid pushcase returning 2 for duplicate
values when one of the labels is invalid.
Thu Feb 23 12:42:04 1995 Craig Burley (burley@gnu.ai.mit.edu)
* Version 0.5.12 released.
* Make-lang.in (f77.install-common): Add "else true;" before outer
"fi" per Makefile.in patch.
* Makefile.in (dircheck): Add "else true;" before "fi" per
patch from chs1pm@surrey.ac.uk.
* com.c (ffecom_push_tempvar): If type desired is ERROR_MARK,
return error_mark_node, to avoid crash that results from
making a VAR_DECL with error_mark_node as its type.
* ste.c (ffeste_begin_iterdo_): Convert itercount to INTEGER
anytime calculation of number of iterations ends up with type
other than INTEGER (e.g. DOUBLE PRECISION, REAL).
Thu Feb 23 02:48:38 1995 Craig Burley (burley@gnu.ai.mit.edu)
* Version 0.5.11 released.
* DOC: Explain -fugly-args.
* bad.def (FFEBAD_ACTUALARG): Explain -fugly-args and how to
rewrite code to not require it.
* com.c (ffecom_vardesc_): Handle negative type code, just in
case.
(ffecom_arg_ptr_to_expr): Let ffecom_expr handle hollerith
and typeless constants (move code to ffecom_constantunion).
(ffecom_constantunion): Handle hollerith and typeless constants.
* expr.c (ffecom_finished_): Check -fugly-args in actual-arg
context where hollerith/typeless provided.
* intrin.def (FFEINTRIN_genDFLOAT): Add FFEINTRIN_specDFLOAT.
(FFEINTRIN_specDFLOAT): Add as f2c intrinsic.
* target.h (ffetarget_convert_real[12]_integer,
ffetarget_convert_complex[12]_integer): Pass -1 for high integer
value if low part is negative.
(FFETARGET_defaultIS_UGLY_ARGS): New macro.
* top.c (ffe_is_ugly_args_): New variable.
(ffe_decode_option): Handle -fugly-args and -fno-ugly-args.
* top.h (ffe_is_ugly_args_, ffe_is_ugly_args(),
ffe_set_is_ugly_args()): New variable and macros.
Thu Feb 23 02:48:38 1995 Pedro A M Vazquez (vazquez@iqm.unicamp.br)
* g77.c (sys_errlist): Use const for __FreeBSD__ systems
as well.
Wed Feb 22 13:33:43 1995 Craig Burley (burley@gnu.ai.mit.edu)
* Version 0.5.10 released.
* CREDITS: Add Rick Niles.
* INSTALL: Note how to get around lack of makeinfo.
* Make-lang.in (f/proj.h): Remove # comment.
* Makefile.in (f/proj.h): Remove # comment.
* com.c (ffecom_expr_): Simplify opFUNCREF/opSUBRREF conversion.
(ffecom_sym_transform_): For whereGLOBAL and whereDUMMY
kindFUNCTION, use ffecom_tree_fun_type[][] only for non-constant
(non-statement-function) f2c functions.
(ffecom_init_0): ffecom_tree_fun_type[][] and _ptr_to_*_* are
really f2c-interface arrays, so use base type void for COMPLEX
(like CHARACTER).
Tue Feb 21 19:01:18 1995 Dave Love <d.love@dl.ac.uk>
* Make-lang.in (f77.install-common): Expurgate the test for and
possible installation of f2c in line with elsewhere. Seems to have
been missing a semicolon anyhow!
Tue Feb 21 11:45:25 1995 Craig Burley (burley@gnu.ai.mit.edu)
* Version 0.5.9 released.
* Make-lang.in (f/proj.h): touch file to register update,
because the previous commands won't necessarily modify it.
* Makefile.in (f/proj.h): touch file to register update,
because the previous commands won't necessarily modify it.
* Makefile.in (f/str-*.h, f/str-*.j): Explicitly specify
output file names, so these targets go in build, not source,
directory.
* bits.c, bits.h: Switch to valid ANSI C replacement for
ARRAY_ZERO.
* com.c (ffecom_expr_): Add assignp arg to support ASSIGN better.
If assignp is TRUE, use different tree for FFEBLD_opSYMTER case.
(ffecom_sym_transform_assign_): New function.
(ffecom_expr_assign): New function.
(ffecom_expr_assign_w): New function.
* com.c (ffecom_f2c_make_type_): Do make_signed_type instead
of make_unsigned_type throughout.
* com.c (ffecom_finish_symbol_transform_): Expand scope of
commented-out code to probably produce faster compiler code.
* com.c (ffecom_gen_sfuncdef_): Push/pop calltemps so
COMPLEX works right.
Remove obsolete comment.
* com.c (ffecom_start_progunit_): If non-multi alt-entry
COMPLEX function, primary (static) entry point returns result
directory, not via extra arg -- to agree with ffecom_return_expr
and others.
Pretransform all symbols so statement functions are defined
before any code emitted.
* com.c (ffecom_finish_progunit): Don't posttransform all
symbols here -- pretransform them instead.
* com.c (ffecom_init_0): Don't warn about possible ASSIGN
crash, as this shouldn't happen now.
* com.c (ffecom_push_tempvar): Fix to handle temp vars
pushed while context is a statement (nested) function, and
add appropriate commentary.
* com.c (ffecom_return_expr): Check TREE_USED to determine
where return value is unset.
* com.h (struct _ffecom_symbol_): Add note about length_tree
now being used to keep tree for ASSIGN version of symbol.
* com.h (ffecom_expr_assign, ffecom_expr_assign_rw): New decls.
(error): Add this prototype for back-end function.
* fini.c (main): Grab input, output, and include names
directly off the command line instead of making the latter
two out of the first.
* lex.c: Improve tab handling for both fixed and free source
forms, and ignore carriage-returns on input, while generally
improving the code. ffelex_handle_tab_ has been renamed and
reinvented as ffelex_image_char_, among other things.
* malloc.c, malloc.h: Switch to valid ANSI C replacement for
ARRAY_ZERO, and kill the full number of bytes in pools and
areas.
* proj.h.in (ARRAY_ZERO, ARRAY_ZERO_SIZE): Remove.
* ste.c (ffeste_io_cilist_, ffeste_io_icilist_, ffeste_R838,
ffeste_R839): Issue diagnostic if a too-narrow variable used in an
ASSIGN context despite changes to this code and code in com.c.
* where.c, where.h: Switch to valid ANSI C replacement for
ARRAY_ZERO.
Fri Feb 17 03:35:19 1995 Craig Burley (burley@gnu.ai.mit.edu)
* Version 0.5.8 released.
* INSTALL: In quick-build case, list g77 target first so g77
gets installed. Also, explain that gcc gets built and installed
as well, even though this isn't really what we want (and maybe
we'll find a way around this someday).
Fri Feb 17 02:35:41 1995 Craig Burley (burley@gnu.ai.mit.edu)
* Version 0.5.7 released.
* Makefile.in (CONFIG_H, HCONFIG_H, TCONFIG_H, TM_H): Remove
../ prefix in front of .h files, since they're in the cd.
Fri Feb 17 01:50:48 1995 Craig Burley (burley@gnu.ai.mit.edu)
* Version 0.5.6 released.
Thu Feb 16 20:26:54 1995 Craig Burley (burley@gnu.ai.mit.edu)
* ../README.g77: Remove description of g77 as "not-yet-published".
* CREDITS: More changes.
* Make-lang.in (G77STAGESTUFF): Remove cktyps stuff.
* Makefile.in (CONFIG_H, HCONFIG_H, TCONFIG_H, TM_H): Don't
prefix gcc dir with $(srcdir) since these don't live there,
they are created in the build dir by gcc's configure. Add
a note explaining what these macros are about.
Update dependencies via deps-kinda.
* README.NEXTSTEP: Credit Toon, and per his request, add his
email address.
* com.h (FFECOM_DETERMINE_TYPES): #include "config.j".
* config.j, convert.j, flags.j, hconfig.j, rtl.j, tconfig.j,
tm.j, tree.j: Don't #include if already done.
* convert.j: #include "tree.j" first, as convert.h clearly depends
on trees being defined.
* rtl.j: #include "config.j" first, since there's some stuff
in rtl.h that assumes it has been #included.
* tree.j: #include "config.j" first, or real.h makes inconsistent
decision about return type of ereal_atof, leading to bugs, and
because tree.h/real.h assume config.h already included.
Wed Feb 15 14:40:20 1995 Craig Burley (burley@gnu.ai.mit.edu)
* Version 0.5.5 released.
* Copyright notices updated to be FSF-style.
* INSTALL: Some more clarification regarding building just f77.
* Make-lang.in (F77_SRCS): Update wrt changing some .h to .j.
(install-libf77): Fix typo in new parenthetical note.
* Makefile.in (f/*.o): Update.
(CONFIG_H, CONVERT_H, FLAGS_H, GLIMITS_H, HCONFIG_H, RTL_H,
TCONFIG_H, TM_H, TREE_H): Update/new symbols.
(deps-kinda): More fixes wrt changing some .h to .j.
Document and explain this rule a bit better.
Accommodate changes in output of gcc -MM.
* *.h, *.c: Change #include's so proj.h not assumed to #include
malloc.h or config.h (now config.j), and so new .j files are
used instead of old .h ones.
* com.c (ffecom_init_0): Use FLOAT_TYPE_SIZE for f2c's
TYLONG/TYLOGICAL type codes, to get g77 working on Alpha.
* com.h: Make all f2c-related integral types "int", not "long
int".
* config.j, convert.j, flags.j, glimits.j, hconfig.j, rtl.j,
tconfig.j, tm.j, tree.j: New files wrapping around gbe
.h files.
* config.h, convert.h, flags.h, glimits.h, hconfig.h, rtl.h,
tconfig.h, tm.h, tree.h: Deleted so new .j files
can #include the gbe files directly, instead of using "../",
and thus do better with various kinds of builds.
* proj.h: Delete unused NO_STDDEF and related stuff.
Tue Feb 14 08:28:08 1995 Craig Burley (burley@gnu.ai.mit.edu)
* BUGS: Remove item #12, cross-compiling & autoconf scripts
reportedly expected to work properly (according to d.love).
* INSTALL: Add explanation of d.love's patch to config-lang.in.
Add explanation of how to install just g77 when gcc already installed.
Add note about usability of "-Wall". Add note about bug-
reporting.
* Make-lang.in ($(srcdir)/f/conf-proj): Add comment about why
conf-proj.out.
(install-libf77): Echo parenthetical note to user about how to do
just the (aborted) libf2c installation.
(deps-kinda): Update to work with new configuration/build stuff.
* bad.c (ffebad_finish): Put capitalized "warning:" &c message
as prefix on any diagnostic without pointers into source.
* bad.def (FFEBAD_TOO_BIG_INIT): Add this warning message.
* config-lang.in: Add Dave Love's patch to catch case where
back-end patches not applied and abort configuration.
* data.c (ffedata_gather_, ffedata_value_): Warn when about
to initialize a large aggregate area, due to design flaw resulting
in too much time/space used to handle such cases.
Use COMMON area name, and first notice of symbol, for multiple-
initialization diagnostic, instead of member symbol and unknown
location.
(FFEDATA_sizeTOO_BIG_INIT_): New macro per above.
Mon Feb 13 13:54:26 1995 Dave Love <d.love@dl.ac.uk>
* Make-lang.in (F77_SRCS): Use $(srcdir)/f/proj.h.in, not
$(srcdir)/f/proj.h for build outside srcdir.
Sun Feb 12 13:37:11 1995 Craig Burley (burley@gnu.ai.mit.edu)
* ../README.g77: Clarify procedures for unpacking, add asterisks
to mark important things the user must do.
* Fix dates in/add dates to ../README.g77, BUGS, CREDITS, DOC,
INSTALL, PROJECTS, README.
Sun Feb 12 00:26:10 1995 Craig Burley (burley@gnu.ai.mit.edu)
* Version 0.5.4 released.
* Make-lang.in (f/proj.h): Reproduce this rule here from
Makefile.in.
($(srcdir)/f/conf-proj): Put autoconf's stdout in temp file
conf-proj.out, then mv to conf-proj only if successful, so
conf-proj not touched if autoconf not installed.
* Makefile.in ($(srcdir)/conf-proj): See Make-lang.in's similar
rule.
Sat Feb 11 20:56:02 1995 Craig Burley (burley@gnu.ai.mit.edu)
* BUGS: Clarify some bugs.
* DOC: Many improvements and fixes.
* README: Move bulk of text, edited, to ../README.g77, and
replace with pointer to that file.
* com.c (ffecom_init_0): Comment out warning about sizeof(ftnlen)
as per ste.c change. Add text about ASSIGN to help user understand
what is being warned about.
* conf-proj.in: Fix typos in comments.
* proj.h.in: Add ARRAY_ZERO_SIZE to parallel malloc.h's version,
in case it proves to be needed.
* ste.c: Comment out assertions requiring sizeof(ftnlen) >=
sizeof(char *), in the hopes that overflow will never happen.
(ffeste_R838): Change assertion to fatal() with at least
partially helpful message.
Sat Feb 11 12:38:00 1995 Craig Burley (burley@gnu.ai.mit.edu)
* com.c (ffecom_vardesc_): Crash if typecode is -1.
* ste.c (ffeste_io_dolio_): Crash if typecode is -1.
Sat Feb 11 09:51:57 1995 Craig Burley (burley@gnu.ai.mit.edu)
* ste.c: In I/O code tests for item arrayness, sort of revert
to much earlier code that tests original exp, but also check
in newer way just in case. Newer way alone treated FOO(1:40)
as an array, not sure why older way alone didn't work, but I
think maybe it was when diagnosed code was involved, and
since there are now checks for error_mark_node, maybe the old
way alone would work. But better to be safe; both original
ffebld exp _and_ the transformed tree must indicate an array
for the size-determination code to be used, else just 1/2 elements
assumed. And this text is for EMACS: (foo at bar).
Fri Feb 10 11:05:50 1995 Craig Burley (burley@gnu.ai.mit.edu)
* ste.c: In many cases, surround statement-expansion code
with ffecom_push_calltemps () and ffecom_pop_calltemps ()
so COMPLEX-returning functions can have temporaries pushed
in "auto-pop" mode and have them auto-popped at the end of
the statement.
Wed Feb 8 14:35:10 1995 Dave Love <d.love@dl.ac.uk>
* runtime/f2c.h.in (ftnlen, ftnint): Make same size as integer.
* runtime/libI77/err.c (f_init): Thinko in MISSING_FILE_ELEMS
conditional.
* runtime/libI77/wrtfmt.c (mv_cur): Likewise.
* runtime/libI77/wsfe.c (x_putc): Likewise.
* runtime/libF77/signal_.c (signal_): Return 0 (this is a
subroutine).
* Makefile.in (f/proj.h): Depend on com.h.
* Make-lang.in (include/f2c.h): Likewise (and proj.h).
(install-libf77): Also install f2c.h.
* runtime/libI77/Makefile.in (*.o): Add f2c.h dependency.
* runtime/libF77/Makefile.in: Likewise.
Wed Feb 8 13:56:47 1995 Craig Burley (burley@gnu.ai.mit.edu)
* stc.c (ffestc_R501_item): Don't reset kind/where to NONE when
setting basictype/kindtype info for symbol, or especially
its function/result twin, because kind/where might not be NONE.
Tue Feb 7 14:47:26 1995 Dave Love <d.love@dl.ac.uk>
* Make-lang.in (include/f2c.h:): Set shell variable src more
robustly (independent of whether srcdir is relative or absolute).
* Makefile.in (f/proj.h:): Likewise.
* conf-proj.in: Check need for LAME_ASSERT. Fix indentation in
check for LAME_STDIO (cosmetic only with ANSI C).
* com.h: Extra ...SIZE stuff taken from com.c.
* com.c (FFECOM_DETERMINE_TYPES): Define before including com.h.
(BITS_PER_WORD etc.) Remove and use conditional definitions to com.h.
* runtime/configure.in: #define FFECOM_DETERMINE_TYPES for com.h in
f2c type determination.
* tm.h: Remove (at least pro tem) because of relative path and use
top-level one.
* Make-lang.in (include/f2c.h:): Set shell variable src more
robustly (independent of whether srcdir is relative or absolute).
* Makefile.in (f/proj.h:): Likewise.
Mon Feb 6 19:58:32 1995 Dave Love <d.love@dl.ac.uk>
* g77.c (append_arg): Use K&R declaration for, e.g. SunOS4 build.
Fri Feb 3 20:33:14 1995 Craig Burley (burley@gnu.ai.mit.edu)
* g77.c (main): Treat -l like filename in terms of -x handling.
Rewrite arglist mechanism for ease of maintenance.
Make sure every -lf2c is followed by -lm and vice versa.
* Make-lang.in: Put complete list of sources in F77_SRCS def
so changing a .h file, for example, causes rebuild.
* Makefile.in: Change test for nextstep to m68k-next-nextstep* so
all versions of nextstep on m68k get the necessary flag.
Fri Feb 3 19:10:32 1995 Dave Love <d.love@dl.ac.uk>
* INSTALL: Note about possible conflict with existing libf2c.a and
f2c.h.
* Make-lang.in (f77.distclean): Tidy and move deletion of
f/config.cache to mostlyclean.
(install-libf77): Test for $(libdir)/libf2c.* and barf if found
unless F2CLIBOK defined.
* runtime/Makefile.in (all): Change path to include directory (and
elsewhere).
(INCLUDES): Remove (unused/misleading).
(distclean): Include f2c.h.
(clean): Include config.cache.
* runtime/libF77/Makefile.in (.SUFFIXES): Correct typo.
(ALL_CFLAGS) Fix up include search path to find f2c.h in top level
includes always.
(all): Depend on f2c.h.
* runtime/libI77/Makefile.in (.SUFFIXES): Likewise.
Thu Feb 2 17:17:06 1995 Dave Love <d.love@dl.ac.uk>
* INSTALL: Note about --srcdir and GNU make.
* runtime/f2c.h.in (Pad_UDread, ALWAYS_FLUSH): Reomve the #defines
per below.
* runtime/configure.in (Pad_UDread, ALWAYS_FLUSH): Define these
here, not in f2c.h as they'r eonly relevant for building.
* runtime/configure: Regenerated.
* config-lang.in: Warn about using GNU make outside source tree
since I can't get Irix5 or SunOS4 makes to work in this case.
* Makefile.in (VPATH): Don't set it here.
(srcdir): Make it the normal `.' (overridden) at top level.
(all.indirect): New dependency `dircheck'.
(f771): Likewise
(dircheck): New target for foolproofing.
(f/proj.h:): Change finding source.
(CONFIG_H): Don't use this as the relative path in the include loses
f builddir != srcdir.
* config.h: Remove per CONFIG_H change above.
* Make-lang.in (F77_FLAGS_TO_PASS): Remove GCC_FOR_TARGET.
(f771:): Pass VPATH, srcdir to sub-make.
(f/Makefile:): New target.
(stmp-int-hdrs): new variable for cheating build.
(f77-runtime:): Alter GCC_FOR_TARGET treatment.
(include/f2c.h f/runtime/Makefile:) Likewise.
(f77-runtime-unsafe:): New (cheating) target.
Thu Feb 2 12:09:51 1995 Craig Burley (burley@gnu.ai.mit.edu)
* BUGS: Update regarding losing EQUIVALENCE members in -g, and
regarding RS/6000 problems in the back end.
* CREDITS: Make some changes as requested.
* com.c (ffecom_member_trunk_): Remove unused static variable.
(ffecom_finish_symbol_transform_): Improve comments.
(ffecom_let_char_): Fix size of temp address-type var.
(ffecom_member_phase2_): Try fixing problem fixed by change
to ffecom_transform_equiv_ (f_m_p2_ function currently not used).
(ffecom_transform_equiv_): Remove def of unused static variable.
Comment-out use of ffecom_member_phase2_, until problems with
back end fixed.
(ffecom_push_tempvar): Fix assertion to not crash okay code.
* com.h: Remove old, commented-out code.
Add prototype for warning() in back end.
* ste.c (ffeste_io_dofio_, ffeste_io_dolio_, ffeste_io_douio_,
ffeste_io_icilist_): Check correct type of variable for arrayness.
Sun Jan 29 14:41:42 1995 Dave Love <d.love@dl.ac.uk>
* BUGS: Remove references to my configure bugs; add another.
* runtime/Makefile.in (AR_FLAGS): Provide default value.
* runtime/f2c.h.in (integer, logical): Take typedefs from
F2C_INTEGER configuration parameter again.
(NON_UNIX_STDIO): don't define it.
* runtime/configure.in: Bring type checks for f2c.h in line with
com.h.
(MISSING_FILE_ELEMS): New variable to determine whether the relevant
elements of the FILE struct exist, independent of NON_UNIX_STDIO.
* runtime/libI77/{err,wrtfmt,wsfe}.c (MISSING_FILE_ELEMS): Use new
parameter.
* config-lang.in: Comment out more of f2c rules (c.f. Make-lang.in).
(This stuff is relevant iff you gave configure --enable-f2c.)
Create f/runtime directory tree iff not building in source
directory.
* Makefile.in (srcdir): Append slash so we get the right value when
not building in the source directory. This is a consequence of not
building the `f' sources in `f'.
(VPATH): Override configure's value for reasons above.
(f/proj.h f/conf-proj): New rules to build proj.h by
autoconfiguration.
* proj.h: Rename to proj.h.in for autoconfiguration.
* proj.h.in: New as above.
* conf-proj conf-proj.in: New files for autoconfiguration.
* Make-lang.in (include/f2c.h f/runtime/Makefile:): Change the order
of setting the sh variables so that the right GCC_FOR_TARGET is
used.
(f77.*clean:) Add products of new configuration files and make sure
all the *clean targets do something (unlike the ones in
cp/Make-lange.in).
* com.h (FFECOM_f2cINTEGER, FFECOM_f2cLOGICAL): Define as long or
int appropriately to ensure sizeof(real) == sizeof(integer).
* PROJECTS: Library section.
* runtime/libI77/endfile.c: Don't #include sys/types.h conditional
on NON_UNIX_STDIO since rawio.h needs size_t.
* runtime/libI77/uio.c: #include <sys/types.h> for size_t if not
KR_headers.
Wed Jan 25 03:31:51 1995 Craig Burley (burley@gnu.ai.mit.edu)
* Version 0.5.3 released.
* INSTALL: Revise.
* Make-lang.in: Comment out rules for building f2c itself (f/f2c/).
* README: Revise.
* com.c (ffecom_init_0): Warn if ftnlen or INTEGER not big enough
to hold a char *.
* gbe/2.6.2.diff: Update.
Mon Jan 23 17:10:49 1995 Craig Burley (burley@gnu.ai.mit.edu)
* TODO: Remove.
BUGS: New file.
PROJECTS: New file.
CREDITS: New file.
* cktyps*: Remove.
Make-lang.in: Remove cktyps stuff.
Makefile.in: Remove cktyps stuff.
* DOC: Add info on changes for 0.5.3.
* bad.c: Put "warning:" &c on diagnostic messages.
Don't output informational messages if warnings disabled.
Thu Jan 19 12:38:13 1995 Craig Burley (burley@gnu.ai.mit.edu)
* g77.c: Avoid putting out useless "-xnone -xf77" pairs so
larger command lines can be accommodated.
Recognize both `-xlang' and `-x lang'.
Recognize `-xnone' and `-x none' to mean what it does, instead
of treating "none" as any other language.
Some minor, slight improvements in the way args are handled
(hopefully for clearer, more maintainable code), including
consistency checks on arg count just in case.
Wed Jan 18 16:41:57 1995 Craig Burley (burley@gnu.ai.mit.edu)
* DOC: Explain -fautomatic better.
* INSTALL: Describe libf2c.a better.
* Make-lang.in, Makefile.in: Build f771 &c with gcc/ as cd instead
of gcc/f/ so debugging info is better (source file tracking).
Add new source file type.c.
* Makefile.in: For nextstep3, link f771 with -segaddr __DATA
6000000. Fix typo. Change deps-kinda target to handle building
from gcc/. Update dependencies.
* bld-op.def, bld.h, bld.c: Remove opBACKEND and all related
stuff.
Remove consistency tests that cause compiler warnings.
* cktyps.c: Remove all typing checking.
* com-rt.def: Change all rttypeFLOAT_ intrinsics to rttypeDOUBLE_,
to precisely match how they're declared in libf2c.
* com.h, com.c: Revise to more elegantly track related stuff
in the version of f2c.h used to build libf2c.
* com.c: Increase FFECOM_sizeMAXSTACKITEM, and if 0 or undefined
when checked to determine where to put entity, treat as infinite.
Rewrite temporary mechanism to be based on trees instead of
ffeinfo stuff, and make it much simpler. Change interface
accordingly.
Fixes to better track types of things, make appropriate
conversions, etc. E.g. when making an arg for a libf2c
function, make sure it's of the right type (such as ftnlen).
Delete opBACKEND transformation code.
(ffecom_init_0): Smoother initialization of types, especially
paying attention to using consistent rules for making INTEGER,
REAL, DOUBLE PRECISION, etc., and for deciding their "*N"
and kind values that will work across all g77 platforms.
No longer require per-target configuration info in target.h
or config/*/*; use new type module to store size, alignment.
(ffecom_member_phase2): Declare COMMON/EQUIVALENCE group members
so debugger sees them.
(ffecom_finish_progunit): Transform all symbols in program unit,
so -g will show they all exist.
* expr.c (ffeexpr_collapse_substr): Handle strange substring
range values.
* info.h, info.c: Provide connection to new type module.
Remove tests that yield compiler warnings.
* intrin.c (ffeintrin_is_intrinsic): Properly handle deleted
intrinsic.
* lex.c (ffelex_file_fixed): Remove redundant/buggy code.
* stc.c (ffestc_kindtype_kind_, ffestc_kindtype_star_): Replace
boring switch stmt with simple call to new type module. This
sort of thing is a reason to get up in the morning.
* ste.c: Update to handle new interface for
ffecom_push/pop_tempvar.
Fixes to better track types of things.
Fixes to not crash for certain diagnosed constructs.
(ffeste_begin_iterdo_): Check only constants for overflow to avoid
spurious diagnostics.
Don't convert larger integer (say, INTEGER*8) to canonical integer
for iteration count.
* stw.h: Track DO iteration count temporary variable.
* symbol.c: Remove consistency tests that cause compiler warnings.
* target.c (ffetarget_aggregate_info): Replace big switch with
little call to new type module.
(ffetarget_layout): Remove consistency tests that cause
compiler warnings.
(ffetarget_convert_character1_typeless): Pick up length of
typeless type from new type module.
* target.h: Crash build if target float bit pattern cannot be
precisely determined.
Remove all the type cruft now determined by ffecom_init_0
at invocation time and maintained in new type module.
Put casts on second arg of all REAL_VALUE_TO_TARGET_DOUBLE
uses so compiler warnings avoided (requires target float bit
pattern to be precisely determined, hence code to crash build).
* top.c: Add inits/terminates for new type module.
* type.h, type.c: New module.
* gbe/2.6.2.diff: Remove all patches to files in gcc/config/
directory and its subdirectories.
Mon Jan 9 19:23:25 1995 Dave Love <d.love@dl.ac.uk>
* com.h (FFECOM_F2C_INTEGER_TYPE_NODE): Define and use instead of
long_integer_type_node where appropriate.
Tue Jan 3 14:56:18 1995 Dave Love <d.love@dl.ac.uk>
* com.h: Make ffecom_f2c_logical_type_node long, consistent with
integer.
Fri Dec 2 20:07:37 1994 Dave Love <d.love@dl.ac.uk>
* config-lang.in (stagestuff): Add f2c conditionally.
* Make-lang.in: Add f2c and related targets.
* f2c: Add the directory.
Fri Nov 25 22:17:26 1994 Dave Love <d.love@dl.ac.uk>
* Makefile.in (FLAGS_TO_PASS): pass $(CROSS)
* Make-lang.in: more changes to runtime targets
Thu Nov 24 18:03:21 1994 Dave Love <d.love@dl.ac.uk>
* Makefile.in (FLAGS_TO_PASS): define for sub-makes
* g77.c (main): change f77-cpp-output to f77-cpp-input (.F files)
Wed Nov 23 15:22:53 1994 Dave Love <d.love@dl.ac.uk>
* bad.c (ffebad_finish): kluge to fool emacs19 into finding errors:
add trailing space to <file>:<line>:
Tue Nov 22 11:30:50 1994 Dave Love <d.love@dl.ac.uk>
* runtime/libF77/signal_.c (RETSIGTYPE): added
Mon Nov 21 13:04:13 1994 Dave Love <d.love@dl.ac.uk>
* Makefile.in (compiler): add runtime
* config-lang.in (stagestuff): add libf2c.a to stagestuff
* Make-lang.in:
G77STAGESTUFF <- MORESTAGESTUFF
f77-runtime: new target, plus supporting ones
* runtime: add the directory, containing libI77, libF77 and autoconf
stuff
* g++.1: remove
* g77.1: minor fixes
Thu Nov 17 15:18:05 1994 Craig Burley (burley@gnu.ai.mit.edu)
* Version 0.5.2 released.
* bad.def: Modify wording of FFEBAD_UNIMPL_STMT to indicate
that it covers a wide array of possible problems (that, someday,
should be handled via separate diagnostics).
* lex.c: Allow $ in identifiers if -fdollar-ok.
* top.c: Support -fdollar-ok.
* top.h: Support -fdollar-ok.
* target.h: Support -fdollar-ok.
* DOC: Describe -fdollar-ok.
* std.c (ffestd_R1229_finish): Fix bug so stand-alone build works.
* ste.c (ffeste_R819A): Fix bug so stand-alone build works.
* Make: Improvements for stand-alone build.
* Makefile.in: Fix copyright text at top of file.
* LINK, SRCS, UNLINK: Removed. Not particularly useful now that
g77 sources live in their own subdirectory.
* g77.c (main): Cast arg to bzero to avoid warning. (This is
identical to Kenner's fix to cp/g++.c.)
* gbe/: New subdirectory, to contain .diff files for various
versions of the GNU CC back end.
* gbe/README: New file.
* gbe/2.6.2.diff: New file.
Tue Nov 8 10:23:10 1994 Dave Love <d.love@dl.ac.uk>
* Make-lang.in: don't install as f77 as well as g77 to avoid
confusion with system's compiler (especially while testing)
* g77.c (main): use -lf2c and -lm; fix sense of test for .f/.F files
Fri Oct 28 09:45:00 1994 Craig Burley (burley@gnu.ai.mit.edu)
* Version 0.5.1 released.
* gcc.c: Invoke f771 instead of f-771.
Fri Oct 28 02:00:44 1994 Craig Burley (burley@gnu.ai.mit.edu)
* Version 0.5.0 released.
Fri Oct 14 15:03:35 1994 Craig Burley (burley@gnu.ai.mit.edu)
* Makefile.in: Handle the Fortran-77 front-end in a subdirectory.
* f-*: Move Fortran-77 front-end to f/*.
Local Variables:
eval: (auto-fill-mode)
left-margin: 8
fill-column: 76
End: