]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
FreeBSD: make warnings about casting away volatile go away
authorPaul Floyd <pjfloyd@wanadoo.fr>
Sat, 18 Nov 2023 07:30:56 +0000 (08:30 +0100)
committerPaul Floyd <pjfloyd@wanadoo.fr>
Sat, 18 Nov 2023 07:30:56 +0000 (08:30 +0100)
coregrind/m_syswrap/syswrap-freebsd.c

index 9371fed0f142f67b91ccaa3ee2cd8419a7e9c338..0524044797c8cc24a0abe0a70b6bad295d6c161f 100644 (file)
@@ -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*))) {