IBM Support

LI78298: COMPONENT KEYWORD NAME DOES NOT MATCH A COMPONENT OF THE DERIVED TYPE BASE_TYPE

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • The compiler incorrectly issues an error message for the
    following test case using the options mentioned below:
    
    $ cat test.f90
    module base_mod
    implicit none
    private
    
    !type :: base_type
    type, public :: base_type
         private
         character(len=20) :: name
       end type
    
      !public :: base_type
    
       interface base_type
         module procedure constructor
       end interface
    
    contains
    
       type(base_type) function constructor(set_name) result(this)
         character(len=*), intent(in) :: set_name
         this%name = trim(set_name)
       end function
    
    end module base_mod
    
    !-------------------------------------------------------------
    ! Top-level program.
    !-------------------------------------------------------------
    
    program test
    use base_mod, only: base_type
    implicit none
    
    type(base_type) :: my_base
    
    my_base = base_type(set_name='fish')
    
    end program test
    $
    
    
    $ xlf90 -c test.f90
    ** base_mod   === End of Compilation 1 ===
    "test.f90", line 36.21: 1514-560 (S) The component
    keyword set_name does not match a component of the derived type
    base_type.
    ** test   === End of Compilation 2 ===
    1501-511  Compilation failed for file test.f90.
    $
    

Local fix

  • N/A
    

Problem summary

  • USERS AFFECTED:
    Users who use generic interfaces as the user defined structure
    constructor and have the access spec attribute on the derived
    type declaration statement rather than using a PRIVATE or
    PUBLIC statement are affected by this issue.
    The access spec applies to the derived type definition only at
    the moment when it should also applies to the generic name.
    
    
    PROBLEM DESCRIPTION:
    The compiler does not set the same access spec for the same
    identifier if the access spec appears as an attribute in the
    derived type declaration statement.
    

Problem conclusion

  • The compiler has been fixed such that the access spec should
    apply to the identifier rather than the entity.
    

Temporary fix

Comments

APAR Information

  • APAR number

    LI78298

  • Reported component name

    XL FORTRAN FOR

  • Reported component ID

    5799AH100

  • Reported release

    E10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2014-11-18

  • Closed date

    2014-11-18

  • Last modified date

    2014-11-18

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

    IV66227

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

Fix information

  • Fixed component name

    XL FORTRAN FOR

  • Fixed component ID

    5799AH100

Applicable component levels

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SS2MB5","label":"XL Fortran for Blue Gene\/Q"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"ALL VERSIONS","Edition":"","Line of Business":{"code":"LOB57","label":"Power"}}]

Document Information

Modified date:
18 November 2014