Date: Tue, 22 Jan 2019 20:16:41 +0000 (UTC) From: Dimitry Andric <dim@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r343316 - in projects/clang800-import/contrib/llvm/tools/lldb: include/lldb/Host/openbsd source/Core source/Host/openbsd Message-ID: <201901222016.x0MKGfqs032485@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dim Date: Tue Jan 22 20:16:41 2019 New Revision: 343316 URL: https://svnweb.freebsd.org/changeset/base/343316 Log: Merge lldb release_80 branch r351543, and resolve conflicts. Modified: projects/clang800-import/contrib/llvm/tools/lldb/include/lldb/Host/openbsd/HostInfoOpenBSD.h projects/clang800-import/contrib/llvm/tools/lldb/source/Core/Value.cpp projects/clang800-import/contrib/llvm/tools/lldb/source/Host/openbsd/HostInfoOpenBSD.cpp Directory Properties: projects/clang800-import/contrib/llvm/tools/lldb/ (props changed) Modified: projects/clang800-import/contrib/llvm/tools/lldb/include/lldb/Host/openbsd/HostInfoOpenBSD.h ============================================================================== --- projects/clang800-import/contrib/llvm/tools/lldb/include/lldb/Host/openbsd/HostInfoOpenBSD.h Tue Jan 22 20:15:58 2019 (r343315) +++ projects/clang800-import/contrib/llvm/tools/lldb/include/lldb/Host/openbsd/HostInfoOpenBSD.h Tue Jan 22 20:16:41 2019 (r343316) @@ -12,12 +12,13 @@ #include "lldb/Host/posix/HostInfoPosix.h" #include "lldb/Utility/FileSpec.h" +#include "llvm/Support/VersionTuple.h" namespace lldb_private { class HostInfoOpenBSD : public HostInfoPosix { public: - static bool GetOSVersion(uint32_t &major, uint32_t &minor, uint32_t &update); + static llvm::VersionTuple GetOSVersion(); static bool GetOSBuildString(std::string &s); static bool GetOSKernelDescription(std::string &s); static FileSpec GetProgramFileSpec(); Modified: projects/clang800-import/contrib/llvm/tools/lldb/source/Core/Value.cpp ============================================================================== --- projects/clang800-import/contrib/llvm/tools/lldb/source/Core/Value.cpp Tue Jan 22 20:15:58 2019 (r343315) +++ projects/clang800-import/contrib/llvm/tools/lldb/source/Core/Value.cpp Tue Jan 22 20:16:41 2019 (r343316) @@ -210,31 +210,35 @@ bool Value::ValueOf(ExecutionContext *exe_ctx) { } uint64_t Value::GetValueByteSize(Status *error_ptr, ExecutionContext *exe_ctx) { + uint64_t byte_size = 0; + switch (m_context_type) { case eContextTypeRegisterInfo: // RegisterInfo * - if (GetRegisterInfo()) { - if (error_ptr) - error_ptr->Clear(); - return GetRegisterInfo()->byte_size; - } + if (GetRegisterInfo()) + byte_size = GetRegisterInfo()->byte_size; break; case eContextTypeInvalid: case eContextTypeLLDBType: // Type * case eContextTypeVariable: // Variable * { - auto *scope = exe_ctx ? exe_ctx->GetBestExecutionContextScope() : nullptr; - if (llvm::Optional<uint64_t> size = GetCompilerType().GetByteSize(scope)) { - if (error_ptr) - error_ptr->Clear(); - return *size; + const CompilerType &ast_type = GetCompilerType(); + if (ast_type.IsValid()) + if (llvm::Optional<uint64_t> size = ast_type.GetByteSize( + exe_ctx ? exe_ctx->GetBestExecutionContextScope() : nullptr)) + byte_size = *size; + } break; + } + + if (error_ptr) { + if (byte_size == 0) { + if (error_ptr->Success()) + error_ptr->SetErrorString("Unable to determine byte size."); + } else { + error_ptr->Clear(); } - break; } - } - if (error_ptr && error_ptr->Success()) - error_ptr->SetErrorString("Unable to determine byte size."); - return 0; + return byte_size; } const CompilerType &Value::GetCompilerType() { Modified: projects/clang800-import/contrib/llvm/tools/lldb/source/Host/openbsd/HostInfoOpenBSD.cpp ============================================================================== --- projects/clang800-import/contrib/llvm/tools/lldb/source/Host/openbsd/HostInfoOpenBSD.cpp Tue Jan 22 20:15:58 2019 (r343315) +++ projects/clang800-import/contrib/llvm/tools/lldb/source/Host/openbsd/HostInfoOpenBSD.cpp Tue Jan 22 20:16:41 2019 (r343316) @@ -17,16 +17,17 @@ using namespace lldb_private; -bool HostInfoOpenBSD::GetOSVersion(uint32_t &major, uint32_t &minor, - uint32_t &update) { +llvm::VersionTuple HostInfoOpenBSD::GetOSVersion() { struct utsname un; ::memset(&un, 0, sizeof(utsname)); if (uname(&un) < 0) - return false; + return llvm::VersionTuple(); - int status = sscanf(un.release, "%u.%u", &major, &minor); - return status == 2; + unsigned major, minor; + if (2 == sscanf(un.release, "%u.%u", &major, &minor)) + return llvm::VersionTuple(major, minor); + return llvm::VersionTuple(); } bool HostInfoOpenBSD::GetOSBuildString(std::string &s) {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201901222016.x0MKGfqs032485>