From: Bart Van Assche Date: Thu, 29 Jul 2010 18:12:23 +0000 (+0000) Subject: Avoid that gcc 4.5.x reports the warning "taking address of expression of type void... X-Git-Tag: svn/VALGRIND_3_6_0~205 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=69b34b1f618191aab34920704b09ed9f1573b333;p=thirdparty%2Fvalgrind.git Avoid that gcc 4.5.x reports the warning "taking address of expression of type void". Tested on amd64 and on ppc64. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@11243 --- diff --git a/coregrind/pub_core_dispatch.h b/coregrind/pub_core_dispatch.h index 6fa04addae..8deaeca63f 100644 --- a/coregrind/pub_core_dispatch.h +++ b/coregrind/pub_core_dispatch.h @@ -68,8 +68,8 @@ UWord VG_(run_innerloop) ( void* guest_state, UWord do_profiling ); following somewhat bogus decls. At least on x86 and amd64. ppc32 and ppc64 use straightforward bl-blr to get from dispatcher to translation and back and so do not need these labels. */ -extern void VG_(run_innerloop__dispatch_unprofiled); -extern void VG_(run_innerloop__dispatch_profiled); +extern Addr VG_(run_innerloop__dispatch_unprofiled); +extern Addr VG_(run_innerloop__dispatch_profiled); #endif @@ -86,7 +86,7 @@ extern void VG_(run_a_noredir_translation) ( volatile UWord* argblock ); /* We need to a label inside VG_(run_a_noredir_translation), so that Vex can add branches to them from generated code. Hence the following somewhat bogus decl. */ -extern void VG_(run_a_noredir_translation__return_point); +extern Addr VG_(run_a_noredir_translation__return_point); #endif diff --git a/coregrind/pub_core_trampoline.h b/coregrind/pub_core_trampoline.h index 8553bf09c2..fff4b168ac 100644 --- a/coregrind/pub_core_trampoline.h +++ b/coregrind/pub_core_trampoline.h @@ -53,32 +53,32 @@ readable, at least. Otherwise Memcheck complains we're jumping to invalid addresses. */ -extern void VG_(trampoline_stuff_start); -extern void VG_(trampoline_stuff_end); +extern Addr VG_(trampoline_stuff_start); +extern Addr VG_(trampoline_stuff_end); #if defined(VGP_x86_linux) -extern void VG_(x86_linux_SUBST_FOR_sigreturn); -extern void VG_(x86_linux_SUBST_FOR_rt_sigreturn); +extern Addr VG_(x86_linux_SUBST_FOR_sigreturn); +extern Addr VG_(x86_linux_SUBST_FOR_rt_sigreturn); extern Char* VG_(x86_linux_REDIR_FOR_index) ( const Char*, Int ); #endif #if defined(VGP_amd64_linux) -extern void VG_(amd64_linux_SUBST_FOR_rt_sigreturn); -extern void VG_(amd64_linux_REDIR_FOR_vgettimeofday); -extern void VG_(amd64_linux_REDIR_FOR_vtime); +extern Addr VG_(amd64_linux_SUBST_FOR_rt_sigreturn); +extern Addr VG_(amd64_linux_REDIR_FOR_vgettimeofday); +extern Addr VG_(amd64_linux_REDIR_FOR_vtime); extern UInt VG_(amd64_linux_REDIR_FOR_strlen)( void* ); #endif #if defined(VGP_ppc32_linux) -extern void VG_(ppc32_linux_SUBST_FOR_sigreturn); -extern void VG_(ppc32_linux_SUBST_FOR_rt_sigreturn); +extern Addr VG_(ppc32_linux_SUBST_FOR_sigreturn); +extern Addr VG_(ppc32_linux_SUBST_FOR_rt_sigreturn); extern UInt VG_(ppc32_linux_REDIR_FOR_strlen)( void* ); extern UInt VG_(ppc32_linux_REDIR_FOR_strcmp)( void*, void* ); extern void* VG_(ppc32_linux_REDIR_FOR_strchr)( void*, Int ); #endif #if defined(VGP_ppc64_linux) -extern void VG_(ppc64_linux_SUBST_FOR_rt_sigreturn); +extern Addr VG_(ppc64_linux_SUBST_FOR_rt_sigreturn); extern UInt VG_(ppc64_linux_REDIR_FOR_strlen)( void* ); extern void* VG_(ppc64_linux_REDIR_FOR_strchr)( void*, Int ); /* A label (sans dot) marking the ultra-magical return stub via which @@ -88,7 +88,7 @@ extern void* VG_(ppc64_linux_REDIR_FOR_strchr)( void*, Int ); restore the thread's LR and R2 registers from a small stack in the ppc64 guest state structure, and then branch to LR. Convoluted? Confusing? You betcha. Could I think of anything simpler? No. */ -extern void VG_(ppctoc_magic_redirect_return_stub); +extern Addr VG_(ppctoc_magic_redirect_return_stub); #endif #if defined(VGP_arm_linux) @@ -105,22 +105,22 @@ extern void* VG_(arm_linux_REDIR_FOR_memcpy)( void*, void*, Int ); then it cleans up the register state to be more what it really should be at client startup, and finally it jumps to the client's real entry point. */ -extern void VG_(ppc32_aix5_do_preloads_then_start_client); +extern Addr VG_(ppc32_aix5_do_preloads_then_start_client); /* See comment for VG_(ppctoc_magic_redirect_return_stub) above. */ -extern void VG_(ppctoc_magic_redirect_return_stub); +extern Addr VG_(ppctoc_magic_redirect_return_stub); #endif #if defined(VGP_ppc64_aix5) /* See comment for VG_(ppctoc_magic_redirect_return_stub) above. */ -extern void VG_(ppctoc_magic_redirect_return_stub); +extern Addr VG_(ppctoc_magic_redirect_return_stub); /* See comment for ppc32_aix5 equivalent above. */ -extern void VG_(ppc64_aix5_do_preloads_then_start_client); +extern Addr VG_(ppc64_aix5_do_preloads_then_start_client); #endif #if defined(VGP_x86_darwin) -extern void VG_(x86_darwin_SUBST_FOR_sigreturn); +extern Addr VG_(x86_darwin_SUBST_FOR_sigreturn); extern SizeT VG_(x86_darwin_REDIR_FOR_strlen)( void* ); extern SizeT VG_(x86_darwin_REDIR_FOR_strcmp)( void*, void* ); extern void* VG_(x86_darwin_REDIR_FOR_strcat)( void*, void * ); @@ -130,7 +130,7 @@ extern SizeT VG_(x86_darwin_REDIR_FOR_strlcat)( char *s1, const char *s2, #endif #if defined(VGP_amd64_darwin) -extern void VG_(amd64_darwin_SUBST_FOR_sigreturn); +extern Addr VG_(amd64_darwin_SUBST_FOR_sigreturn); extern SizeT VG_(amd64_darwin_REDIR_FOR_strlen)( void* ); extern SizeT VG_(amd64_darwin_REDIR_FOR_strcmp)( void*, void* ); extern void* VG_(amd64_darwin_REDIR_FOR_strcat)( void*, void * );