[omniORB] in/out string arguments have wrong signature in tie

David Scott djs@uk.research.att.com
Tue, 17 Oct 2000 12:09:44 +0100 (BST)


Thanks for the bug report!

You're absolutely right-- there was a silly bug in the tie-template
generation code in the C++ backend.

It's been (hopefully) fixed now in CVS...

On Fri, 13 Oct 2000, Chris Newbold wrote:

> Consider the following IDL:
> 
> 	module foo {
> 
> 	    interface bar {
> 
> 		void op1(inout string stuff);
> 
> 	    };
> 
> 	};
> 
> When compiled with the 3.0.2 (or 3.0.0) IDL compiler, an
> object reference class is generated with the following
> signature for op1:
> 
> 	void op1(CORBA::String_INOUT_arg stuff);
> 
> And the implementation base has the following signature:
> 
> 	virtual void op1(char*& stuff) = 0;
> 
> However, the generated POA tie class for bar (which derives
> from the implementation base) uses the object reference
> signature:
> 
> 	void op1(CORBA::String_INOUT_arg stuff);
> 
> The resulting code does not compile, since the pure virtual
> in the implementation base was never defined.
> 
> -Chris Newbold
> Laurel Networks, Inc.
> 
> 

-- 
Dave Scott