aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/IR/Verifier.cpp
diff options
context:
space:
mode:
authorOrlando Cazalet-Hyams <orlando.hyams@sony.com>2024-04-18 12:08:31 +0100
committerGitHub <noreply@github.com>2024-04-18 12:08:31 +0100
commit8d6a9c05f6d676c93c84ebf06cf6263657e74c00 (patch)
tree5c05aaba0b42913a5d8e12479236948593ccb2c4 /llvm/lib/IR/Verifier.cpp
parent3da065896b1b59fd8291958e8d13f4a942d51214 (diff)
downloadllvm-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.cpp3
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,