[Insight-users] Wrapping warnings on .NET

Bill Hoffman bill . hoffman at kitware . com
Fri, 25 Jul 2003 12:47:22 -0400


OK, I removed the lines, can you give it a try?


At 12:17 PM 7/25/2003, Miller, James V (Research) wrote:
>Removing those lines (and few around line 251) seem to have removed the
>warnings.
>
>I have an anonymous checkout of CableSwig.  Does someone else want to check
>this in?
>
>
>
>> -----Original Message-----
>> From: Bill Hoffman [mailto:bill . hoffman at kitware . com]
>> Sent: Friday, July 25, 2003 11:13 AM
>> To: Charl P. Botha; Miller, James V " "(Research)
>> Cc: Insight-users (E-mail)
>> Subject: Re: [Insight-users] Wrapping warnings on .NET
>> 
>> 
>> I think the problem is here:
>> #ifdef __cplusplus
>> extern "C" {
>> #endif
>> static PyObject *_wrap_itkVectorD3_GetNorm(PyObject *self, 
>> PyObject *args) {
>> ...
>> #ifdef __cplusplus
>> }
>> #endif
>> 
>> 
>> I am not sure why swig is doing this.  
>> Looks like a change in 
>> CableSwig/SWIG/Source/Modules1.1/python.cxx should
>> be able to remove the extern "C" code.
>> 
>> --- around line 233 ----
>>   Printf(f_wrappers,"#ifdef __cplusplus\n");
>>     Printf(f_wrappers,"extern \"C\" {\n");
>>     Printf(f_wrappers,"#endif\n");
>> 
>> 
>> Can you think of why this would have to be extern "C" ??
>> Can you try the change Jim, and see if it works?
>> 
>> -Bill
>> 
>> At 10:57 AM 7/25/2003, Bill Hoffman wrote:
>> >Well, it is saying that the function is extern "C".
>> >I don't think C functions are allowed to throw exceptions are they?
>> >
>> >-Bill
>> >
>> >
>> >At 09:36 AM 7/25/2003, Charl P. Botha wrote:
>> >>On Fri, 2003-07-25 at 15:17, Miller, James V (Research) wrote:
>> >>> I think the recent changes to CableSwig.cxx are causing 
>> an enormous
>> >>> number of warnings on Visual Studio .NET (not 2003).  The 
>> warnings are
>> >>> of the type
>> >>>  
>> >>> 
>> >>> wrap_vnl_vectorPython.cxx(1301) : warning C4297:
>> >>> '_wrap_vnl_vector_uchar_data_block__SWIG_1' : function 
>> assumed not to
>> >>> throw an exception but does
>> >>
>> >>Urgh!  That because of the catch(...){throw;} clause at the 
>> very end. 
>> >>This rethrows the exception if it wasn't handled and is 
>> automatically
>> >>added by the existing swig code.
>> >>
>> >>Technically, this shouldn't be a warning... if there is no throw()
>> >>specifier for a method/function, it is allowed to throw any 
>> exceptions,
>> >>at least as far as my ISO C++ 1998 specification says.
>> >>
>> >>Do you have any other ideas?  Is the compiler just broken?  In that
>> >>case, I guess the best thing to do is just to deactivate 
>> that warning.
>> >>
>> >>> The function is extern "C" and /EHc was specified
>> >>> 
>> >>> wrap_vnl_vectorPython.cxx(1294) : warning C4101: '_e' : 
>> unreferenced
>> >>> local variable
>> >>
>> >>This  I don't get... the _e is ALWAYS used by the subsequent
>> >>SWIG_exception(SWIG_RuntimeError, _e.what());  Could you 
>> perhaps post
>> >>the few lines of code before and after your line 1294? 
>> >>
>> >>Thanks,
>> >>Charl
>> >>
>> >>-- 
>> >>charl p. botha http://cpbotha . net/ http://visualisation . tudelft . nl/
>> >>_______________________________________________
>> >>Insight-users mailing list
>> >>Insight-users at itk . org
>> >>http://www . itk . org/mailman/listinfo/insight-users 
>> >
>> >
>> >
>> >_______________________________________________
>> >Insight-users mailing list
>> >Insight-users at itk . org
>> >http://www . itk . org/mailman/listinfo/insight-users 
>> 
>> 
>> 
>_______________________________________________
>Insight-users mailing list
>Insight-users at itk . org
>http://www . itk . org/mailman/listinfo/insight-users