[omniORB] Another IDL compiler output problem for VC++ in recent snapshots
Carl Thompson
cet@carlthompson.net
Tue, 06 Nov 2001 10:28:56 -0800
OK, my fault. I have an older version of omniidl installed on my system.
Explicitly specifying the path to the correct one in my makefiles fixes the
problem.
Thanks,
Carl Thompson
Carl Thompson wrote:
> The problem seems to be the IDL compiler is generating _raise() methods
> with the wrong signature. It is generating
>
> void _raise();
>
> but should be generating
>
> void _raise() const;
>
> The strange thing is that when GCC is used it generates the correct code...
>
> Carl Thompson
>
> Carl Thompson wrote:
>
>> 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
>>
>>
>>
>
>
>
>