IBM Support

LI81446: ASSOCIATE NAME IS NOT ASSOCIATED WITH AN ENTITY THAT CAN BE DEFINED 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

  • When comping the provided test case, the compiler issues the
    error messages listed in the 'actual output' section below.
    
    =====TestCase:
    ===== TESTCASE:
    $ cat Fluid_P_Kernel.f90
    module Fluid_P__Kernel
    
      implicit none
      private
    
      integer, parameter, public :: &
        KDI = kind ( 1 ), &
        KDR = kind ( 1.0d0 ), &
        KDL = kind ( .true. )
    
    contains
    
      subroutine ComputeCenterStatesKernel &
                     ( V_ICL, V_ICR, S_ICL, S_ICR, &
                       D_ICL, D_ICR, G_ICL, G_ICR, P_ICL, P_ICR, &
                       V_IL, V_IR, S_IL, S_IR, &
                       D_IL, D_IR, G_IL, G_IR, P_IL, P_IR, &
                       AP_I, AM_I, AC_I, M_DD_22, M_DD_33, iD )
    
        real ( KDR ), dimension ( :, : ), intent ( inout ) :: &
          V_ICL, V_ICR, &
          S_ICL, S_ICR
        real ( KDR ), dimension ( : ), intent ( inout ) :: &
          D_ICL, D_ICR, &
          G_ICL, G_ICR, &
          P_ICL, P_ICR
        real ( KDR ), dimension ( :, : ), intent ( in ) :: &
          V_IL, V_IR, &
          S_IL, S_IR
        real ( KDR ), dimension ( : ), intent ( in ) :: &
          D_IL, D_IR, &
          G_IL, G_IR, &
          P_IL, P_IR, &
          AP_I, &
          AM_I, &
          AC_I, &
          M_DD_22, M_DD_33
        integer ( KDI ), intent ( in ) :: &
          iD
    
        integer ( KDI ) :: &
          iV, &
          nValues
        real ( KDR ) :: &
          AM_VL, &
          AM_AC, &
          AM_AC_Inv, &
          AP_VR, &
          AP_AC, &
          AP_AC_Inv, &
          SqrtTiny
    
        nValues = size ( AC_I )
        SqrtTiny = sqrt ( tiny ( 0.0_KDR ) )
    
        associate &
          ( V_1_ICL   => V_ICL ( :, 1 ), &
            V_2_ICL   => V_ICL ( :, 2 ), &
            V_3_ICL   => V_ICL ( :, 3 ), &
            V_Dim_ICL => V_ICL ( :, iD ), &
            V_1_ICR   => V_ICR ( :, 1 ), &
            V_2_ICR   => V_ICR ( :, 2 ), &
            V_3_ICR   => V_ICR ( :, 3 ), &
            V_Dim_ICR => V_ICR ( :, iD ), &
            S_1_ICL   => S_ICL ( :, 1 ), &
            S_2_ICL   => S_ICL ( :, 2 ), &
            S_3_ICL   => S_ICL ( :, 3 ), &
            S_Dim_ICL => S_ICL ( :, iD ), &
            S_1_ICR   => S_ICR ( :, 1 ), &
            S_2_ICR   => S_ICR ( :, 2 ), &
            S_3_ICR   => S_ICR ( :, 3 ), &
            S_Dim_ICR => S_ICR ( :, iD ), &
            V_1_IL    => V_IL  ( :, 1 ), &
            V_2_IL    => V_IL  ( :, 2 ), &
            V_3_IL    => V_IL  ( :, 3 ), &
            V_Dim_IL  => V_IL  ( :, iD ), &
            V_1_IR    => V_IR  ( :, 1 ), &
            V_2_IR    => V_IR  ( :, 2 ), &
            V_3_IR    => V_IR  ( :, 3 ), &
            V_Dim_IR  => V_IR  ( :, iD ), &
            S_1_IL    => S_IL  ( :, 1 ), &
            S_2_IL    => S_IL  ( :, 2 ), &
            S_3_IL    => S_IL  ( :, 3 ), &
            S_Dim_IL  => S_IL  ( :, iD ), &
            S_1_IR    => S_IR  ( :, 1 ), &
            S_2_IR    => S_IR  ( :, 2 ), &
            S_3_IR    => S_IR  ( :, 3 ), &
            S_Dim_IR  => S_IR  ( :, iD ) )
    
        !$OMP  target teams distribute parallel do &
        !$OMP& schedule ( runtime ) private ( iV )
        do iV = 1, nValues
    
          V_1_ICL ( iV )  =  V_1_IL ( iV )
          V_1_ICR ( iV )  =  V_1_IR ( iV )
    
          V_2_ICL ( iV )  =  V_2_IL ( iV )
          V_2_ICR ( iV )  =  V_2_IR ( iV )
    
          V_3_ICL ( iV )  =  V_3_IL ( iV )
          V_3_ICR ( iV )  =  V_3_IR ( iV )
    
          V_Dim_ICL ( iV )  =  AC_I ( iV )
          V_Dim_ICR ( iV )  =  AC_I ( iV )
    
          AM_VL     =  AM_I ( iV )  +  V_Dim_IL ( iV )
          AM_AC     =  AM_I ( iV )  +  AC_I ( iV )
          AM_AC_Inv =  1.0_KDR &
                       / max ( abs ( AM_AC ), SqrtTiny )
    
          AP_VR     =  AP_I ( iV )  -  V_Dim_IR ( iV )
          AP_AC     =  AP_I ( iV )  -  AC_I ( iV )
          AP_AC_Inv =  1.0_KDR &
                       / max ( abs ( AP_AC ), SqrtTiny )
    
          D_ICL ( iV )  =  D_IL ( iV ) * AM_VL * AM_AC_Inv
          D_ICR ( iV )  =  D_IR ( iV ) * AP_VR * AP_AC_Inv
    
          S_1_ICL ( iV )  =  D_ICL ( iV )  *  V_1_ICL ( iV )
          S_1_ICR ( iV )  =  D_ICR ( iV )  *  V_1_ICR ( iV )
    
          S_2_ICL ( iV )  =  M_DD_22 ( iV )  *  D_ICL ( iV )  *
    V_2_ICL ( iV )
          S_2_ICR ( iV )  =  M_DD_22 ( iV )  *  D_ICR ( iV )  *
    V_2_ICR ( iV )
    
          S_3_ICL ( iV )  =  M_DD_33 ( iV )  *  D_ICL ( iV )  *
    V_3_ICL ( iV )
          S_3_ICR ( iV )  =  M_DD_33 ( iV )  *  D_ICR ( iV )  *
    V_3_ICR ( iV )
    
          P_ICL ( iV )  =  P_IL ( iV )  +  S_Dim_IL  ( iV ) * AM_VL
    &
                                        -  S_Dim_ICL ( iV ) * AM_AC
          P_ICR ( iV )  =  P_IR ( iV )  -  S_Dim_IR  ( iV ) * AP_VR
    &
                                        +  S_Dim_ICR ( iV ) * AP_AC
    
          G_ICL ( iV )  =  ( G_IL ( iV ) * AM_VL &
                             +  V_Dim_IL ( iV ) * P_IL ( iV ) &
                             -  AC_I ( iV ) * P_ICL ( iV ) ) &
                           * AM_AC_Inv
          G_ICR ( iV )  =  ( G_IR ( iV ) * AP_VR &
                             -  V_Dim_IR ( iV ) * P_IR ( iV ) &
                             +  AC_I ( iV ) * P_ICR ( iV ) ) &
                           * AP_AC_Inv
    
        end do !-- iV
        !$OMP end target teams distribute parallel do
    
        end associate
    
      end subroutine ComputeCenterStatesKernel
    
    
    end module Fluid_P__Kernel
    $
    
    
    ======Actual Output:
    xlf2008_r -c -qsmp=omp Fluid_P_Kernel.f90
    "Fluid_P_Kernel.f90", 1511-139 (S) Associate name v_dim_il is
    not associated with an entity that can be defined. v_dim_il must
    not be redefined or become undefined.
    .
    .
    ** fluid_p__kernel   === End of Compilation 1 ===
    1501-511  Compilation failed for file Fluid_P_Kernel.f90.
    $
    
    
    ======Expected Output:
    Should compile clean
    

Local fix

  • As a workaround, replace "intent ( in )" with "intent ( inout )"
     on line 27.
    

Problem summary

  • USERS AFFECTED:
    Users who have associate construct on device code that the
    associate name is associated with a non-definable selector
    maybe affected by this issue.
    
    PROBLEM DESCRIPTION:
    The compiler incorrectly diagnosis it as an error condition and
    issues an error message.
    

Problem conclusion

  • The issue has been fixed.
    

Temporary fix

Comments

APAR Information

  • APAR number

    LI81446

  • 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-06-17

  • Closed date

    2020-06-23

  • Last modified date

    2020-06-23

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

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

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"}],"Version":"G11","Line of Business":{"code":"LOB57","label":"Power"}}]

Document Information

Modified date:
14 December 2020