IBM Support

LI81325: IDENTIFIER CANNOT BE ACCESSED FROM MODULE ERROR

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • XL Fortran for Linux, V16.1, identifier y appeared in a USE
    statement but is not publicly accessible from the module.
    
    
    
    =====COMPILE COMMAND:
    
    xlf90_r -c test.F90
    ** test_module   === End of Compilation 1 ===
    "test.F90", line 28.7: 1513-119 (S) Identifier y appeared in a
    USE statement but is not publicly accessible from this module.
    ** test   === End of Compilation 2 ===
    1501-511  Compilation failed for file test.F90.
    
    
    ==========================================================
    
    ====TESTCASE:
    
    $ cat test.F90
    module test_module
    
    implicit none
    
    private
    
      public :: x
      public :: y
    
      type, public :: t
       contains
         final :: y
      end type t
    
    contains
    
    subroutine x(this)
        type(t), intent(inout) :: this
      end subroutine x
    
      impure elemental subroutine y(this)
        type(t), intent(inout) :: this
      end subroutine y
    
    end module test_module
    
    subroutine test()
      use test_module, only: y
    end subroutine test
    

Local fix

  • N/A
    

Problem summary

  • USERS AFFECTED:
    Users who use a module that contains a derived type definition
    that has a finalization routine may be affected in a
    very specific case depending on how the other module variables
    are declared and how the type definition and the finalization
    routine are used on the USE side.
    
    PROBLEM DESCRIPTION:
    When the compiler creates the module symbol file, it puts the
    finalization routine in a location that it wouldn't
    be accessible from the USE side if the type definition is not
    accessible in a
    very specific case that requires a particular order of declaring
    module variables and USE ONLY the finalization routine on the
    USE side.
    

Problem conclusion

  • The compiler has been fixed.
    

Temporary fix

Comments

APAR Information

  • APAR number

    LI81325

  • Reported component name

    XL FORTRAN LINU

  • Reported component ID

    5725C7510

  • Reported release

    G11

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2020-01-30

  • Closed date

    2020-03-11

  • Last modified date

    2020-03-11

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

    IJ24706

Fix information

  • Fixed component name

    XL FORTRAN LINU

  • Fixed component ID

    5725C7510

Applicable component levels

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSAT4T","label":"XL Fortran for Linux"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Line of Business":{"code":"LOB57","label":"Power"}}]

Document Information

Modified date:
01 May 2020