IBM Support

IJ25666: ERROR WITH STRFTIME_L DECLARATION

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • Starting with AIX 7.2 TL4, the strftime_l() function is now
    included in the standard time.h header file and the AIX C
    runtime library.
    
    Prior to this, the XL C/C++ compiler provided it's declaration
    as a static inline function via the xlocale.h header file
    packaged with the compiler.  The xlocale.h declaration is no
    longer needed, and produces the following error when compiled on
    AIX 7.2 TL4 or higher:
    
    
    $ xlclang++ test.cpp
    In file included from test.cpp:1:
    In file included from locale:182:
    In file included from __locale:25:
    
    xlocale.h:375:8: error:
          static declaration of 'strftime_l' follows non-static
    declaration
    size_t strftime_l(char *__s, size_t __size, const char *__fmt,
           ^
    ./time.h:318:23: note: previous declaration is here
      extern size_t       strftime_l(char *__restrict__, size_t,
    const char *__restrict__...
                          ^
    1 error generated.
    Error while processing test.cpp.
    $
    

Local fix

  • Manually edit out the xlocale.h declaration
    

Problem summary

  • PROBLEM DESCRIPTION:
    Conflicting declarations of strftime_l() function causing
    compile time error.
    
    USERS AFFECTED:
    Users #including locale aware header files.
    

Problem conclusion

  • An OS protection macro was added to xlocale.h to prevent the
    inclusion of the static inline declaration of the function.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IJ25666

  • Reported component name

    XL C/C++ FOR AI

  • Reported component ID

    5725C7200

  • Reported release

    G10

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2020-06-18

  • Closed date

    2020-06-18

  • Last modified date

    2020-06-18

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

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

Fix information

  • Fixed component name

    XL C/C++ FOR AI

  • Fixed component ID

    5725C7200

Applicable component levels

[{"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SSGH3R","label":"XL C\/C++ for AIX"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"G10","Line of Business":{"code":"LOB57","label":"Power"}}]

Document Information

Modified date:
19 June 2020