From: Paul Floyd Date: Sat, 18 Nov 2023 07:30:56 +0000 (+0100) Subject: FreeBSD: make warnings about casting away volatile go away X-Git-Tag: VALGRIND_3_23_0~260 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5d297459e6125a31a49c77e617ede7332049b3ad;p=thirdparty%2Fvalgrind.git FreeBSD: make warnings about casting away volatile go away --- diff --git a/coregrind/m_syswrap/syswrap-freebsd.c b/coregrind/m_syswrap/syswrap-freebsd.c index 9371fed0f1..0524044797 100644 --- a/coregrind/m_syswrap/syswrap-freebsd.c +++ b/coregrind/m_syswrap/syswrap-freebsd.c @@ -6886,7 +6886,15 @@ PRE(sys_aio_writev) // by the members of the iocb->aio_iov array // FreeBSD headers #define define this to aio_iovcnt SizeT vec_count = (SizeT)iocb->aio_nbytes; +#if defined(__clang__) +#pragma clang diagnostic push + // yes, I know it is volatile +#pragma clang diagnostic ignored "-Wcast-qual" +#endif struct vki_iovec* p_iovec = (struct vki_iovec*)iocb->aio_buf; +#if defined(__clang__) +#pragma clang diagnostic pop +#endif PRE_MEM_READ("aio_writev(iocb->aio_iov)", (Addr)p_iovec, vec_count*sizeof(struct vki_iovec)); // and this to aio_iov @@ -6915,7 +6923,15 @@ PRE(sys_aio_readv) SET_STATUS_Failure( VKI_EBADF ); } else { SizeT vec_count = (SizeT)iocb->aio_nbytes; +#if defined(__clang__) +#pragma clang diagnostic push + // yes, I know it is volatile +#pragma clang diagnostic ignored "-Wcast-qual" +#endif struct vki_iovec* p_iovec = (struct vki_iovec*)iocb->aio_buf; +#if defined(__clang__) +#pragma clang diagnostic pop +#endif PRE_MEM_READ("aio_readv(iocb->aio_iov)", (Addr)p_iovec, vec_count*sizeof(struct vki_iovec)); // @todo PJF check that p_iovec is accessible if (ML_(safe_to_deref)(p_iovec, vec_count*sizeof(struct vki_iovec*))) {