IBM Support

PM85712: Wrong code generation on using the property (Ada.Configuration.ContainerSet) with RiA

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • abstract:
    On use of Ada Containers for Qualified Associations with
    property(Ada.Configuration.ContainerSet) results in wrong code
    error_description:
     Using Rhapsody 8.0.1 and changing the property
    Ada.Configuration.ContainerSet from Default to Ada2005.
    Containers for class using a qualified associated where an
    instance of the class owning the source of association (i.e. the
    one with the collection) and the composite class also contained
    an instance of a statechart based class and an instance of a
    class stereotyped ??AdaTaskType??. Observed that the
    auto-generated code for the operations Terminate_Behaviour and
    Finalize was not generated. The operations themselves existed;
    they just did not have any code statements inside them.
    
    Fragments of example model demonstrating problem:
    Basic Class Diagram attached
    figure1.jpg)
    
    
    Composite Class diagram attached
    (figure2.jpg)
    
    
    Problem areas of Code Generated for Main_Unit.adb:
    
    With Ada_CG.Configuration.ContainerSet left at Default
    in Main_Unit.adb for Terminate_Behavior and Finalize get:
    
      procedure Terminate_Behavior (this : access Main_Unit_t) is
      begin
    
    Target_Processor.terminate_behavior(this.itsTarget_Processor);
      end Terminate_Behavior;
    
    ?
    
      procedure Finalize (this : in out Main_Unit_t) is
      begin
        Event_Generator.Finalize(this.itsEvent_Generator.all);
    
      end Finalize;
    
    With Ada_CG.Configuration.ContainerSet set to Ada2005Containers
    in Main_Unit.adb for Terminate_Behavior and Finalize get:
    
      procedure Terminate_Behavior (this : access Main_Unit_t) is
      begin
      end Terminate_Behavior;
    
    ?
    
      procedure Finalize (this : in out Main_Unit_t) is
      begin
      end Finalize;
    
    Here the code which will not compile.
    
    workaround:
     NA
    

Local fix

Problem summary

  • The autogenerated code is generated correctly
    

Problem conclusion

  • Fixed in 8.0.4
    

Temporary fix

Comments

APAR Information

  • APAR number

    PM85712

  • Reported component name

    TLOGIC RHAPSODY

  • Reported component ID

    5724V74RP

  • Reported release

    801

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2013-03-27

  • Closed date

    2013-10-30

  • Last modified date

    2013-10-30

  • 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

  • R804 PSY

       UP



Document information

More support for: Rational Rhapsody

Software version: 8.0.1

Reference #: PM85712

Modified date: 30 October 2013