IBM Support

PM81096: Rhapsody CG generates the include statements in reverted order

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as Permanent restriction.

Error description

  • Headline:
    Rhapsody CG generates the include statements in reverted order
    
    
    
    APAR Error Description:
    Rhapsody Test conductor Test case execution progress window
    shows unexpected behaviour because of wrong Include order
    generated by Rhapsody CG.
    
    
    Problem:
    In the attached model, Rhapsody CG generates the include
    statements in TCon_CResourceManager.cpp in reverted order. As
    you can see, property CPP_CG.Class.ImpIncludes is overridden
    with 'TestConductorControl.h, TestConductor.h', but in
    TCon_CResourceManager.cpp, you will find:
    
    //## auto generated
    #include 'TCon_CResourceManager.h'
    //## auto generated
    #include 'TestConductor.h'
    //## auto generated
    #include 'TestConductorControl.h'
    
    compare this with e.g.
    TC_at_portPublisher_of_CResourceManager.cpp. Here, the include
    order is correct.
    
    Now, the problem is, that TestConductorControl.h provides some
    #defines, that are crucial for the compilation of
    TestConductor.h .
    
    
    
    Attachments:
    68441,999,744.zip contains the sample model
    
    
    
    Local fix:
    
    As a workaround, you can override CPP_CG.Class.SpecIncludes with
    'TestConductorControl.h'.
    

Local fix

Problem summary

  • ****************************************************************
    * USERS AFFECTED:                                              *
    ****************************************************************
    * PROBLEM DESCRIPTION:                                         *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    Rhapsody CG generates the include statements in reverted
    order
    

Problem conclusion

  • The order of includes is determined by a source artifact.
    If you check porperty
    Browser::Settings::ShowSourceArtifacts, you can see that
    class TCon_CResourceManager contains source artifacts. The
    role of those file is excatly that - the determine the order
    of how elements are generated.
    
    If you open TCon_CResourceManager.cpp in the model you will
    see that the order requested is TestConductor before
    TestConductorControl - so this is the expected behavior.
    
    To resolve this , you can:
    1. change the order in the code and RT
    2. Change the order of inlcudes in the source artifact
    manually
    3. Delete the source artifact
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM81096

  • Reported component name

    TLOGIC RHAPSODY

  • Reported component ID

    5724V74RP

  • Reported release

    761

  • Status

    CLOSED PRS

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-01-22

  • Closed date

    2013-02-21

  • Last modified date

    2013-02-21

  • 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



Document information

More support for: Rational Rhapsody

Software version: 7.6.1

Reference #: PM81096

Modified date: 21 February 2013