Fixes are available
May 2013 PTF for XL Fortran for AIX, V13.1
XL Fortran for AIX Fix Pack 15 (August 2013 PTF) for 13.1
XL Fortran for AIX Fix Pack 16 (November 2013 PTF) for 13.1
XL Fortran for AIX Fix Pack 17 (February 2014 PTF) for 13.1
XL Fortran for AIX Fix Pack 21 (April 2015 PTF) for 13.1
XL Fortran for AIX Fix Pack 22 (September 2015 PTF) for 13.1
XL Fortran for AIX Fix Pack 23 (March 2016 PTF) for 13.1
XL Fortran for AIX Fix Pack 24 (September 2016 PTF) for 13.1
APAR status
Closed as program error.
Error description
The following test case gives out incorrect output if compiled by xlf. xlf test.f90 module proc implicit none integer, parameter :: basis_length = 2 contains subroutine test(f) integer, intent(in) :: f(basis_length) print *, f end subroutine test end module proc program test_proc_pointers use proc implicit none abstract interface subroutine i_test(f) use proc, only: basis_length implicit none integer, intent(in) :: f(basis_length) end subroutine i_test end interface procedure(i_test), pointer :: test_ptr integer, pointer :: y(:) allocate(y(basis_length)) test_ptr => test y = (/ 65535, 0 /) call test_ptr(y) !xlf gives incorrect result on this call deallocate(y) end program test_proc_pointers ===== ACTUAL OUTPUT: test 00000000000000000000000100010001 00010000000000010001111001000000 ===== EXPECTED OUTPUT: test 00000000000000001111111111111111 00000000000000000000000000000000
Local fix
Problem summary
PROBLEM DESCRIPTION: Users get wrong results when invoking a procedure pointer and passing pointer arrays to explicit shape dummy arguments USERS AFFECTED: Users who make indirect calls to procedures with explicit shape arrays and pass pointer arrays as actual argument
Problem conclusion
Compiler now avoids incorrect outlining of indirect procedure calls. Problem is fixed.
Temporary fix
Comments
APAR Information
APAR number
IV40215
Reported component name
XL FORTRAN FOR
Reported component ID
5724X1500
Reported release
D10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2013-04-19
Closed date
2013-04-19
Last modified date
2013-04-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 FOR
Fixed component ID
5724X1500
Applicable component levels
RD10 PSY U858571
UP C
[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGH4D","label":"XL Fortran for AIX"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"13.1","Edition":"","Line of Business":{"code":"LOB57","label":"Power"}}]
Document Information
Modified date:
23 April 2013