Fixes are available
XL C/C++ for AIX Fix Pack 4 (June 2013 PTF) for 12.1
XL C/C++ for AIX Fix Pack 5 (September 2013 PTF) for 12.1
XL C/C++ for AIX Fix Pack 7 (January 2014 PTF) for 12.1
XL C for AIX Fix Pack 8 (March 2014 PTF) for 12.1
XL C/C++ for AIX Fix Pack 8 (March 2014 PTF) for 12.1
XL C/C++ for AIX Fix Pack 11 (February 2015 PTF) for 12.1
XL C for AIX Fix Pack 12 (May 2015 PTF) for 12.1
XL C/C++ for AIX Fix Pack 12 (May 2015 PTF) for 12.1
XL C/C++ for AIX Fix Pack 13 (August 2015 Update) for 12.1
XL C/C++ for AIX Fix Pack 14 (December 2015 Update) for 12.1
XL C for AIX Fix Pack 15 (April 2016 Update) for 12.1
XL C/C++ for AIX Fix Pack 15 (April 2016 Update) for 12.1
XL C for AIX Fix Pack 16 (July 2016 Update) for 12.1
XL C/C++ for AIX Fix Pack 16 (July 2016 Update) for 12.1
XL C/C++ for AIX Fix Pack 17 (November 2016 Update) for 12.1
XL C for AIX Fix Pack 17 (November 2016 Update) for 12.1
XL C for AIX Fix Pack 18 (February 2017 Update) for 12.1
XL C/C++ for AIX Fix Pack 18 (February 2017 Update) for 12.1
XL C for AIX Fix Pack 19 (August 2017 Update) for 12.1
XL C/C++ for AIX Fix Pack 19 (August 2017 Update) for 12.1
XL C for AIX Fix Pack 20 (March 2018 Update) for 12.1
XL C/C++ for AIX Fix Pack 20 (March 2018 Update) for 12.1
XL C for AIX Fix Pack 4 (June 2013 PTF) for 12.1
XL C for AIX Fix Pack 5 (September 2013 PTF) for 12.1
XL C for AIX Fix Pack 6 (December 2013 PTF) for 12.1
XL C/C++ for AIX Fix Pack 6 (December 2013 PTF) for 12.1
XL C for AIX Fix Pack 7 (January 2014 PTF) for 12.1
XL C for AIX Fix Pack 9 (July 2014 PTF) for 12.1
XL C/C++ for AIX Fix Pack 9 (July 2014 PTF) for 12.1
XL C for AIX Fix Pack 10 (October 2014 PTF) for 12.1
XL C/C++ for AIX Fix Pack 10 (October 2014 PTF) for 12.1
XL C for AIX Fix Pack 11 (February 2015 PTF) for 12.1
XL C for AIX Fix Pack 13 (August 2015 Update) for 12.1
XL C for AIX Fix Pack 14 (December 2015 Update) for 12.1
XL C/C++ for AIX Fix Pack 21 (January 2019 Update) for 12.1
XL C for AIX Fix Pack 21 (January 2019 Update) for 12.1
APAR status
Closed as program error.
Error description
The compiler abends when compiling the following source code at -O3. ===== COMPILE COMMAND: xlc_r -g -O5 -Q -qnoansialias -qmaxmem=-1 -qinlglue -q64 -qdfp -qhalt=s -qlanglvl=extc99:ucs -qchars=unsigned -qarch=pwr7 -qtune=pwr7 -c test.c ===== TESTCASE: $ cat test.C typedef unsigned uns; typedef uns bool; typedef unsigned long uint64_t; extern _Decimal128 strtod128(const char *, char **); typedef uint64_t BOUND; typedef __attribute__ ((aligned(16))) _Decimal128 apldecf128; static const apldecf128 DECF_ZERO = 0e0DL ; static bool chasebulge_apldecf128(apldecf128 *u, apldecf128 *s, apldecf128 *v, BOUND mini, BOUND maxui, BOUND maxvi, BOUND m, BOUND n, int it) { bool converged; bool recurseconverged=1; apldecf128 *w, *x; BOUND i; for (i=mini;i<maxui;i++) { *x++=(DECF_ZERO); decf_add(fabsd128(*(x)),fabsd128(*(x))); *w=(DECF_ZERO); } if (!chasebulge_apldecf128(0, 0, 0, 0, 0, 0, 0, 0, 0)) { int i = 0; } return recurseconverged&&converged; } static bool svdfactbackend_apldecf128(apldecf128 *u, apldecf128 *s, apldecf128 *v, BOUND m, BOUND n, void *space, BOUND *compact) { bool converge; converge = chasebulge_apldecf128(0, 0,0, 0, 0, 0, 0,0, 30); return converge; } void svdfactorization(bool compact) { BOUND m, n; svdfactbackend_apldecf128(0,0,0,m,n,0,0); } $ ===== ACTUAL OUTPUT: $ xlc_r -g -O5 -Q -qnoansialias -qmaxmem=-1 -qinlglue -q64 -qdfp -qhalt=s -qlanglvl=extc99:ucs -qchars=unsigned -qarch=pwr7 -qtune=pwr7 -c test.c 1500-004: (U) INTERNAL COMPILER ERROR while compiling svdfactorization. Compilation ended. Contact your Service Representative and provide the following information: Internal abort. For more information visit: http://www.ibm.com/support/docview.wss?uid=swg21110810 1586-346 (U) An error occurred during code generation. The code generation return code was 1. $ ===== EXPECTED OUTPUT: Compile clean without compiler abend.
Local fix
N/A
Problem summary
USERS AFFECTED: Users that compile source with DFP and has chances to optimize by IPRA (such as small recursive functions) may encounter this issue. PROBLEM DESCRIPTION: The compiler abend when compiling the test case with -O3.
Problem conclusion
The compiler has been fixed by adding the appropriate handling code for the abend.
Temporary fix
Comments
APAR Information
APAR number
IV37998
Reported component name
XL C/C++ FOR AI
Reported component ID
5725C7200
Reported release
C10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2013-03-13
Closed date
2013-06-17
Last modified date
2013-06-17
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 C FOR AIX
Fixed component ID
5725C7100
Applicable component levels
Document Information
Modified date:
03 October 2021