forked from OSchip/llvm-project
26911c7733
For an explicit specialization, we first build a FunctionDecl, and then we call SubstDecl() on it to build a second FunctionDecl, which has the first FunctionDecl as canonical decl. The address of an explicit specialization of function template used to be the canonical decl of the FunctionDecl. This is different from all the other DeduceTemplateArguments() calls in SemaOverload, and since the canonical decl isn't visited by ParentMap while the redecl is, it also made ParentMap assert when computing the parent of a address-of-explicit-specialization-fun-template. To fix, remove the getCanonicalDecl() call. No behavior difference for clang, but it fixes an assert in ParentMap (which is e.g. used by libTooling). llvm-svn: 260159 |
||
---|---|---|
.. | ||
AST | ||
ASTMatchers | ||
Basic | ||
CodeGen | ||
Driver | ||
Format | ||
Frontend | ||
Lex | ||
Rewrite | ||
Sema | ||
StaticAnalyzer | ||
Tooling | ||
libclang | ||
CMakeLists.txt |