diff options
Diffstat (limited to 'contrib/llvm-project/clang/include/clang/AST/DeclTemplate.h')
-rwxr-xr-x | contrib/llvm-project/clang/include/clang/AST/DeclTemplate.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/contrib/llvm-project/clang/include/clang/AST/DeclTemplate.h b/contrib/llvm-project/clang/include/clang/AST/DeclTemplate.h index 725bb0bced9c..baed5ca22fa7 100755 --- a/contrib/llvm-project/clang/include/clang/AST/DeclTemplate.h +++ b/contrib/llvm-project/clang/include/clang/AST/DeclTemplate.h @@ -3287,8 +3287,12 @@ public: return isa<TemplateTypeParmDecl>(getTemplateParameters()->getParam(0)); } - ConceptDecl *getCanonicalDecl() override { return getFirstDecl(); } - const ConceptDecl *getCanonicalDecl() const { return getFirstDecl(); } + ConceptDecl *getCanonicalDecl() override { + return cast<ConceptDecl>(getPrimaryMergedDecl(this)); + } + const ConceptDecl *getCanonicalDecl() const { + return const_cast<ConceptDecl *>(this)->getCanonicalDecl(); + } // Implement isa/cast/dyncast/etc. static bool classof(const Decl *D) { return classofKind(D->getKind()); } |