diff options
author | Nikola Smiljanic <popizdeh@gmail.com> | 2014-05-29 14:05:12 +0000 |
---|---|---|
committer | Nikola Smiljanic <popizdeh@gmail.com> | 2014-05-29 14:05:12 +0000 |
commit | f6cf7c7789744fcba00e5eec9b21e44676b35d0d (patch) | |
tree | 884ab3fbb64b5cb4d7914077884c4371cc498b7e /lib/Sema/SemaTemplate.cpp | |
parent | 8aaef7c3093b2171b3c6a69d82e06130ff96277a (diff) |
Refactoring. Remove Owned method from Sema.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@209812 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaTemplate.cpp')
-rw-r--r-- | lib/Sema/SemaTemplate.cpp | 55 |
1 files changed, 23 insertions, 32 deletions
diff --git a/lib/Sema/SemaTemplate.cpp b/lib/Sema/SemaTemplate.cpp index e4ab2bd1a6..92197e43e2 100644 --- a/lib/Sema/SemaTemplate.cpp +++ b/lib/Sema/SemaTemplate.cpp @@ -421,15 +421,10 @@ Sema::ActOnDependentIdExpression(const CXXScopeSpec &SS, // perform the double-lookup check. NamedDecl *FirstQualifierInScope = nullptr; - return Owned(CXXDependentScopeMemberExpr::Create(Context, - /*This*/ nullptr, ThisType, - /*IsArrow*/ true, - /*Op*/ SourceLocation(), - SS.getWithLocInContext(Context), - TemplateKWLoc, - FirstQualifierInScope, - NameInfo, - TemplateArgs)); + return CXXDependentScopeMemberExpr::Create( + Context, /*This*/ nullptr, ThisType, /*IsArrow*/ true, + /*Op*/ SourceLocation(), SS.getWithLocInContext(Context), TemplateKWLoc, + FirstQualifierInScope, NameInfo, TemplateArgs); } return BuildDependentDeclRefExpr(SS, TemplateKWLoc, NameInfo, TemplateArgs); @@ -440,11 +435,9 @@ Sema::BuildDependentDeclRefExpr(const CXXScopeSpec &SS, SourceLocation TemplateKWLoc, const DeclarationNameInfo &NameInfo, const TemplateArgumentListInfo *TemplateArgs) { - return Owned(DependentScopeDeclRefExpr::Create(Context, - SS.getWithLocInContext(Context), - TemplateKWLoc, - NameInfo, - TemplateArgs)); + return DependentScopeDeclRefExpr::Create( + Context, SS.getWithLocInContext(Context), TemplateKWLoc, NameInfo, + TemplateArgs); } /// DiagnoseTemplateParameterShadow - Produce a diagnostic complaining @@ -2869,7 +2862,7 @@ ExprResult Sema::BuildTemplateIdExpr(const CXXScopeSpec &SS, RequiresADL, TemplateArgs, R.begin(), R.end()); - return Owned(ULE); + return ULE; } // We actually only call this from template instantiation. @@ -3452,11 +3445,9 @@ bool Sema::CheckTemplateArgument(NamedDecl *Param, // so it was provided with a template keyword. However, its source // location is not stored in the template argument structure. SourceLocation TemplateKWLoc; - ExprResult E = Owned(DependentScopeDeclRefExpr::Create(Context, - SS.getWithLocInContext(Context), - TemplateKWLoc, - NameInfo, - nullptr)); + ExprResult E = DependentScopeDeclRefExpr::Create( + Context, SS.getWithLocInContext(Context), TemplateKWLoc, NameInfo, + nullptr); // If we parsed the template argument as a pack expansion, create a // pack expansion expression. @@ -4732,7 +4723,7 @@ ExprResult Sema::CheckTemplateArgument(NonTypeTemplateParmDecl *Param, if (InstantiatedParamType->isDependentType() || Arg->isTypeDependent()) { // FIXME: Produce a cloned, canonical expression? Converted = TemplateArgument(Arg); - return Owned(Arg); + return Arg; } // C++ [temp.arg.nontype]p5: @@ -4776,7 +4767,7 @@ ExprResult Sema::CheckTemplateArgument(NonTypeTemplateParmDecl *Param, // we should be able to diagnose that prior to instantiation. if (Arg->isValueDependent()) { Converted = TemplateArgument(Arg); - return Owned(Arg); + return Arg; } // C++ [temp.arg.nontype]p1: @@ -4878,7 +4869,7 @@ ExprResult Sema::CheckTemplateArgument(NonTypeTemplateParmDecl *Param, // The argument is value-dependent. Create a new // TemplateArgument with the converted expression. Converted = TemplateArgument(Arg); - return Owned(Arg); + return Arg; } QualType IntegerType = Context.getCanonicalType(ParamType); @@ -4932,7 +4923,7 @@ ExprResult Sema::CheckTemplateArgument(NonTypeTemplateParmDecl *Param, ParamType->isEnumeralType() ? Context.getCanonicalType(ParamType) : IntegerType); - return Owned(Arg); + return Arg; } QualType ArgType = Arg->getType(); @@ -4980,13 +4971,13 @@ ExprResult Sema::CheckTemplateArgument(NonTypeTemplateParmDecl *Param, ParamType, Arg, Converted)) return ExprError(); - return Owned(Arg); + return Arg; } if (CheckTemplateArgumentPointerToMember(*this, Param, ParamType, Arg, Converted)) return ExprError(); - return Owned(Arg); + return Arg; } if (ParamType->isPointerType()) { @@ -5001,7 +4992,7 @@ ExprResult Sema::CheckTemplateArgument(NonTypeTemplateParmDecl *Param, ParamType, Arg, Converted)) return ExprError(); - return Owned(Arg); + return Arg; } if (const ReferenceType *ParamRefType = ParamType->getAs<ReferenceType>()) { @@ -5032,14 +5023,14 @@ ExprResult Sema::CheckTemplateArgument(NonTypeTemplateParmDecl *Param, ParamType, Arg, Converted)) return ExprError(); - return Owned(Arg); + return Arg; } // Deal with parameters of type std::nullptr_t. if (ParamType->isNullPtrType()) { if (Arg->isTypeDependent() || Arg->isValueDependent()) { Converted = TemplateArgument(Arg); - return Owned(Arg); + return Arg; } switch (isNullPointerValueTemplateArgument(*this, Param, ParamType, Arg)) { @@ -5055,7 +5046,7 @@ ExprResult Sema::CheckTemplateArgument(NonTypeTemplateParmDecl *Param, case NPV_NullPointer: Diag(Arg->getExprLoc(), diag::warn_cxx98_compat_template_arg_null); Converted = TemplateArgument(ParamType, /*isNullPtr*/true); - return Owned(Arg); + return Arg; } } @@ -5066,7 +5057,7 @@ ExprResult Sema::CheckTemplateArgument(NonTypeTemplateParmDecl *Param, if (CheckTemplateArgumentPointerToMember(*this, Param, ParamType, Arg, Converted)) return ExprError(); - return Owned(Arg); + return Arg; } /// \brief Check a template argument against its corresponding @@ -5295,7 +5286,7 @@ Sema::BuildExpressionFromIntegralTemplateArgument(const TemplateArgument &Arg, Loc, Loc); } - return Owned(E); + return E; } /// \brief Match two template parameters within template parameter lists. |