Skip site navigation (1)Skip section navigation (2)
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>