diff options
author | Douglas Gregor <dgregor@apple.com> | 2011-02-28 20:01:57 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2011-02-28 20:01:57 +0000 |
commit | 4c9be89bb615ec07eb3ed507c8fa9d0baa8a5ad7 (patch) | |
tree | a1b918295232ef44468ada01cab55c79ded0b028 /lib/Sema/SemaCXXCast.cpp | |
parent | 3d04a0e534b43504f6879657d47891625bd63352 (diff) |
Push nested-name-specifier source location information into
UnresolvedLookupExpr and UnresolvedMemberExpr.
Also, improve the computation that checks whether the base of a member
expression (either unresolved or dependent-scoped) is implicit. The
previous check didn't cover all of the cases we use in our
representation, which threw off source-location information for these
expressions (which, in turn, caused some breakage in libclang's token
annotation).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@126681 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaCXXCast.cpp')
-rw-r--r-- | lib/Sema/SemaCXXCast.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/Sema/SemaCXXCast.cpp b/lib/Sema/SemaCXXCast.cpp index 506d2612ff..5b28bc3d9f 100644 --- a/lib/Sema/SemaCXXCast.cpp +++ b/lib/Sema/SemaCXXCast.cpp @@ -642,7 +642,8 @@ CheckStaticCast(Sema &Self, Expr *&SrcExpr, QualType DestType, if (SrcExpr->getType() == Self.Context.OverloadTy) { OverloadExpr* oe = OverloadExpr::find(SrcExpr).Expression; Self.Diag(OpRange.getBegin(), diag::err_bad_static_cast_overload) - << oe->getName() << DestType << OpRange << oe->getQualifierRange(); + << oe->getName() << DestType << OpRange + << oe->getQualifierLoc().getSourceRange(); Self.NoteAllOverloadCandidates(SrcExpr); } else { diagnoseBadCast(Self, msg, CT_Static, OpRange, SrcExpr, DestType); @@ -1289,7 +1290,7 @@ static ExprResult ResolveAndFixSingleFunctionTemplateSpecialization( OverloadExpr* oe = OverloadExpr::find(SrcExpr).Expression; Self.Diag(OpRangeForComplaining.getBegin(), DiagIDForComplaining) << oe->getName() << DestTypeForComplaining << OpRangeForComplaining - << oe->getQualifierRange(); + << oe->getQualifierLoc().getSourceRange(); Self.NoteAllOverloadCandidates(SrcExpr); } return SingleFunctionExpression; |