[omniORB] intermodule inheritance failure
Renzo Tomaselli
renzo.tomaselli@tecnotp.it
Wed, 20 Jun 2001 17:05:20 +0200
Hi,
I'm porting a fairly large environment from OmniORB 2.8 to 3.03 under NT
4.0, MSVC 6.0.
OmniORB binaries are those straight out of the box, while my IDL code is
generated automatically by Rational Rose.
I found a back-end problem when inheritance is used across modules, such as:
// file common.idl
module Common {
interface TopObject {};
};
// file DynLoader.idl
#include "Common.idl"
module DynLoader {
typedef Common::TopObject TopObject;
interface Loader : DynLoader::TopObject {};
};
After running omniidl, we have in DynLoader.hh:
...
typedef Common::_objref_TopObject _objref_TopObject;
class _objref_Loader : public virtual _objref_TopObject
...
and in DynLoaderSK.cc:
...
DynLoader::_objref_Loader::_objref_Loader(...) :
_DynLoader__objref_TopObject(...)
...
which MSVC refuses to compile, because '_DynLoader__objref_TopObject' is not
a base or member.
Thanks,
Renzo Tomaselli
---------------------------------------------------------------------------
TecnoTP s.n.c. Special Information System Design
Maso Pelauchi I38050 Ronchi Valsugana, Trento TN ITALY
Tel. +39 0461 773164 Fax. +39 0461 771514
e-mail: renzo.tomaselli@tecnotp.it
---------------------------------------------------------------------------