diff options
author | Orlando Cazalet-Hyams <orlando.hyams@sony.com> | 2024-04-18 12:08:31 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-04-18 12:08:31 +0100 |
commit | 8d6a9c05f6d676c93c84ebf06cf6263657e74c00 (patch) | |
tree | 5c05aaba0b42913a5d8e12479236948593ccb2c4 /llvm/lib/IR/Verifier.cpp | |
parent | 3da065896b1b59fd8291958e8d13f4a942d51214 (diff) | |
download | llvm-8d6a9c05f6d676c93c84ebf06cf6263657e74c00.zip llvm-8d6a9c05f6d676c93c84ebf06cf6263657e74c00.tar.gz llvm-8d6a9c05f6d676c93c84ebf06cf6263657e74c00.tar.bz2 |
[DWARF] Add support for DW_TAG_template_alias for template aliases (#88943)
Part 1 of fix for issue
https://github.com/llvm/llvm-project/issues/54624
Split from PR #87623. Clang front end changes to follow.
Use DICompositeType to represent the template alias, using its extraData
field as a tuple of DITemplateParameter to describe the template
parameters.
Added template-alias.ll - Check DWARF emission.
Modified frame-types.s - Check llvm-symbolizer understands the DIE.
Diffstat (limited to 'llvm/lib/IR/Verifier.cpp')
-rw-r--r-- | llvm/lib/IR/Verifier.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/llvm/lib/IR/Verifier.cpp b/llvm/lib/IR/Verifier.cpp index 4cd61e6..0d6db3d 100644 --- a/llvm/lib/IR/Verifier.cpp +++ b/llvm/lib/IR/Verifier.cpp @@ -1240,7 +1240,8 @@ void Verifier::visitDIDerivedType(const DIDerivedType &N) { (N.getTag() == dwarf::DW_TAG_variable && N.isStaticMember()) || N.getTag() == dwarf::DW_TAG_inheritance || N.getTag() == dwarf::DW_TAG_friend || - N.getTag() == dwarf::DW_TAG_set_type, + N.getTag() == dwarf::DW_TAG_set_type || + N.getTag() == dwarf::DW_TAG_template_alias, "invalid tag", &N); if (N.getTag() == dwarf::DW_TAG_ptr_to_member_type) { CheckDI(isType(N.getRawExtraData()), "invalid pointer to member type", &N, |