diff options
-rw-r--r-- | clang/lib/Index/IndexDecl.cpp | 3 | ||||
-rw-r--r-- | clang/test/Index/index-template-template-param.cpp | 7 |
2 files changed, 8 insertions, 2 deletions
diff --git a/clang/lib/Index/IndexDecl.cpp b/clang/lib/Index/IndexDecl.cpp index ee28ef737d9..2704e6da950 100644 --- a/clang/lib/Index/IndexDecl.cpp +++ b/clang/lib/Index/IndexDecl.cpp @@ -666,7 +666,6 @@ public: } bool VisitTemplateDecl(const TemplateDecl *D) { - // FIXME: Template parameters. // Index the default values for the template parameters. const NamedDecl *Parent = D->getTemplatedDecl(); @@ -683,7 +682,7 @@ public: } else if (const auto *TTPD = dyn_cast<TemplateTemplateParmDecl>(TP)) { if (TTPD->hasDefaultArgument()) handleTemplateArgumentLoc(TTPD->getDefaultArgument(), Parent, - /*DC=*/nullptr); + TP->getLexicalDeclContext()); } } } diff --git a/clang/test/Index/index-template-template-param.cpp b/clang/test/Index/index-template-template-param.cpp new file mode 100644 index 00000000000..af1c4634adb --- /dev/null +++ b/clang/test/Index/index-template-template-param.cpp @@ -0,0 +1,7 @@ +// RUN: c-index-test -index-file %s -x objective-c++ | FileCheck %s + +template <typename T> class Template1 {}; + +template <template <class> class TMPL = Template1> class Template2; + +// CHECK: [indexEntityReference]: kind: c++-class-template | name: Template1 | |