Fixes are available
XL C/C++ for Linux Fix Pack 8 (October 2015 Update) for 12.1
XL C/C++ for Linux Fix Pack 4 (October 2013 Update) for 12.1
XL C/C++ for Linux Fix Pack 5 (December 2013 Update) for 12.1
XL C/C++ for Linux Fix Pack 6 (February 2014 Update) for 12.1
XL C/C++ for Linux Fix Pack 7 (May 2014 Update) for 12.1
APAR status
Closed as program error.
Error description
A program compiled with -qpdf=level=2 crashes at runtime. An error is identified in the compiler high level optimizer component.
Local fix
Change the source code From: bool node_has_local_access = false; for (size_t k=0; !node_has_local_access && k<nodeName.size(); k++) { if (pNode->node_.UnodeName().isEqualCI(nodeName[k]) || pNode->node_.UfastName().isEqualCI(nodeName[k])) node_has_local_access = true; } To bool node_has_local_access = false; for (size_t k=0; !node_has_local_access && k<nodeName.size(); k++) { if (pNode->node_.UnodeName().isEqualCI(nodeName[k])) node_has_local_access = true; if (pNode->node_.UfastName().isEqualCI(nodeName[k])) node_has_local_access = true; }
Problem summary
PROBLEM DESCRIPTION: Loop break incorrectly changes code flow exposed by -qpdf=level=2. USERS AFFECTED: C++ Program that compiles with -qpdf=level=2 with the following loop form. bool condition = false; for (i=0; !condition && i<n; i++) { if ( call1() || call2() ) { condition=true; } } where both call1 and call2 return C++ objects by value.
Problem conclusion
The transformation causing the problem has been fixed.
Temporary fix
Comments
APAR Information
APAR number
LI77648
Reported component name
XL C/C++ FOR LI
Reported component ID
5725C7300
Reported release
C10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2013-10-28
Closed date
2013-10-28
Last modified date
2013-10-28
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/C++ FOR LI
Fixed component ID
5725C7300
Applicable component levels
RC10 PSN IV38509
UP06/09/13
[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSXVZZ","label":"XL C\/C++ for Linux"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"12.1","Line of Business":{"code":"LOB57","label":"Power"}}]
Document Information
Modified date:
14 October 2021