IBM Support

PM01376: MISSING PROTOTYPES FOR BIT MANIPULATION AWIS IN LEAWI.H RESULT IN COMPILER MESSAGES BEING ISSUED

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as fixed if next.

Error description

  • C++ compiles for a sample program using CEESISET result in the
    following messages being issued and the compile fails. The
    compilation works if c89 or cc is used
    
    CCN5274 (S) The name lookup for "CEESISET" did not find a
                declaration.
    CCN0793(I) Compilation failed for file ./testsiset.C.  Object
               file not created.
    FSUM3065 The COMPILE step ended with return code 12.
    FSUM3017 Could not compile testsiset.C. Correct the errors and
             try again.
    
    The leawi.h header is missing the prototypes for bit
    manipulation functions leading up to the messages being issued
    

Local fix

  • Use the following in a header file and include it in the
    program to avoid the compiler messages
    -
    #ifdef __cplusplus
    extern "C" {
    #endif
    
    #pragma map(CEESITST,"CEESITST")
    void CEESITST( _INT4 *, _INT4 *, _FEEDBACK *, _INT4 *);
    
    #ifdef __cplusplus
    }
    #endif
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED: Applications that do not declare their       *
    *                 own prototypes for the following bit         *
    *                 manipulation functions when compiled         *
    *                 as C++ or strict C99 programs:               *
    *                                                              *
    *                 CEESICLR                                     *
    *                 CEESISET                                     *
    *                 CEESISHF                                     *
    *                 CEESITST                                     *
    ****************************************************************
    * PROBLEM DESCRIPTION: The C++ (and strict C99) compiler       *
    *                      require explicit function               *
    *                      declarations.  The bit manipulation     *
    *                      AWIs (CEESICLR, CEESISET, CEESISHF,     *
    *                      and CEESITST) are not prototyped in     *
    *                      the leawi.h header.  If users call      *
    *                      these functions without adding their    *
    *                      own prototype, the C++ (or strict C99)  *
    *                      compilers will emit an error message.   *
    *                                                              *
    *                      For example, the C++ compiler will      *
    *                      generate the following message if a     *
    *                      source program uses CEESISET without    *
    *                      declaring it first:                     *
    *                                                              *
    *                      CCN5274 (S) The name lookup for         *
    *                      "CEESISET" did not find a declaration.  *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    See Problem Description.
    

Problem conclusion

Temporary fix

  • As a temporary solution, users can create their own
    prototypes and declare them prior to calling one of the
    bit manipulation functions.
    
    The following code is an example of how to declare the
    bit manipulation AWIs.  The _INT4 type and _FEEDBACK
    structure are declared in the leawi.h header, which
    must be included prior to the declarations below.  If
    the following declarations are added to a header,
    include it after leawi.h and prior to any reference to
    these APIs.
    
    
    #ifdef __cplusplus
    extern "C" {
    #endif
    
    #pragma map(CEESICLR,"CEESICLR")
    #pragma map(CEESISET,"CEESISET")
    #pragma map(CEESISHF,"CEESISHF")
    #pragma map(CEESITST,"CEESITST")
    
    void CEESICLR( _INT4 *, _INT4 *, _FEEDBACK *, _INT4 *);
    void CEESISET( _INT4 *, _INT4 *, _FEEDBACK *, _INT4 *);
    void CEESISHF( _INT4 *, _INT4 *, _FEEDBACK *, _INT4 *);
    void CEESITST( _INT4 *, _INT4 *, _FEEDBACK *, _INT4 *);
    
    #ifdef __cplusplus
    }
    #endif
    

Comments

  • This APAR is being closed FIN with concurrence from the
    submitting customer. This means that a fix to this APAR is
    expected to be delivered from IBM in a release (if any) to be
    available within the next 24 months.
    

APAR Information

  • APAR number

    PM01376

  • Reported component name

    LE C LIBRARY

  • Reported component ID

    568819805

  • Reported release

    740

  • Status

    CLOSED FIN

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2009-11-16

  • Closed date

    2009-12-17

  • Last modified date

    2009-12-23

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

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

Fix information

Applicable component levels

  • R740 PSN

       UP

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCVSBD","label":"Runtime"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"740","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":"BU054","label":"Systems w\/TPS"},"Product":{"code":"SG19M","label":"APARs - z\/OS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"740","Edition":"","Line of Business":{"code":"","label":""}},{"Business Unit":{"code":null,"label":null},"Product":{"code":"SG19O","label":"APARs - MVS environment"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"740","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
23 December 2009