diff options
author | Chris Lattner <sabre@nondot.org> | 2009-08-16 16:45:18 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2009-08-16 16:45:18 +0000 |
commit | a50089ec68a583d13718107c1b0c898f0903709e (patch) | |
tree | 8242cabd6ae09a3e3e54e8a4182789d411975a26 | |
parent | 14c5cbf59cffee52275230922283a247de407712 (diff) |
This is an attempt to improve loc info for 'unused result' expression
warnings, but it fails because we don't have the location of the .
and I don't understand ObjCKVCRefExpr. I'll revisit this later.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@79190 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/AST/Expr.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/AST/Expr.cpp b/lib/AST/Expr.cpp index fa5ce9f047..f000ff63d0 100644 --- a/lib/AST/Expr.cpp +++ b/lib/AST/Expr.cpp @@ -541,6 +541,18 @@ bool Expr::isUnusedResultAWarning(SourceLocation &Loc, SourceRange &R1, } case ObjCMessageExprClass: return false; + + case ObjCKVCRefExprClass: { // Dot syntax for message send. +#if 0 + const ObjCKVCRefExpr *KVCRef = cast<ObjCKVCRefExpr>(this); + // FIXME: We really want the location of the '.' here. + Loc = KVCRef->getLocation(); + R1 = SourceRange(KVCRef->getLocation(), KVCRef->getLocation()); + if (KVCRef->getBase()) + R2 = KVCRef->getBase()->getSourceRange(); +#endif + return true; + } case StmtExprClass: { // Statement exprs don't logically have side effects themselves, but are // sometimes used in macros in ways that give them a type that is unused. |