]> granicus.if.org Git - clang/commitdiff
Fix rdar://7126285: don't warn on unused ObjC property access
authorChris Lattner <sabre@nondot.org>
Tue, 11 Aug 2009 20:08:03 +0000 (20:08 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 11 Aug 2009 20:08:03 +0000 (20:08 +0000)
that uses "dot syntax" since it might have a side effect.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@78704 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AST/Expr.cpp
test/SemaObjC/unused.m

index ce8bb516c09074130256f7fd9aede267c69b0e8f..6aa971112d57fafb17e918b68bc4ce8a08d55519 100644 (file)
@@ -540,6 +540,7 @@ bool Expr::isUnusedResultAWarning(SourceLocation &Loc, SourceRange &R1,
     return false;
   }
   case ObjCMessageExprClass:
+  case ObjCKVCRefExprClass:   // Dot syntax for message send.
     return false;
   case StmtExprClass: {
     // Statement exprs don't logically have side effects themselves, but are
index 88c6f1054c8d1fb52b2df97a6a18eae9237d9db9..d4660cdc009d5fc6d87ab76f711268fa0aa0e911 100644 (file)
@@ -1,4 +1,4 @@
-// RUN: clang-cc %s -verify -fsyntax-only
+// RUN: clang-cc %s -verify -Wunused -fsyntax-only
 #include <stdio.h>
 
 @interface Greeter
 }
 @end
 
+
+
+
+@interface NSObject @end
+@interface NSString : NSObject 
+- (int)length;
+@end
+
+void test() {
+  // No unused warning: rdar://7126285
+  @"pointless example call for test purposes".length;
+}
+
+
+
 int main (void) {
     [Greeter hello];
     return 0;