diff options
author | YASHASVI KHATAVKAR <yashasvi.khatavkar@intel.com> | 2022-02-11 14:38:50 -0500 |
---|---|---|
committer | YASHASVI KHATAVKAR <yashasvi.khatavkar@intel.com> | 2022-02-11 14:40:02 -0500 |
commit | 70fdbf35de1c37a22a5321ed7d7d2c190d788549 (patch) | |
tree | 330a56d786ebb49886e53bbcd82bb6a9840ef049 /llvm/lib/IR/DIBuilder.cpp | |
parent | c02deae18cb26bb6d2d8c8a2fa1dd8b7e0dfda44 (diff) | |
download | llvm-70fdbf35de1c37a22a5321ed7d7d2c190d788549.zip llvm-70fdbf35de1c37a22a5321ed7d7d2c190d788549.tar.gz llvm-70fdbf35de1c37a22a5321ed7d7d2c190d788549.tar.bz2 |
Adding DiBuilder interface for assumed length strings
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 dc5768d..16f7072 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); |