[Patch, Fortran] PR54884 - Fix TREE_PUBLIC()=0 regression for module procedures

Paul Richard Thomas paul.richard.thomas@gmail.com
Thu Oct 18 15:33:00 GMT 2012


Hi Tobias,

The patch to fortran/cpp.c looks like a very worthy bit of
housekeeping but doesn't seem to me to have much to do with PR54844
:-)

The rest is fine and is OK for trunk.

Thanks for the fix.

Paul

On 17 October 2012 12:02, Tobias Burnus <burnus@net-b.de> wrote:
> In GCC 4.8, module variables/procedures are marked as TREE_PUBLIC() if they
> are PRIVATE and not publicly visible used in PUBLIC procedures; the latter
> happens either via generic interfaces or via specification expressions. (The
> bug is old [early 4.8] but due to a recent follow up patch, the chance to
> run into this issue has increased.)
>
> This patch adds the public_use attribute logic (also) to resolve_function,
> before it was only in resolve_symbol.
>
> When doing so, I realized that it was also set for "other" as the
> specification_expr variable wasn't properly reset. I fixed that but I had
> also to add a few additional "specification_expr = true" as the current code
> only handled gfc_resolve_array_spec by chance.
>
> Build and regtested on x86-64-gnu-linux.
> OK for the trunk?
>
> Tobias



-- 
The knack of flying is learning how to throw yourself at the ground and miss.
       --Hitchhikers Guide to the Galaxy



More information about the Gcc-patches mailing list