[Mono-devel-list] Weird warnings using mcs svn on Windows

Marek Safar marek.safar at seznam.cz
Wed Apr 13 02:47:19 EDT 2005


Hello,

>"Gert Driesen" <gert.driesen at telenet.be> writes:
>
>  
>
>>As of recently, I get the following warning (numerous times) when using mcs
>>svn to compile even the simplest app on Windows:
>>
>>warning CS8028: The method 'System.Object.Finalize()' is marked 'override',
>>but
>>doesn't appear to override any virtual or abstract method: it may be ignored
>>dur
>>ing overload resolution
>>C:\cygwin\usr\local\lib\mono\1.0\mscorlib.dll: 'System.Object.Finalize'
>>(name of
>> symbol related to previous warning
>>
>>Any idea what might be causing this ?
>>    
>>
>
>A method is marked with the 'Virtual' MethodAttribute, but doesn't have
>'NewSlot' is treated as an "override" function.  The C# compiler tries
>to find the underlying "virtual" function that it overrides.  In some
>cases, it's unable to do so.  We can't get into this situation when
>compiling C# code.  So, this warning is typically issued when some dll
>was generated by SRE or written in IL.
>  
>
The difference is that our Finalize methods have newslot virtual and 
Microsoft emits only virtual

>However, it turns out that several compiler-generated functions are also
>being marked this way.  It's the case with a delegates .Invoke () on
>NET 1.1 and mono.
>
>I suspect that CSC 1.1 also emits the .Finalize () function this way,
>too.  I'll try to fix this soon.  However, I believe this warning is
>harmless in this case, since Finalize cannot be invoked such that it
>takes part in overload resolution.
>  
>
Are you going to fix it ?

Marek




More information about the Mono-devel-list mailing list