llvm-project/clang/unittests
Nico Weber 26911c7733 Make ParentMap work with explicit specializations of function templates.
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
2016-02-08 22:23:09 +00:00
..
AST Remove autoconf support 2016-01-26 21:30:40 +00:00
ASTMatchers Make ParentMap work with explicit specializations of function templates. 2016-02-08 22:23:09 +00:00
Basic Remove autoconf support 2016-01-26 21:30:40 +00:00
CodeGen Remove autoconf support 2016-01-26 21:30:40 +00:00
Driver Remove autoconf support 2016-01-26 21:30:40 +00:00
Format clang-format: Fix weird alignment when not aligning after brackets. 2016-02-08 09:52:54 +00:00
Frontend Remove autoconf support 2016-01-26 21:30:40 +00:00
Lex Remove autoconf support 2016-01-26 21:30:40 +00:00
Rewrite Remove autoconf support 2016-01-26 21:30:40 +00:00
Sema Remove autoconf support 2016-01-26 21:30:40 +00:00
StaticAnalyzer Remove autoconf support 2016-01-26 21:30:40 +00:00
Tooling Remove autoconf support 2016-01-26 21:30:40 +00:00
libclang Remove autoconf support 2016-01-26 21:30:40 +00:00
CMakeLists.txt [CMake] Don't build the libclang tests unless you're building libclang 2015-12-04 23:12:19 +00:00