Bug 613

Summary: IDL compiler generates inconsistent variable names
Product: TAO Reporter: Joachim Achtzehnter <joachima>
Component: IDL CompilerAssignee: Jeff Parsons <parsons>
Status: RESOLVED ---    
Severity: major CC: davidh
Priority: P3    
Version: 1.1   
Hardware: x86   
OS: Windows NT   

Description Joachim Achtzehnter 2000-07-12 19:29:07 CDT
Compile the following IDL file using   tao_idl -Ge 0 foo.idl   (same also happens with -Ge 1):

  module foo {
     typedef sequence<string> strings;
     interface bar {
        string method(out strings moreStrings);
     };
  };

This generates the following inconsistent variable names in fooC.cpp:

  char * foo::bar::method (
      foo::strings_out moreStrings
    )
    ACE_THROW_SPEC ((
      CORBA::SystemException
    ))
  {
    ACE_DECLARE_NEW_CORBA_ENV;
    CORBA::String_var _tao_safe_retval;

    TAO_Stub *istub = this->_stubobj ();
    if (istub == 0)
      ACE_THROW_RETURN (CORBA::INTERNAL (), 0);
  
    ACE_NEW_RETURN (moreStrings.ptr (), foo::strings, _tao_retval);

When compiling, one gets this: error C2065: '_tao_retval' : undeclared identifier
Comment 1 Jeff Parsons 2000-07-20 11:09:02 CDT
This was fixed before this entry was made.