optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by ENCODE_SECTION_INFO...

* optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
        ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.

From-SVN: r45737
This commit is contained in:
Richard Henderson 2001-09-21 13:42:14 -07:00 committed by Richard Henderson
parent 9defc9b7ac
commit ee1315aa92
2 changed files with 15 additions and 2 deletions

View File

@ -1,3 +1,8 @@
2001-09-21 Richard Henderson <rth@redhat.com>
* optabs.c (init_one_libfunc): Gen a FUNCTION_DECL for use by
ENCODE_SECTION_INFO; get SYMBOL_REF from make_decl_rtl.
2001-09-21 Richard Henderson <rth@redhat.com>
* rtl.h (LCT_RETURNS_TWICE): New.

View File

@ -4687,9 +4687,17 @@ rtx
init_one_libfunc (name)
register const char *name;
{
name = ggc_strdup (name);
/* Create a FUNCTION_DECL that can be passed to ENCODE_SECTION_INFO. */
/* ??? We don't have any type information except for this is
a function. See if error_mark_node is good enough. */
tree decl = build_decl (FUNCTION_DECL, get_identifier (name),
error_mark_node);
DECL_ARTIFICIAL (decl) = 1;
DECL_EXTERNAL (decl) = 1;
TREE_PUBLIC (decl) = 1;
return gen_rtx_SYMBOL_REF (Pmode, name);
/* Return the symbol_ref from the mem rtx. */
return XEXP (DECL_RTL (decl), 0);
}
/* Mark ARG (which is really an OPTAB *) for GC. */