IBM Support

LI76138: INCORRECT VALUE WITH -QNOFOLD

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • When compiling with the -qnofold option, the compiler is
    generating an incorrect constant value in the resulting object
    file.  The following test case demonstrates this:
    
    
       ===== TEST CASE =====
    
      1  void f(double x)
      2  {
      3   printf("%f\n", x);
      4  }
      5
      6  main()
      7  {
      8   f(0x7fffffffffffffffLL);
      9  }
     10
    
    $ xlc -qlist test.c
    
    $ cat test.lst | grep "8|"
        8| 000074 lfs      C03F0004   1     LFS
                          fp1=+CONSTANT_AREA(gr31,4)
    $ tail -2 test.lst
         |               Constant Area
         | 000000        25660A00 5F000000
    $ ./a.out
    9223372036854775808.000000
    
    $ xlc -qlist test.c -qnofold
    $ cat test.lst | grep "8|"
        8| 000074 lfs      C03F0004   1     LFS
                          fp1=+CONSTANT_AREA(gr31,4)
    $ tail -2 test.lst
         |               Constant Area
         | 000000        25660A00 BF800000   <===Incorrect Value
    $ ./a.out
    -1.000000
    

Local fix

  • Do not compile with -qnofold
    

Problem summary

  • PROBLEM DESCRIPTION:
    Incorrect result with -qnofold.
    
    USERS AFFECTED:
    Users of -qnofold.
    

Problem conclusion

  • The -qnofold option was corrected.
    

Temporary fix

Comments

APAR Information

  • APAR number

    LI76138

  • Reported component name

    XL C/C++ FOR LI

  • Reported component ID

    5724X1400

  • Reported release

    B10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2011-04-27

  • Closed date

    2011-04-27

  • Last modified date

    2011-04-27

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

    IZ92928

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

Fix information

  • Fixed component name

    XL C/C++ FOR LI

  • Fixed component ID

    5724X1400

Applicable component levels

[{"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":"B10","Line of Business":{"code":"LOB57","label":"Power"}}]

Document Information

Modified date:
17 October 2021