aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CGDebugInfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/CodeGen/CGDebugInfo.cpp')
-rw-r--r--clang/lib/CodeGen/CGDebugInfo.cpp23
1 files changed, 1 insertions, 22 deletions
diff --git a/clang/lib/CodeGen/CGDebugInfo.cpp b/clang/lib/CodeGen/CGDebugInfo.cpp
index 001b208..ee5e3d6 100644
--- a/clang/lib/CodeGen/CGDebugInfo.cpp
+++ b/clang/lib/CodeGen/CGDebugInfo.cpp
@@ -1564,28 +1564,7 @@ llvm::DIType *CGDebugInfo::CreateType(const TemplateSpecializationType *Ty,
SourceLocation Loc = AliasDecl->getLocation();
- if (CGM.getCodeGenOpts().DebugTemplateAlias &&
- // FIXME: This is a workaround for the issue
- // https://github.com/llvm/llvm-project/issues/89774
- // The TemplateSpecializationType doesn't contain any instantiation
- // information; dependent template arguments can't be resolved. For now,
- // fall back to DW_TAG_typedefs for template aliases that are
- // instantiation dependent, e.g.:
- // ```
- // template <int>
- // using A = int;
- //
- // template<int I>
- // struct S {
- // using AA = A<I>; // Instantiation dependent.
- // AA aa;
- // };
- //
- // S<0> s;
- // ```
- // S::AA's underlying type A<I> is dependent on I so will be emitted as a
- // DW_TAG_typedef.
- !Ty->isInstantiationDependentType()) {
+ if (CGM.getCodeGenOpts().DebugTemplateAlias) {
auto ArgVector = ::GetTemplateArgs(TD, Ty);
TemplateArgs Args = {TD->getTemplateParameters(), ArgVector};