[omniORB] Re: problem compiling omniORB 3 on IRIX

David Riddoch djr@uk.research.att.com
Wed, 20 Oct 1999 18:10:11 +0100 (BST)


On Wed, 20 Oct 1999, James Riden wrote:

> I'm experiencing a problem with the MIPSpro 7.2.1 compiler on 
> IRIX 6.5  It seems to need fully (or more fully) qualified 
> names when invoking superclass constructors in an initializer
>  list.
> 
> For instance,  the following piece of code from include/omniORB3/
> userexception.h :
> 
> >#define OMNIORB_DECLARE_USER_EXCEPTION(name, attr)  \
> >  \
> >class name : public CORBA::UserException {  \
> >public:  \
> >  inline name() {  \
> >    pd_insertToAnyFn    = insertToAnyFn;  \
> >    pd_insertToAnyFnNCP = insertToAnyFnNCP;  \
> >  }  \
> >  inline name(const name& _ex) : CORBA::UserException(_ex) {}  \
>                                   ^^^^^^^
>                                inserted by me

The problem is I think MSVC will get upset if we do it that way.  And I
would have though that this ought to cause problems elsewhere in the code.
Let me know if you see other problems.


> now compiles OK.  (I'm assuming that the behaviour of the MIPSpro
> compiler is at variance with the standard, since everything else 
> compiles it OK.)
> 
> Also from Naming.hh, the following causes a compile error :
> 
> > class _objref_BindingIterator :
> >    public virtual CORBA::Object, public virtual omniObjRef
> >  {
> >  public:
> >    CORBA::Boolean next_one(Binding_out b);
> >    CORBA::Boolean next_n(CORBA::ULong how_many, BindingList_out bl);
> >    void destroy();
> >
> >    inline _objref_BindingIterator() : Object(0) {}  // nil
>                                         ^^^^^^^
> Now, I thought that was calling the ctor of CORBA::Object, but there
> doesn't seem to be one that takes a 0 as a parameter.  

Yes -- that got changed in a recent update.  It looks to me as though you
either need to re-compile the omniidl3 compiler, or regenerate Naming.hh,
NamingSK.cc and all the other generated files in the build.  I suggest you
do a CVS update and a clean build.


Cheers,
David