diff options
Diffstat (limited to 'clang/lib/CodeGen/CGDebugInfo.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGDebugInfo.cpp | 23 |
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}; |