[Mono-devel-list] Compiler Warnings AMD64 - final

Willibald Krenn Willibald.Krenn at gmx.at
Thu Dec 9 07:04:56 EST 2004


> Hi,
> 
> I changed the debugger stuff to use guint64's instead of pointers.
> Could you please have a look at the new code and check whether I did it
> correctly ?

Just did the checkout and looked at your changes..

GPOINTER_TO_UINT does a ((guint) (gulong) (p)) cast, so

mono_debugger_event (MONO_DEBUGGER_EVENT_UNHANDLED_EXCEPTION,
		     GPOINTER_TO_UINT (exc), GPOINTER_TO_UINT (addr));

is wrong for 64 bit archs. You just need a cast to plain guint64 in each 
case:

mono_debugger_event (MONO_DEBUGGER_EVENT_UNHANDLED_EXCEPTION,
		     (guint64) exc, (guint64) addr);

I'll change this in my patch and publish a new version soon..

BTW: Some nice thing about Visual Studio 2005 for 64 bit XP is that
an *int* and a *long* are 32-bit values on 64-bit Windows 
operating systems! So the GPOINTER_TO_UINT macro won't work as designed 
on MS's C++ compiler..

Willi




More information about the Mono-devel-list mailing list