diff options
author | John McCall <rjmccall@apple.com> | 2010-11-15 09:13:47 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2010-11-15 09:13:47 +0000 |
commit | daa8e4e888758d55a7a759dd4a91b83921cef222 (patch) | |
tree | da0538d1a354cd6a6fabcd34d8015c90b6b28754 /lib/Sema/SemaTemplate.cpp | |
parent | 5ede807c1194c3a44c0adee83eca24efd626e5bb (diff) |
Assorted work leading towards the elimination of CK_Unknown.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@119138 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaTemplate.cpp')
-rw-r--r-- | lib/Sema/SemaTemplate.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/Sema/SemaTemplate.cpp b/lib/Sema/SemaTemplate.cpp index 3243903863..3f4a1af772 100644 --- a/lib/Sema/SemaTemplate.cpp +++ b/lib/Sema/SemaTemplate.cpp @@ -3087,7 +3087,10 @@ bool Sema::CheckTemplateArgument(NonTypeTemplateParmDecl *Param, Diag(StartLoc, diag::err_deduced_non_type_template_arg_type_mismatch) << ArgType << ParamType; Diag(Param->getLocation(), diag::note_template_param_here); - return true; + return true; + } else if (ParamType->isBooleanType()) { + // This is an integral-to-boolean conversion. + ImpCastExprToType(Arg, ParamType, CK_IntegralToBoolean); } else if (IsIntegralPromotion(Arg, ArgType, ParamType) || !ParamType->isEnumeralType()) { // This is an integral promotion or conversion. |