diff --git a/llvm/include/llvm/Demangle/ItaniumDemangle.h b/llvm/include/llvm/Demangle/ItaniumDemangle.h --- a/llvm/include/llvm/Demangle/ItaniumDemangle.h +++ b/llvm/include/llvm/Demangle/ItaniumDemangle.h @@ -27,18 +27,18 @@ #include #include #include -#include #include DEMANGLE_NAMESPACE_BEGIN template class PODSmallVector { - static_assert(std::is_trivial_v, "T is required to be a trivial type"); + static_assert(std::is_pod::value, + "T is required to be a plain old data type"); T *First = nullptr; T *Last = nullptr; T *Cap = nullptr; - T Inline[N] = {}; + T Inline[N] = {0}; bool isInline() const { return First == Inline; } @@ -537,6 +537,8 @@ template void match(Fn F) const { F(Base, Tag); } + StringView getBaseName() const override { return Base->getBaseName(); } + void printLeft(OutputBuffer &OB) const override { Base->printLeft(OB); OB += "[abi:";