[omniORB] omniORB 4.0.3 c++ code generation error

Jeremy Van Grinsven jeremvan at rocketmail.com
Fri Oct 8 14:57:24 BST 2004


In omniORB 4.0.3 there is a bug in the omniidl generated c++ code for
typedefs of sequences that are forward declared.  Without the forward
declared struct the generated code is correct.

module test
{
    struct Parameter;
    typedef sequence<Parameter> ParameterList;

    struct Parameter
    {
        string key;
    };

    typedef ParameterList TypedefOfParameterList;
};

The example idl generates sequence code for TypedefOfParameterList but
only typedefs in the header.  I believe this generated code is in error
and the header is correct with only typedefs and no class signature. 
There is a patch attached to fix this along with an example .idl file that
demonstrates the problem.  This was tested on solaris 8 using sun workshop
compiler.

This patch conflicts a union patch in 4.0.4.  I have not been able to test
with 4.0.4 but I believe this this is still an issue in 4.0.4 after
looking at the new code and what was changed between 4.0.3 and 4.0.4.

Jeremy Van Grinsven
-------------- next part --------------
A non-text attachment was scrubbed...
Name: omniORB-4.0.3-typedef_sequence.patch
Type: application/octet-stream
Size: 556 bytes
Desc: not available
Url : http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20041008/8ae5dfb3/omniORB-4.0.3-typedef_sequence.obj
-------------- next part --------------
A non-text attachment was scrubbed...
Name: omniORB-4.0.3-typedef_sequence_example.idl
Type: application/octet-stream
Size: 207 bytes
Desc: not available
Url : http://www.omniorb-support.com/pipermail/omniorb-list/attachments/20041008/8ae5dfb3/omniORB-4.0.3-typedef_sequence_example.obj


More information about the omniORB-list mailing list