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