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 | 0da1d43e1600a78ebc4a072940fdec1476dd12f5 (patch) | |
tree | 919372615c85430116ad657d9d41433353fb1c35 /clang/lib/Sema/SemaCXXCast.cpp | |
parent | 6564ca0c23ea7b75552795c3f920fe362c2220dc (diff) | |
download | bcm5719-llvm-0da1d43e1600a78ebc4a072940fdec1476dd12f5.tar.gz bcm5719-llvm-0da1d43e1600a78ebc4a072940fdec1476dd12f5.zip |
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).
llvm-svn: 126681
Diffstat (limited to 'clang/lib/Sema/SemaCXXCast.cpp')
-rw-r--r-- | clang/lib/Sema/SemaCXXCast.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/clang/lib/Sema/SemaCXXCast.cpp b/clang/lib/Sema/SemaCXXCast.cpp index 506d2612ffb..5b28bc3d9fd 100644 --- a/clang/lib/Sema/SemaCXXCast.cpp +++ b/clang/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; |