Start canonicalizing template names. This is not yet complete, but it
improves type identity with dependent types.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71152 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/SemaTemplate.cpp b/lib/Sema/SemaTemplate.cpp
index 3649abd..6c4adbd 100644
--- a/lib/Sema/SemaTemplate.cpp
+++ b/lib/Sema/SemaTemplate.cpp
@@ -818,8 +818,8 @@
// A<T, T> have identical types when A is declared as:
//
// template<typename T, typename U = T> struct A;
-
- CanonType = Context.getTemplateSpecializationType(Name,
+ TemplateName CanonName = Context.getCanonicalTemplateName(Name);
+ CanonType = Context.getTemplateSpecializationType(CanonName,
&ConvertedTemplateArgs[0],
ConvertedTemplateArgs.size());
} else if (ClassTemplateDecl *ClassTemplate