diff options
Diffstat (limited to 'llvm/lib/IR/DIBuilder.cpp')
-rw-r--r-- | llvm/lib/IR/DIBuilder.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/llvm/lib/IR/DIBuilder.cpp b/llvm/lib/IR/DIBuilder.cpp index dc5768dd4f26..16f7072d9d04 100644 --- a/llvm/lib/IR/DIBuilder.cpp +++ b/llvm/lib/IR/DIBuilder.cpp @@ -293,6 +293,22 @@ DIStringType *DIBuilder::createStringType(StringRef Name, uint64_t SizeInBits) { SizeInBits, 0); } +DIStringType *DIBuilder::createStringType(StringRef Name, + DIVariable *StringLength, + DIExpression *StrLocationExp) { + assert(!Name.empty() && "Unable to create type without name"); + return DIStringType::get(VMContext, dwarf::DW_TAG_string_type, Name, + StringLength, nullptr, StrLocationExp, 0, 0, 0); +} + +DIStringType *DIBuilder::createStringType(StringRef Name, + DIExpression *StringLengthExp, + DIExpression *StrLocationExp) { + assert(!Name.empty() && "Unable to create type without name"); + return DIStringType::get(VMContext, dwarf::DW_TAG_string_type, Name, nullptr, + StringLengthExp, StrLocationExp, 0, 0, 0); +} + DIDerivedType *DIBuilder::createQualifiedType(unsigned Tag, DIType *FromTy) { return DIDerivedType::get(VMContext, Tag, "", nullptr, 0, nullptr, FromTy, 0, 0, 0, None, DINode::FlagZero); |