(ffecom_finish_symbol_transform_): Revert change of 1998-05-23...

d
	* (ffecom_finish_symbol_transform_): Revert change
	of 1998-05-23, as it was too aggressive, in that it
	prevented transformation of (used) functions before
	primary code generation.

From-SVN: r21235
This commit is contained in:
Craig Burley 1998-07-16 16:53:01 -06:00 committed by Jeff Law
parent 75750f9c8a
commit c30922357a
1 changed files with 4 additions and 29 deletions

View File

@ -6715,35 +6715,10 @@ ffecom_finish_symbol_transform_ (ffesymbol s)
if (ffesymbol_hook (s).decl_tree == NULL_TREE)
{
if (ffesymbol_where (s) == FFEINFO_whereCONSTANT
&& (ffesymbol_kind (s) == FFEINFO_kindFUNCTION
|| ffesymbol_kind (s) == FFEINFO_kindSUBROUTINE))
{
/* An unreferenced statement function. If this refers to
an undeclared array, it'll look like a reference to
an external function that might not exist. Even if it
does refer to an non-existent function, it seems silly
to force a linker error when the function won't actually
be called. But before the 1998-05-15 change to egcs/gcc
toplev.c by Mark Mitchell, to fix other problems, this
didn't actually happen, since gcc would defer nested
functions to be compiled later only if needed. With that
change, it makes sense to simply avoid telling the back
end about the statement (nested) function at all. But
if -Wunused is specified, might as well warn about it. */
if (warn_unused)
{
ffebad_start (FFEBAD_SFUNC_UNUSED);
ffebad_string (ffesymbol_text (s));
ffebad_here (0, ffesymbol_where_line (s), ffesymbol_where_column (s));
ffebad_finish ();
}
}
else if (ffesymbol_kind (s) != FFEINFO_kindNONE
|| (ffesymbol_where (s) != FFEINFO_whereNONE
&& ffesymbol_where (s) != FFEINFO_whereINTRINSIC
&& ffesymbol_where (s) != FFEINFO_whereDUMMY))
if (ffesymbol_kind (s) != FFEINFO_kindNONE
|| (ffesymbol_where (s) != FFEINFO_whereNONE
&& ffesymbol_where (s) != FFEINFO_whereINTRINSIC
&& ffesymbol_where (s) != FFEINFO_whereDUMMY))
/* Not transformed, and not CHARACTER*(*), and not a dummy
argument, which can happen only if the entry point names
it "rides in on" are all invalidated for other reasons. */