diff options
Diffstat (limited to 'lldb/source/Expression/ClangExpressionDeclMap.cpp')
-rw-r--r-- | lldb/source/Expression/ClangExpressionDeclMap.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lldb/source/Expression/ClangExpressionDeclMap.cpp b/lldb/source/Expression/ClangExpressionDeclMap.cpp index 940be042c3d..f8304b98b6b 100644 --- a/lldb/source/Expression/ClangExpressionDeclMap.cpp +++ b/lldb/source/Expression/ClangExpressionDeclMap.cpp @@ -1083,8 +1083,13 @@ ClangExpressionDeclMap::LookupDecl (clang::NamedDecl *decl, ClangExpressionVaria Value ret; ret.SetContext(Value::eContextTypeRegisterInfo, reg_info); - if (!reg_value.GetScalarValue(ret.GetScalar())) - return Value(); + if (reg_info->encoding == eEncodingVector) + { + if (ret.SetVectorBytes((uint8_t *)reg_value.GetBytes(), reg_value.GetByteSize(), reg_value.GetByteOrder())) + ret.SetScalarFromVector(); + } + else if (!reg_value.GetScalarValue(ret.GetScalar())) + return Value(); return ret; } |