diff --git a/SPIRV/bitutils.h b/SPIRV/bitutils.h
index 31288ab69d3d3ade46b05186cb1bba333666420d..22e44cec26ea08b08fcbea2fc6e6cb293e3fa50f 100644
--- a/SPIRV/bitutils.h
+++ b/SPIRV/bitutils.h
@@ -26,7 +26,7 @@ Dest BitwiseCast(Src source) {
   Dest dest;
   static_assert(sizeof(source) == sizeof(dest),
                 "BitwiseCast: Source and destination must have the same size");
-  std::memcpy(&dest, &source, sizeof(dest));
+  std::memcpy(static_cast<void*>(&dest), &source, sizeof(dest));
   return dest;
 }