Fix Linux Subzero build
Bug: b/135744933
Change-Id: I6b37091c6390e5c3c67a608b85ecd3d9aef07580
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/37028
Kokoro-Presubmit: kokoro <noreply+kokoro@google.com>
Reviewed-by: Nicolas Capens <nicolascapens@google.com>
Tested-by: Antonio Maiorano <amaiorano@google.com>
diff --git a/third_party/llvm-subzero/include/llvm/ADT/SmallVector.h b/third_party/llvm-subzero/include/llvm/ADT/SmallVector.h
index b958821..c1c5c81 100644
--- a/third_party/llvm-subzero/include/llvm/ADT/SmallVector.h
+++ b/third_party/llvm-subzero/include/llvm/ADT/SmallVector.h
@@ -306,7 +306,7 @@
void push_back(const T &Elt) {
if (LLVM_UNLIKELY(this->EndX >= this->CapacityX))
this->grow();
- memcpy(this->end(), &Elt, sizeof(T));
+ memcpy(reinterpret_cast<void *>(this->end()), &Elt, sizeof(T));
this->setEnd(this->end()+1);
}
diff --git a/third_party/subzero/src/IceRangeSpec.cpp b/third_party/subzero/src/IceRangeSpec.cpp
index 6a7d329..7cf6934 100644
--- a/third_party/subzero/src/IceRangeSpec.cpp
+++ b/third_party/subzero/src/IceRangeSpec.cpp
@@ -77,7 +77,7 @@
D->IsExplicit = true;
// A range is identified by starting with a digit or a ':'.
if (Token[0] == RangeSpec::DELIM_RANGE || std::isdigit(Token[0])) {
- uint32_t First, Last;
+ uint32_t First = 0, Last = 0;
getRange(Token, &First, &Last);
if (Last == RangeSpec::RangeMax) {
D->AllFrom = std::min(D->AllFrom, First);
diff --git a/third_party/subzero/src/IceTargetLoweringX86BaseImpl.h b/third_party/subzero/src/IceTargetLoweringX86BaseImpl.h
index 250ae56..00734fd 100644
--- a/third_party/subzero/src/IceTargetLoweringX86BaseImpl.h
+++ b/third_party/subzero/src/IceTargetLoweringX86BaseImpl.h
@@ -5795,7 +5795,7 @@
AddressWasOptimized = true;
Reason = nullptr;
SkipLastFolding = nullptr;
- memset(&Skip, 0, sizeof(Skip));
+ memset(reinterpret_cast<void*>(&Skip), 0, sizeof(Skip));
}
NewAddrCheckpoint = NewAddr;