Merge two upstream LLVM commits
This merges:
https://github.com/llvm/llvm-project/commit/0a4aa8a122aa0
https://github.com/llvm/llvm-project/commit/fd0637cfe835d
Bug: chromium:1520616
Change-Id: I5ff63eb37fd4e45ab1716607da313d9b9e87d2e0
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/72988
Kokoro-Result: kokoro <noreply+kokoro@google.com>
Reviewed-by: Shahbaz Youssefi <syoussefi@google.com>
Presubmit-Ready: Nico Weber <thakis@chromium.org>
Reviewed-by: Nico Weber <thakis@google.com>
Tested-by: Shahbaz Youssefi <syoussefi@google.com>
Commit-Queue: Nico Weber <thakis@chromium.org>
diff --git a/third_party/llvm-10.0/llvm/include/llvm/Demangle/ItaniumDemangle.h b/third_party/llvm-10.0/llvm/include/llvm/Demangle/ItaniumDemangle.h
index 14f8102..d1d9617 100644
--- a/third_party/llvm-10.0/llvm/include/llvm/Demangle/ItaniumDemangle.h
+++ b/third_party/llvm-10.0/llvm/include/llvm/Demangle/ItaniumDemangle.h
@@ -28,6 +28,7 @@
#include <cstring>
#include <exception>
#include <numeric>
+#include <type_traits>
#include <utility>
#define FOR_EACH_NODE_KIND(X) \
@@ -2171,13 +2172,13 @@
template <class T, size_t N>
class PODSmallVector {
- static_assert(std::is_pod<T>::value,
- "T is required to be a plain old data type");
+ static_assert(std::is_trivial<T>::value,
+ "T is required to be a trivial type");
T* First = nullptr;
T* Last = nullptr;
T* Cap = nullptr;
- T Inline[N] = {0};
+ T Inline[N] = {};
bool isInline() const { return First == Inline; }
diff --git a/third_party/llvm-16.0/llvm/include/llvm/Demangle/ItaniumDemangle.h b/third_party/llvm-16.0/llvm/include/llvm/Demangle/ItaniumDemangle.h
index 121eae1..e20b04d 100644
--- a/third_party/llvm-16.0/llvm/include/llvm/Demangle/ItaniumDemangle.h
+++ b/third_party/llvm-16.0/llvm/include/llvm/Demangle/ItaniumDemangle.h
@@ -33,13 +33,13 @@
DEMANGLE_NAMESPACE_BEGIN
template <class T, size_t N> class PODSmallVector {
- static_assert(std::is_pod<T>::value,
- "T is required to be a plain old data type");
+ static_assert(std::is_trivial<T>::value,
+ "T is required to be a trivial type");
T *First = nullptr;
T *Last = nullptr;
T *Cap = nullptr;
- T Inline[N] = {0};
+ T Inline[N] = {};
bool isInline() const { return First == Inline; }