Procedure Pointers: a first patch

Janus Weil jaydub66@googlemail.com
Fri May 9 17:20:00 GMT 2008


2008/5/9 Janus Weil <jaydub66@googlemail.com>:
> This new patch at least passes the gimplification, but then something
> goes wrong somewhere inside cgraph_finalize_function. The error
> message is:
>
> procptr.f90:20: internal compiler error: in make_decl_rtl, at varasm.c:1297
>
> which means the following assertion fails:
>
>  /* A weak alias has TREE_PUBLIC set but not the other bits.  */
>  gcc_assert (TREE_CODE (decl) != VAR_DECL
>              || TREE_STATIC (decl)
>              || TREE_PUBLIC (decl)
>              || DECL_EXTERNAL (decl)
>              || DECL_REGISTER (decl));
>
> I'm not quite sure what this does or why it fails, but I guess
> make_decl_rtl is only called with either VAR_DECL or FUNCTION_DECL. So
> this assert must be failing on a FUNCTION_DECL, right?

Sorry, apparently I completely misread the statement. Of course it
fails on a VAR_DECL, to be precise on the "ptr" symbol.



More information about the Fortran mailing list