IBM Support

PM23063: Types declared in Interfaces get declared below a vtable code,

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Rhapsody allows Types to be created inside of an Interface
    class.   This
    Type will then likely be used in one of Interface's operations
    as a Return
    Type or an Argument.  The problem is that Rhapsody in C code
    generator
    places
    tables at the very top of a .h file, and only then declares
    Types.   Types
    are referenced in a Vtable before they are declared, resulting
    in compiler
    errors.   According to the customer, Rhapsody in C should always
    generate
    Vtable struct code so that it's at the very bottom of a header
    file.
    
    Please see a small attached Rhapsody model that reproduces the
    problem.
    Here's an example of the code generated :
    
    
    typedef struct IDisplay_Vtbl {
       size_t IDisplay_offset;
       IDisplay_MyDispIFType* (*IDisplay_Operation_0)(void * const
    void_me);
       void (*IDisplay_Operation_1)(void * const void_me);
    } IDisplay_Vtbl;
    /*#]*/
    
    /*## package InterfacePkg */
    
    /*## class IDisplay */
    typedef struct IDisplay IDisplay;
    /*## type MyDispIFType */
    typedef int IDisplay_MyDispIFType;
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    Types declared in Interfaces get declared below a vtable
    code,
    

Problem conclusion

  • Fixed in 7.5.3
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM23063

  • Reported component name

    TLOGIC RHAPSODY

  • Reported component ID

    5724V74RP

  • Reported release

    752

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2010-09-22

  • Closed date

    2010-12-18

  • Last modified date

    2010-12-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

    TLOGIC RHAPSODY

  • Fixed component ID

    5724V74RP

Applicable component levels

  • R752 PSN

       UP

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SS7P9W","label":"Rational Rhapsody"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.5.2","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Document Information

Modified date:
18 December 2010