IBM Support

LI78476: AUTO INT TO DOUBLE CONVERT LOADING INCORRECT VALUE

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • When using optimization, an internal integer to float double
    conversion is causing values to be stored at one memory
    location, but loaded from another location in memory.
    
    For example, in the following listing output, integer 'test' is
    stored on the stack via gr1, but loaded later in the program
    using an offset of gr31:
    
    
    0| 00F608 std F88100B0 1 ST8 test(gr1,176)=gr4
    ...
    0| 0274CC lwa E89F80F2 1 L4A gr4=test(gr31,-32528)
    

Local fix

  • Use a lower optimization level.
    

Problem summary

  • USERS AFFECTED:
    Users that have automatic variables/parameters in their code
    may be affected by this issue.
    
    PROBLEM DESCRIPTION:
    At macro expansion time tje compiler has to know what automatic
    variables/parameters are accessible directly from the stack
    pointer and which ones may be too far away.
    There is a fairly small number of temps that might be used by
    macro expansion. The compiler was not taking those into
    account.
    

Problem conclusion

  • The compiler has been fixed to take into account the small
    number of temps that get generated.
    

Temporary fix

Comments

APAR Information

  • APAR number

    LI78476

  • Reported component name

    XL C/C++ FOR LI

  • Reported component ID

    5725C7300

  • Reported release

    D10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2015-02-25

  • Closed date

    2015-02-25

  • Last modified date

    2015-02-25

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

    IV68434

  • 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

  • RD10 PSY

       UP



Document information

More support for: XL C/C++ for Linux
Compiler

Software version: 13.1

Reference #: LI78476

Modified date: 25 February 2015