[omniORB] Another IDL compiler output problem for VC++ in recent snapshots

Carl Thompson cet@carlthompson.net
Mon, 05 Nov 2001 12:15:19 -0800


Hello,

      I am trying to compile code generated by omniidl with VC++6sp5 but I 
am getting errors related to exception class generation and use  It works 
fine with gcc and with older snapshots so I think this is a VC++ 
incompatibility introduced in recent snapshots.  I am using 20011031.  The 
relevant sections of the IDL are:

module LIBSAMS {
interface Daemon : Component {
   exception NoSuchMStore {};
   exception MSConfExists {};
   exception NoSuchMSConf {};
   exception UserExists {};
   exception NoSuchUser {};
   exception NoSuchAgent {};

   ...

};

interface Auth {
   exception InvalidLogin {
     enum ReasonType { UNKNOWN, USERID_TOO_LONG } reason;
   };

   ...

};

};


The errors I'm getting are:

cl -c -O2  -MT -TP -GX -nologo -D__WIN32__ -D__x86__ -D__NT__ 
-D__OSVERSION__=4 -D__OMNIORB4__ -I../../../../omniORB/work/src/include 
-I../../../../omniORB/work/src/include/omniORB4 daemon_ui_impl.cc 
-Foobj/daemon_ui_impl.obj
daemon_ui_impl.cc
daemon_ui_impl.cc(159) : error C2259: 'NoSuchUser' : cannot instantiate 
abstract class due to following members:
         corba/ui.h(299) : see declaration of 'NoSuchUser'
daemon_ui_impl.cc(159) : warning C4259: 'void __thiscall 
CORBA::Exception::_raise(void) const' : pure virtual function was not defined
         ../../../../omniORB/work/src/include\omniORB4/CORBA_Exception.h(57) 
: see declaration of '_raise'
daemon_ui_impl.cc(159) : error C2259: 'NoSuchUser' : cannot instantiate 
abstract class due to following members:
         corba/ui.h(299) : see declaration of 'NoSuchUser'
daemon_ui_impl.cc(159) : warning C4259: 'void __thiscall 
CORBA::Exception::_raise(void) const' : pure virtual function was not defined
         ../../../../omniORB/work/src/include\omniORB4/CORBA_Exception.h(57) 
: see declaration of '_raise'
daemon_ui_impl.cc(176) : error C2259: 'UserExists' : cannot instantiate 
abstract class due to following members:
         corba/ui.h(261) : see declaration of 'UserExists'
daemon_ui_impl.cc(176) : warning C4259: 'void __thiscall 
CORBA::Exception::_raise(void) const' : pure virtual function was not defined
         ../../../../omniORB/work/src/include\omniORB4/CORBA_Exception.h(57) 
: see declaration of '_raise'
daemon_ui_impl.cc(176) : error C2259: 'UserExists' : cannot instantiate 
abstract class due to following members:
         corba/ui.h(261) : see declaration of 'UserExists'
daemon_ui_impl.cc(176) : warning C4259: 'void __thiscall 
CORBA::Exception::_raise(void) const' : pure virtual function was not defined
         ../../../../omniORB/work/src/include\omniORB4/CORBA_Exception.h(57) 
: see declaration of '_raise'
daemon_ui_impl.cc(228) : error C2259: 'NoSuchAgent' : cannot instantiate 
abstract class due to following members:
         corba/ui.h(337) : see declaration of 'NoSuchAgent'
daemon_ui_impl.cc(228) : warning C4259: 'void __thiscall 
CORBA::Exception::_raise(void) const' : pure virtual function was not defined
         ../../../../omniORB/work/src/include\omniORB4/CORBA_Exception.h(57) 
: see declaration of '_raise'
daemon_ui_impl.cc(228) : error C2259: 'NoSuchAgent' : cannot instantiate 
abstract class due to following members:
         corba/ui.h(337) : see declaration of 'NoSuchAgent'
daemon_ui_impl.cc(228) : warning C4259: 'void __thiscall 
CORBA::Exception::_raise(void) const' : pure virtual function was not defined
         ../../../../omniORB/work/src/include\omniORB4/CORBA_Exception.h(57) 
: see declaration of '_raise'
daemon_ui_impl.cc(239) : error C2259: 'InvalidLogin' : cannot instantiate 
abstract class due to following members:
         corba/ui.h(502) : see declaration of 'InvalidLogin'
daemon_ui_impl.cc(239) : warning C4259: 'void __thiscall 
CORBA::Exception::_raise(void) const' : pure virtual function was not defined
         ../../../../omniORB/work/src/include\omniORB4/CORBA_Exception.h(57) 
: see declaration of '_raise'
daemon_ui_impl.cc(239) : error C2259: 'InvalidLogin' : cannot instantiate 
abstract class due to following members:
         corba/ui.h(502) : see declaration of 'InvalidLogin'
daemon_ui_impl.cc(239) : warning C4259: 'void __thiscall 
CORBA::Exception::_raise(void) const' : pure virtual function was not defined
         ../../../../omniORB/work/src/include\omniORB4/CORBA_Exception.h(57) 
: see declaration of '_raise'
daemon_ui_impl.cc(247) : error C2259: 'InvalidLogin' : cannot instantiate 
abstract class due to following members:
         corba/ui.h(502) : see declaration of 'InvalidLogin'
daemon_ui_impl.cc(247) : warning C4259: 'void __thiscall 
CORBA::Exception::_raise(void) const' : pure virtual function was not defined
         ../../../../omniORB/work/src/include\omniORB4/CORBA_Exception.h(57) 
: see declaration of '_raise'

Thanks,
Carl Thompson