diff options
author | Stephen Kelly <steveire@gmail.com> | 2018-08-09 21:08:08 +0000 |
---|---|---|
committer | Stephen Kelly <steveire@gmail.com> | 2018-08-09 21:08:08 +0000 |
commit | f2ceec4811c3587056344dd5ef8d819261e256ad (patch) | |
tree | e3d713a6806e8f9b334df4a7083d82dfc5c06d79 /clang/lib/Sema/SemaExprCXX.cpp | |
parent | a6e4358f071e18aa969c0ae820745510b3581aff (diff) | |
download | bcm5719-llvm-f2ceec4811c3587056344dd5ef8d819261e256ad.tar.gz bcm5719-llvm-f2ceec4811c3587056344dd5ef8d819261e256ad.zip |
Port getLocStart -> getBeginLoc
Reviewers: teemperor!
Subscribers: jholewinski, whisperity, jfb, cfe-commits
Differential Revision: https://reviews.llvm.org/D50350
llvm-svn: 339385
Diffstat (limited to 'clang/lib/Sema/SemaExprCXX.cpp')
-rw-r--r-- | clang/lib/Sema/SemaExprCXX.cpp | 155 |
1 files changed, 73 insertions, 82 deletions
diff --git a/clang/lib/Sema/SemaExprCXX.cpp b/clang/lib/Sema/SemaExprCXX.cpp index c851a81af46..cef8ba320c0 100644 --- a/clang/lib/Sema/SemaExprCXX.cpp +++ b/clang/lib/Sema/SemaExprCXX.cpp @@ -419,8 +419,8 @@ bool Sema::checkLiteralOperatorId(const CXXScopeSpec &SS, // namespace scope. Therefore, this unqualified-id cannot name anything. // Reject it early, because we have no AST representation for this in the // case where the scope is dependent. - Diag(Name.getLocStart(), diag::err_literal_operator_id_outside_namespace) - << SS.getScopeRep(); + Diag(Name.getBeginLoc(), diag::err_literal_operator_id_outside_namespace) + << SS.getScopeRep(); return true; case NestedNameSpecifier::Global: @@ -1793,20 +1793,21 @@ Sema::BuildCXXNew(SourceRange Range, bool UseGlobal, // A new-expression that creates an object of type T initializes that // object as follows: InitializationKind Kind - // - If the new-initializer is omitted, the object is default- - // initialized (8.5); if no initialization is performed, - // the object has indeterminate value - = initStyle == CXXNewExpr::NoInit - ? InitializationKind::CreateDefault(TypeRange.getBegin()) - // - Otherwise, the new-initializer is interpreted according to the - // initialization rules of 8.5 for direct-initialization. - : initStyle == CXXNewExpr::ListInit - ? InitializationKind::CreateDirectList(TypeRange.getBegin(), - Initializer->getLocStart(), - Initializer->getLocEnd()) - : InitializationKind::CreateDirect(TypeRange.getBegin(), - DirectInitRange.getBegin(), - DirectInitRange.getEnd()); + // - If the new-initializer is omitted, the object is default- + // initialized (8.5); if no initialization is performed, + // the object has indeterminate value + = initStyle == CXXNewExpr::NoInit + ? InitializationKind::CreateDefault(TypeRange.getBegin()) + // - Otherwise, the new-initializer is interpreted according to + // the + // initialization rules of 8.5 for direct-initialization. + : initStyle == CXXNewExpr::ListInit + ? InitializationKind::CreateDirectList( + TypeRange.getBegin(), Initializer->getBeginLoc(), + Initializer->getLocEnd()) + : InitializationKind::CreateDirect(TypeRange.getBegin(), + DirectInitRange.getBegin(), + DirectInitRange.getEnd()); // C++11 [dcl.spec.auto]p6. Deduce the type which 'auto' stands in for. auto *Deduced = AllocType->getContainedDeducedType(); @@ -1837,12 +1838,12 @@ Sema::BuildCXXNew(SourceRange Range, bool UseGlobal, << AllocType << TypeRange); if (NumInits > 1) { Expr *FirstBad = Inits[1]; - return ExprError(Diag(FirstBad->getLocStart(), + return ExprError(Diag(FirstBad->getBeginLoc(), diag::err_auto_new_ctor_multiple_expressions) << AllocType << TypeRange); } if (Braced && !getLangOpts().CPlusPlus17) - Diag(Initializer->getLocStart(), diag::ext_auto_new_list_init) + Diag(Initializer->getBeginLoc(), diag::ext_auto_new_list_init) << AllocType << TypeRange; Expr *Deduce = Inits[0]; QualType DeducedType; @@ -1989,7 +1990,7 @@ Sema::BuildCXXNew(SourceRange Range, bool UseGlobal, // C++14 onwards, because Value is always unsigned here! if (ArraySize->isIntegerConstantExpr(Value, Context)) { if (Value.isSigned() && Value.isNegative()) { - return ExprError(Diag(ArraySize->getLocStart(), + return ExprError(Diag(ArraySize->getBeginLoc(), diag::err_typecheck_negative_array_size) << ArraySize->getSourceRange()); } @@ -1998,19 +1999,18 @@ Sema::BuildCXXNew(SourceRange Range, bool UseGlobal, unsigned ActiveSizeBits = ConstantArrayType::getNumAddressingBits(Context, AllocType, Value); if (ActiveSizeBits > ConstantArrayType::getMaxSizeBits(Context)) - return ExprError(Diag(ArraySize->getLocStart(), - diag::err_array_too_large) - << Value.toString(10) - << ArraySize->getSourceRange()); + return ExprError( + Diag(ArraySize->getBeginLoc(), diag::err_array_too_large) + << Value.toString(10) << ArraySize->getSourceRange()); } KnownArraySize = Value.getZExtValue(); } else if (TypeIdParens.isValid()) { // Can't have dynamic array size when the type-id is in parentheses. - Diag(ArraySize->getLocStart(), diag::ext_new_paren_array_nonconst) - << ArraySize->getSourceRange() - << FixItHint::CreateRemoval(TypeIdParens.getBegin()) - << FixItHint::CreateRemoval(TypeIdParens.getEnd()); + Diag(ArraySize->getBeginLoc(), diag::ext_new_paren_array_nonconst) + << ArraySize->getSourceRange() + << FixItHint::CreateRemoval(TypeIdParens.getBegin()) + << FixItHint::CreateRemoval(TypeIdParens.getEnd()); TypeIdParens = SourceRange(); } @@ -2072,8 +2072,8 @@ Sema::BuildCXXNew(SourceRange Range, bool UseGlobal, // global operator new. if (PlacementArgs.empty() && !PassAlignment && (OperatorNew->isImplicit() || - (OperatorNew->getLocStart().isValid() && - getSourceManager().isInSystemHeader(OperatorNew->getLocStart())))) { + (OperatorNew->getBeginLoc().isValid() && + getSourceManager().isInSystemHeader(OperatorNew->getBeginLoc())))) { if (Alignment > NewAlignment) Diag(StartLoc, diag::warn_overaligned_type) << AllocType @@ -2086,7 +2086,7 @@ Sema::BuildCXXNew(SourceRange Range, bool UseGlobal, // Initializer lists are also allowed, in C++11. Rely on the parser for the // dialect distinction. if (ArraySize && !isLegalArrayNewInitializer(initStyle, Initializer)) { - SourceRange InitRange(Inits[0]->getLocStart(), + SourceRange InitRange(Inits[0]->getBeginLoc(), Inits[NumInits - 1]->getLocEnd()); Diag(StartLoc, diag::err_new_array_init_args) << InitRange; return ExprError(); @@ -2593,7 +2593,7 @@ bool Sema::FindAllocationFunctions(SourceLocation StartLoc, SourceRange Range, if (IsSizedDelete) { SourceRange R = PlaceArgs.empty() ? SourceRange() - : SourceRange(PlaceArgs.front()->getLocStart(), + : SourceRange(PlaceArgs.front()->getBeginLoc(), PlaceArgs.back()->getLocEnd()); Diag(StartLoc, diag::err_placement_new_non_placement_delete) << R; if (!OperatorDelete->isImplicit()) @@ -3162,12 +3162,12 @@ void Sema::AnalyzeDeleteExprMismatch(const CXXDeleteExpr *DE) { switch (Detector.analyzeDeleteExpr(DE)) { case MismatchingNewDeleteDetector::VarInitMismatches: case MismatchingNewDeleteDetector::MemberInitMismatches: { - DiagnoseMismatchedNewDelete(*this, DE->getLocStart(), Detector); + DiagnoseMismatchedNewDelete(*this, DE->getBeginLoc(), Detector); break; } case MismatchingNewDeleteDetector::AnalyzeLater: { DeleteExprs[Detector.Field].push_back( - std::make_pair(DE->getLocStart(), DE->isArrayForm())); + std::make_pair(DE->getBeginLoc(), DE->isArrayForm())); break; } case MismatchingNewDeleteDetector::NoMismatch: @@ -3286,10 +3286,10 @@ Sema::ActOnCXXDelete(SourceLocation StartLoc, bool UseGlobal, if (Pointee.getAddressSpace() != LangAS::Default && !getLangOpts().OpenCLCPlusPlus) - return Diag(Ex.get()->getLocStart(), + return Diag(Ex.get()->getBeginLoc(), diag::err_address_space_qualified_delete) - << Pointee.getUnqualifiedType() - << Pointee.getQualifiers().getAddressSpaceAttributePrintValue(); + << Pointee.getUnqualifiedType() + << Pointee.getQualifiers().getAddressSpaceAttributePrintValue(); CXXRecordDecl *PointeeRD = nullptr; if (Pointee->isVoidType() && !isSFINAEContext()) { @@ -3427,7 +3427,7 @@ static bool resolveBuiltinNewDeleteOverload(Sema &S, CallExpr *TheCall, DeclarationName NewName = S.Context.DeclarationNames.getCXXOperatorName( IsDelete ? OO_Delete : OO_New); - LookupResult R(S, NewName, TheCall->getLocStart(), Sema::LookupOrdinaryName); + LookupResult R(S, NewName, TheCall->getBeginLoc(), Sema::LookupOrdinaryName); S.LookupQualifiedName(R, S.Context.getTranslationUnitDecl()); assert(!R.empty() && "implicitly declared allocation functions not found"); assert(!R.isAmbiguous() && "global allocation functions are ambiguous"); @@ -3529,7 +3529,7 @@ Sema::SemaBuiltinOperatorNewDeleteOverloaded(ExprResult TheCallResult, InitializedEntity Entity = InitializedEntity::InitializeParameter(Context, ParamTy, false); ExprResult Arg = PerformCopyInitialization( - Entity, TheCall->getArg(i)->getLocStart(), TheCall->getArg(i)); + Entity, TheCall->getArg(i)->getBeginLoc(), TheCall->getArg(i)); if (Arg.isInvalid()) return ExprError(); TheCall->setArg(i, Arg.get()); @@ -3817,14 +3817,10 @@ Sema::PerformImplicitConversion(Expr *From, QualType ToType, From = Res.get(); } - ExprResult CastArg - = BuildCXXCastArgument(*this, - From->getLocStart(), - ToType.getNonReferenceType(), - CastKind, cast<CXXMethodDecl>(FD), - ICS.UserDefined.FoundConversionFunction, - ICS.UserDefined.HadMultipleCandidates, - From); + ExprResult CastArg = BuildCXXCastArgument( + *this, From->getBeginLoc(), ToType.getNonReferenceType(), CastKind, + cast<CXXMethodDecl>(FD), ICS.UserDefined.FoundConversionFunction, + ICS.UserDefined.HadMultipleCandidates, From); if (CastArg.isInvalid()) return ExprError(); @@ -3912,7 +3908,7 @@ Sema::PerformImplicitConversion(Expr *From, QualType ToType, if (!Fn) return ExprError(); - if (DiagnoseUseOfDecl(Fn, From->getLocStart())) + if (DiagnoseUseOfDecl(Fn, From->getBeginLoc())) return ExprError(); From = FixOverloadedFunctionReference(From, Found, Fn); @@ -4051,15 +4047,15 @@ Sema::PerformImplicitConversion(Expr *From, QualType ToType, if (SCS.IncompatibleObjC && Action != AA_Casting) { // Diagnose incompatible Objective-C conversions if (Action == AA_Initializing || Action == AA_Assigning) - Diag(From->getLocStart(), + Diag(From->getBeginLoc(), diag::ext_typecheck_convert_incompatible_pointer) - << ToType << From->getType() << Action - << From->getSourceRange() << 0; + << ToType << From->getType() << Action << From->getSourceRange() + << 0; else - Diag(From->getLocStart(), + Diag(From->getBeginLoc(), diag::ext_typecheck_convert_incompatible_pointer) - << From->getType() << ToType << Action - << From->getSourceRange() << 0; + << From->getType() << ToType << Action << From->getSourceRange() + << 0; if (From->getType()->isObjCObjectPointerType() && ToType->isObjCObjectPointerType()) @@ -4068,13 +4064,11 @@ Sema::PerformImplicitConversion(Expr *From, QualType ToType, !CheckObjCARCUnavailableWeakConversion(ToType, From->getType())) { if (Action == AA_Initializing) - Diag(From->getLocStart(), - diag::err_arc_weak_unavailable_assign); + Diag(From->getBeginLoc(), diag::err_arc_weak_unavailable_assign); else - Diag(From->getLocStart(), - diag::err_arc_convesion_of_weak_unavailable) - << (Action == AA_Casting) << From->getType() << ToType - << From->getSourceRange(); + Diag(From->getBeginLoc(), diag::err_arc_convesion_of_weak_unavailable) + << (Action == AA_Casting) << From->getType() << ToType + << From->getSourceRange(); } CastKind Kind; @@ -4130,12 +4124,9 @@ Sema::PerformImplicitConversion(Expr *From, QualType ToType, case ICK_Derived_To_Base: { CXXCastPath BasePath; - if (CheckDerivedToBaseConversion(From->getType(), - ToType.getNonReferenceType(), - From->getLocStart(), - From->getSourceRange(), - &BasePath, - CStyle)) + if (CheckDerivedToBaseConversion( + From->getType(), ToType.getNonReferenceType(), From->getBeginLoc(), + From->getSourceRange(), &BasePath, CStyle)) return ExprError(); From = ImpCastExprToType(From, ToType.getNonReferenceType(), @@ -4276,10 +4267,11 @@ Sema::PerformImplicitConversion(Expr *From, QualType ToType, if (SCS.DeprecatedStringLiteralToCharPtr && !getLangOpts().WritableStrings) { - Diag(From->getLocStart(), getLangOpts().CPlusPlus11 - ? diag::ext_deprecated_string_literal_conversion - : diag::warn_deprecated_string_literal_conversion) - << ToType.getNonReferenceType(); + Diag(From->getBeginLoc(), + getLangOpts().CPlusPlus11 + ? diag::ext_deprecated_string_literal_conversion + : diag::warn_deprecated_string_literal_conversion) + << ToType.getNonReferenceType(); } break; @@ -4302,7 +4294,7 @@ Sema::PerformImplicitConversion(Expr *From, QualType ToType, // _Nullable type to a _Nonnull one, complain. if (!isCast(CCK)) diagnoseNullableToNonnullConversion(ToType, InitialFromType, - From->getLocStart()); + From->getBeginLoc()); return From; } @@ -4932,7 +4924,7 @@ static bool evaluateTypeTrait(Sema &S, TypeTrait Kind, SourceLocation KWLoc, if (ArgTy->isObjectType() || ArgTy->isFunctionType()) ArgTy = S.Context.getRValueReferenceType(ArgTy); OpaqueArgExprs.push_back( - OpaqueValueExpr(Args[I]->getTypeLoc().getLocStart(), + OpaqueValueExpr(Args[I]->getTypeLoc().getBeginLoc(), ArgTy.getNonLValueExprType(S.Context), Expr::getValueKindForType(ArgTy))); } @@ -5427,10 +5419,10 @@ QualType Sema::CheckPointerToMemberOperands(ExprResult &LHS, ExprResult &RHS, } CXXCastPath BasePath; - if (CheckDerivedToBaseConversion(LHSType, Class, Loc, - SourceRange(LHS.get()->getLocStart(), - RHS.get()->getLocEnd()), - &BasePath)) + if (CheckDerivedToBaseConversion( + LHSType, Class, Loc, + SourceRange(LHS.get()->getBeginLoc(), RHS.get()->getLocEnd()), + &BasePath)) return QualType(); // Cast LHS to type of use. @@ -5524,8 +5516,8 @@ static bool TryClassUnification(Sema &Self, Expr *From, Expr *To, HaveConversion = false; ToType = To->getType(); - InitializationKind Kind = InitializationKind::CreateCopy(To->getLocStart(), - SourceLocation()); + InitializationKind Kind = + InitializationKind::CreateCopy(To->getBeginLoc(), SourceLocation()); // C++11 5.16p3 // The process for determining whether an operand expression E1 of type T1 // can be converted to match an operand expression E2 of type T2 is defined @@ -5670,8 +5662,8 @@ static bool FindConditionalOverload(Sema &Self, ExprResult &LHS, ExprResult &RHS /// TryClassUnification. static bool ConvertForConditional(Sema &Self, ExprResult &E, QualType T) { InitializedEntity Entity = InitializedEntity::InitializeTemporary(T); - InitializationKind Kind = InitializationKind::CreateCopy(E.get()->getLocStart(), - SourceLocation()); + InitializationKind Kind = + InitializationKind::CreateCopy(E.get()->getBeginLoc(), SourceLocation()); Expr *Arg = E.get(); InitializationSequence InitSeq(Self, Entity, Kind, Arg); ExprResult Result = InitSeq.Perform(Self, Entity, Kind, Arg); @@ -6577,8 +6569,7 @@ ExprResult Sema::ActOnDecltypeExpression(Expr *E) { continue; if (CheckCallReturnType(Call->getCallReturnType(Context), - Call->getLocStart(), - Call, Call->getDirectCallee())) + Call->getBeginLoc(), Call, Call->getDirectCallee())) return ExprError(); } @@ -6713,7 +6704,7 @@ ExprResult Sema::ActOnStartCXXMemberReference(Scope *S, Expr *Base, << BaseType << Base->getSourceRange(); CallExpr *CE = dyn_cast<CallExpr>(Base); if (Decl *CD = (CE ? CE->getCalleeDecl() : nullptr)) { - Diag(CD->getLocStart(), + Diag(CD->getBeginLoc(), diag::note_member_reference_arrow_from_operator_arrow); } } |