Add type-checking and implicit conversions for template parameters of
integral or enumeration type.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64256 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/Sema/Sema.h b/lib/Sema/Sema.h
index 669fd92..5ee14fa 100644
--- a/lib/Sema/Sema.h
+++ b/lib/Sema/Sema.h
@@ -281,6 +281,9 @@
SourceRange Range2 = SourceRange(),
QualType PrintType = QualType());
+ bool hasSameType(QualType T1, QualType T2);
+ bool hasSameUnqualifiedType(QualType T1, QualType T2);
+
//===--------------------------------------------------------------------===//
// Symbol table / Decl tracking callbacks: SemaDecl.cpp.
//
@@ -1547,7 +1550,7 @@
bool CheckTemplateArgument(TemplateTypeParmDecl *Param, QualType Arg,
SourceLocation ArgLoc);
- bool CheckTemplateArgument(NonTypeTemplateParmDecl *Param, Expr *Arg);
+ bool CheckTemplateArgument(NonTypeTemplateParmDecl *Param, Expr *&Arg);
bool CheckTemplateArgument(TemplateTemplateParmDecl *Param, DeclRefExpr *Arg);
bool TemplateParameterListsAreEqual(TemplateParameterList *New,
TemplateParameterList *Old,