IBM Support

PI43511: OMREGISTER_REACTIVE_CLASS INCORRECTLY FORMED.

A fix is available

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Receive an error during code compilation. Making a random change
    to the model will appear to resolve the issue. Cannot always get
    that to work though.
    
    This is caused by:
    OMREGISTER_REACTIVE_CLASS(FunctionalAnalysisPkg_AdaptiveCCPkg)
    
    which is at the end of the AdaptiveCC.cpp
    
    Running the pre-processor to expand this macro, gave the
    following:
    myReal(userClassPtr)
    {AOMSchedDispatcher::instance()->registerAOMInstance(myReal,
    (AOMInstance*)this);} (FunctionalAnalysisPkg_AdaptiveCCPkg)
    
    
    It is a defect in framework macros. They should contain
    parameter even though it is not used in one case:
    
    #ifdef OM_WITH_CLEANUP
    #define OMREGISTER_CLASS_CALL(Package) \
    OMREGISTER_CLASS(Package)
    #define OMREGISTER_REACTIVE_CLASS(Package) \
    OMREGISTER_CLASS(Package)
    #define OMREGISTER_CLASS(Package) \
    myReal(userClassPtr) \
    { \
    extern AOMPackage* aomGetP##Package##Globals(); \
    aomGetP##Package##Globals(); \
    staticGetClass(); \
    AOMSchedDispatcher::instance()->registerAOMInstance(myReal,
    (AOMInstance*)this); \
    }
    #else
    #define OMREGISTER_CLASS_CALL(Package) \
    OMREGISTER_CLASS(Package)
    #define OMREGISTER_REACTIVE_CLASS(Package) \
    OMREGISTER_CLASS(Package)
    #define OMREGISTER_CLASS(Package) \
    myReal(userClassPtr) \
    {AOMSchedDispatcher::instance()->registerAOMInstance(myReal,
    (AOMInstance*)this);}
    #endif
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    * Rhapsody 8.1.2.1                                             *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    * OMREGISTER_REACTIVE_CLASS INCORRECTLY FORMED.                *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    

Problem conclusion

  • Fixed in 8.1.4 - OMREGISTER_REACTIVE_CLASS is always generated
    with argument if scope contains Simulink block.
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI43511

  • Reported component name

    TLOGIC RHAPSODY

  • Reported component ID

    5724V74RP

  • Reported release

    812

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2015-06-22

  • Closed date

    2015-12-16

  • Last modified date

    2015-12-16

  • 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

  • R812 PSY

       UP

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SS7P9W","label":"Rational Rhapsody"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.1.2","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
16 December 2015