[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