forked from OSchip/llvm-project
[CompilerType] Pass an ExecutionContextScope to GetTypeBitAlign.
llvm-svn: 368620
This commit is contained in:
parent
352d1b59c0
commit
7f9bbe0599
|
@ -709,7 +709,8 @@ public:
|
|||
lldb::Format GetFormat(lldb::opaque_compiler_type_t type) override;
|
||||
|
||||
llvm::Optional<size_t>
|
||||
GetTypeBitAlign(lldb::opaque_compiler_type_t type) override;
|
||||
GetTypeBitAlign(lldb::opaque_compiler_type_t type,
|
||||
ExecutionContextScope *exe_scope) override;
|
||||
|
||||
uint32_t GetNumChildren(lldb::opaque_compiler_type_t type,
|
||||
bool omit_empty_base_classes,
|
||||
|
|
|
@ -257,7 +257,7 @@ public:
|
|||
|
||||
lldb::Format GetFormat() const;
|
||||
|
||||
llvm::Optional<size_t> GetTypeBitAlign() const;
|
||||
llvm::Optional<size_t> GetTypeBitAlign(ExecutionContextScope *exe_scope) const;
|
||||
|
||||
uint32_t GetNumChildren(bool omit_empty_base_classes,
|
||||
const ExecutionContext *exe_ctx) const;
|
||||
|
|
|
@ -387,7 +387,8 @@ public:
|
|||
uint32_t &length) = 0;
|
||||
|
||||
virtual llvm::Optional<size_t>
|
||||
GetTypeBitAlign(lldb::opaque_compiler_type_t type) = 0;
|
||||
GetTypeBitAlign(lldb::opaque_compiler_type_t type,
|
||||
ExecutionContextScope *exe_scope) = 0;
|
||||
|
||||
virtual CompilerType GetBasicTypeFromAST(lldb::BasicType basic_type) = 0;
|
||||
|
||||
|
|
|
@ -531,7 +531,7 @@ public:
|
|||
}
|
||||
|
||||
llvm::Optional<size_t> opt_bit_align =
|
||||
m_variable_sp->GetType()->GetLayoutCompilerType().GetTypeBitAlign();
|
||||
m_variable_sp->GetType()->GetLayoutCompilerType().GetTypeBitAlign(scope);
|
||||
if (!opt_bit_align) {
|
||||
err.SetErrorStringWithFormat("can't get the type alignment for %s",
|
||||
m_variable_sp->GetName().AsCString());
|
||||
|
@ -792,7 +792,7 @@ public:
|
|||
return;
|
||||
}
|
||||
|
||||
llvm::Optional<size_t> opt_bit_align = m_type.GetTypeBitAlign();
|
||||
llvm::Optional<size_t> opt_bit_align = m_type.GetTypeBitAlign(exe_scope);
|
||||
if (!opt_bit_align) {
|
||||
err.SetErrorStringWithFormat("can't get the type alignment");
|
||||
return;
|
||||
|
|
|
@ -1302,7 +1302,7 @@ bool IRForTarget::MaybeHandleVariable(Value *llvm_value_ptr) {
|
|||
llvm::Optional<uint64_t> value_size = compiler_type.GetByteSize(nullptr);
|
||||
if (!value_size)
|
||||
return false;
|
||||
llvm::Optional<size_t> opt_alignment = compiler_type.GetTypeBitAlign();
|
||||
llvm::Optional<size_t> opt_alignment = compiler_type.GetTypeBitAlign(nullptr);
|
||||
if (!opt_alignment)
|
||||
return false;
|
||||
lldb::offset_t value_alignment = (*opt_alignment + 7ull) / 8ull;
|
||||
|
|
|
@ -5088,7 +5088,8 @@ ClangASTContext::GetBitSize(lldb::opaque_compiler_type_t type,
|
|||
}
|
||||
|
||||
llvm::Optional<size_t>
|
||||
ClangASTContext::GetTypeBitAlign(lldb::opaque_compiler_type_t type) {
|
||||
ClangASTContext::GetTypeBitAlign(lldb::opaque_compiler_type_t type,
|
||||
ExecutionContextScope *exe_scope) {
|
||||
if (GetCompleteType(type))
|
||||
return getASTContext()->getTypeAlign(GetQualType(type));
|
||||
return {};
|
||||
|
|
|
@ -503,9 +503,9 @@ CompilerType::GetByteSize(ExecutionContextScope *exe_scope) const {
|
|||
return {};
|
||||
}
|
||||
|
||||
llvm::Optional<size_t> CompilerType::GetTypeBitAlign() const {
|
||||
llvm::Optional<size_t> CompilerType::GetTypeBitAlign(ExecutionContextScope *exe_scope) const {
|
||||
if (IsValid())
|
||||
return m_type_system->GetTypeBitAlign(m_type);
|
||||
return m_type_system->GetTypeBitAlign(m_type, exe_scope);
|
||||
return {};
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue