IBM Support

IJ49445: __BUILTIN_EXPECT WITH OPT CAUSING MEMBER VALUES TO NOT BE UPDATED

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

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