IBM Support

LI77645: INFINITE LOOP WITH -QSMP

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Compiling the following test case with -qsmp=omp will result in
    runtime application infinite loop for the do while statement.
    
    #include <stdio.h>
    int main ()
    { printf ("hello\n");
      unsigned char dividend = 0;
      do {
        printf ("dividend = %x\n", dividend);
      } while (++dividend);
      printf ("good bye\n");
      return 0;
    }
    
    xlc_r -qsmp=omp t.c
    
    ===== ACTUAL OUTPUT:
    Prints out dividend, iterating through the unsigned char hex
    values, non-stop and "good bye" is not printed out.
    .....
    dividend = fd
    dividend = fe
    dividend = ff
    .....
    
    ===== EXPECTED OUTPUT:
    .....
    dividend = fd
    dividend = fe
    dividend = ff
    good bye
    

Local fix

  • Use -qstrict_induction
    

Problem summary

  • PROBLEM DESCRIPTION: Integer overflow for loop induction
    variable causes incorrect output during loop normalization
    
    USERS AFFECTED: Users explicitly overflowing the loop induction
    variable at -O3, -qsmp, -qhot, -qpdf, or -qipa
    

Problem conclusion

  • Problem is fixed. Apply provided service.
    

Temporary fix

Comments

APAR Information

  • APAR number

    LI77645

  • Reported component name

    XL C/C++ FOR LI

  • Reported component ID

    5725C7300

  • Reported release

    C10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-10-28

  • Closed date

    2013-10-28

  • Last modified date

    2013-10-28

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

    IV37088

  • 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

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

Document Information

Modified date:
14 October 2021