IBM Support

LI77787: OPTIMIZATION PROBLEM ACCESSING VOLATILE FIELD

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • When compiling a large test case that uses sync() with
    optimization, the optimizer incorrectly removes a necessary load
    after the sync() instruction. This incorrect removal of the load
    instruction causes incorrect output at runtime.
    

Local fix

  • Instead of referencing the problematic variable directly; an
    accessor method can be created to access the variable as a
    workaround.
    

Problem summary

  • USERS AFFECTED:
    Users who use have a large test case and make use of the sync()
    function maybe affected by this issue.
    
    PROBLEM DESCRIPTION:
    A problem with optimization(errata) was causing an incorrect
    removal of some aliasing information which caused an incorrect
    behaviour at runtime.
    

Problem conclusion

  • The compiler has been fixed to properly keep the aliasing
    information so that the error does not occur at runtime.
    

Temporary fix

Comments

APAR Information

  • APAR number

    LI77787

  • Reported component name

    XL C/C++ RHEL52

  • Reported component ID

    5724U8310

  • Reported release

    A10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2014-01-15

  • Closed date

    2014-01-15

  • Last modified date

    2014-01-15

  • APAR is sysrouted FROM one or more of the following:

    IV44421

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    XL C/C++ RHEL52

  • Fixed component ID

    5724U8310

Applicable component levels



Document information

More support for: XL C/C++

Software version: A.1

Reference #: LI77787

Modified date: 15 January 2014