From: Chris Lattner Date: Sun, 16 Aug 2009 16:45:18 +0000 (+0000) Subject: This is an attempt to improve loc info for 'unused result' expression X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a50089ec68a583d13718107c1b0c898f0903709e;p=clang 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 --- 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(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.