diff options
Diffstat (limited to 'lib/Sema/SemaTemplate.cpp')
-rw-r--r-- | lib/Sema/SemaTemplate.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/Sema/SemaTemplate.cpp b/lib/Sema/SemaTemplate.cpp index 594b7b24fb..d283b6d234 100644 --- a/lib/Sema/SemaTemplate.cpp +++ b/lib/Sema/SemaTemplate.cpp @@ -3904,7 +3904,8 @@ ExprResult Sema::CheckTemplateArgument(NonTypeTemplateParmDecl *Param, bool ObjCLifetimeConversion; if (IsQualificationConversion(ArgType, ParamType.getNonReferenceType(), false, ObjCLifetimeConversion)) { - Arg = ImpCastExprToType(Arg, ParamType, CK_NoOp, CastCategory(Arg)).take(); + Arg = ImpCastExprToType(Arg, ParamType, CK_NoOp, + Arg->getValueKind()).take(); } else if (!Context.hasSameUnqualifiedType(ArgType, ParamType.getNonReferenceType())) { // We can't perform this conversion. @@ -3975,7 +3976,8 @@ ExprResult Sema::CheckTemplateArgument(NonTypeTemplateParmDecl *Param, // Types match exactly: nothing more to do here. } else if (IsQualificationConversion(ArgType, ParamType, false, ObjCLifetimeConversion)) { - Arg = ImpCastExprToType(Arg, ParamType, CK_NoOp, CastCategory(Arg)).take(); + Arg = ImpCastExprToType(Arg, ParamType, CK_NoOp, + Arg->getValueKind()).take(); } else { // We can't perform this conversion. Diag(Arg->getSourceRange().getBegin(), |