svn commit: r343316 - in projects/clang800-import/contrib/llvm/tools/lldb: include/lldb/Host/openbsd source/Core source/Host/openbsd
Dimitry Andric
dim at FreeBSD.org
Tue Jan 22 20:16:43 UTC 2019
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) {
More information about the svn-src-projects
mailing list