http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54884



Tobias Burnus <burnus at gcc dot gnu.org> changed:



           What    |Removed                     |Added

----------------------------------------------------------------------------

                 CC|                            |burnus at gcc dot gnu.org



--- Comment #2 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-10-10 
07:42:10 UTC ---

There is the following code in resolve.c's resolve_variable:



  if (specification_expr && sym->attr.access == ACCESS_PRIVATE

      && !sym->attr.function && !sym->attr.use_assoc

      && gfc_current_ns->proc_name && gfc_current_ns->proc_name->attr.function)

    sym->attr.public_used = 1;



I don't have a GCC 4.8 build at hand, but I think the issue is that

  sym->attr.access == ACCESS_PRIVATE

is false. I assume that sym->attr.access == ACCESS_UNKNOWN; one probably needs

to check instead:

          && (sym->ns->default_access == ACCESS_PRIVATE

              || (sym->ns->default_access == ACCESS_UNKNOWN

                  && gfc_option.flag_module_private)))



 * * *



(In reply to comment #1)

> Duplicate of pr54221 (see comment #5)?



Duplicate of PR54221: No, that's a completely separate issue.

Duplicate of PR54221 comment 5: Well, it links to the Andrew's bug-reporting

email, hence, it is a duplicate.

Reply via email to