From ef5d0b5e97ec8e6fa395d377b09aa7755e345b4f Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Mon, 18 Dec 2017 20:12:36 +0000 Subject: Vendor import of lldb trunk r321017: https://llvm.org/svn/llvm-project/lldb/trunk@321017 --- source/Symbol/CompilerType.cpp | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'source/Symbol/CompilerType.cpp') diff --git a/source/Symbol/CompilerType.cpp b/source/Symbol/CompilerType.cpp index e3880af27f22..5d845361b03c 100644 --- a/source/Symbol/CompilerType.cpp +++ b/source/Symbol/CompilerType.cpp @@ -690,15 +690,26 @@ size_t CompilerType::GetNumTemplateArguments() const { return 0; } -CompilerType -CompilerType::GetTemplateArgument(size_t idx, - lldb::TemplateArgumentKind &kind) const { +TemplateArgumentKind CompilerType::GetTemplateArgumentKind(size_t idx) const { + if (IsValid()) + return m_type_system->GetTemplateArgumentKind(m_type, idx); + return eTemplateArgumentKindNull; +} + +CompilerType CompilerType::GetTypeTemplateArgument(size_t idx) const { if (IsValid()) { - return m_type_system->GetTemplateArgument(m_type, idx, kind); + return m_type_system->GetTypeTemplateArgument(m_type, idx); } return CompilerType(); } +llvm::Optional +CompilerType::GetIntegralTemplateArgument(size_t idx) const { + if (IsValid()) + return m_type_system->GetIntegralTemplateArgument(m_type, idx); + return llvm::None; +} + CompilerType CompilerType::GetTypeForFormatters() const { if (IsValid()) return m_type_system->GetTypeForFormatters(m_type); @@ -997,7 +1008,7 @@ bool CompilerType::ReadFromMemory(lldb_private::ExecutionContext *exe_ctx, if (addr == 0) return false; // The address is an address in this process, so just copy it - memcpy(dst, (uint8_t *)nullptr + addr, byte_size); + memcpy(dst, reinterpret_cast(addr), byte_size); return true; } else { Process *process = nullptr; -- cgit v1.3