APAR status
Closed as program error.
Error description
When using the __builtin_expect built-in function with optimization enabled, code motion and inlining is causing a subsequent C++ object member assignment to not be updated, resulting in an older value remaining in the member variable.
Local fix
- Lower optimization level - Avoid usage of __builtin_expect in the failing code scenario
Problem summary
USERS AFFECTED: Users who have testcases that that make use of __builtin_expect and who compile with -O3 may be affected by this issue. PROBLEM DESCRIPTION: The compiler had a bug in its aliasing algorithm that was causing incorrect aliasing instructions for __builtin_expect code.
Problem conclusion
The compiler backend has been fixed to handle the above scenario.
Temporary fix
Comments
APAR Information
APAR number
IJ49445
Reported component name
XL C/C++ FOR AI
Reported component ID
5725C7200
Reported release
G10
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2023-12-05
Closed date
2024-02-13
Last modified date
2024-02-13
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 AI
Fixed component ID
5725C7200
Applicable component levels
[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGH3R","label":"XL C\/C++ for AIX"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"G10","Line of Business":{"code":"LOB57","label":"Power"}}]
Document Information
Modified date:
13 February 2024