IBM Support

LI78455: INFINITE LOOP IN XLCENTRY WITH CONST QUALIFIED TEMPLATE TYPE

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • An infinite loop is seen in the C++ front end xlCentry component
    of the compiler when a const qualified template type is used:
    
    
        === TEST CASE ===
    
    class Test {};
    
    template <class T>
    struct MyStruct {
        typedef void (T::*CallType)()const;
    };
    
    int main() {
    
        //MyStruct<Test>::CallType t;        // Works
        MyStruct<const Test>::CallType t;    // Infinite loop
        return 0;
    }
    

Local fix

  • Remove const qualifier.
    

Problem summary

  • PROBLEM DESCRIPTION:
    Infinite loop caused by typedef const template definition.
    
    USERS AFFECTED:
    Users with typedef'd templates which have CV qualifiers.
    

Problem conclusion

  • An index variable that was not being updated was corrected, and
    users can now use CV qualifiers on typedef'd templates.
    

Temporary fix

Comments

APAR Information

  • APAR number

    LI78455

  • 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:

    IV62158

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

Document Information

Modified date:
17 October 2021