]> granicus.if.org Git - clang/commitdiff
Objective-C: Warn when fast enumeration variable isn't used.
authorFariborz Jahanian <fjahanian@apple.com>
Sat, 6 Jul 2013 18:04:13 +0000 (18:04 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Sat, 6 Jul 2013 18:04:13 +0000 (18:04 +0000)
// rdar://14182680.

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

lib/Sema/SemaStmt.cpp
test/SemaObjC/foreach.m

index 45162744b1d630a5cec5b05448772ed67ea56cdd..3a67997ea48ed695c2f7124c492c800d551b84cc 100644 (file)
@@ -93,9 +93,6 @@ void Sema::ActOnForEachDeclStmt(DeclGroupPtrTy dg) {
     return;
   }
 
-  // suppress any potential 'unused variable' warning.
-  var->setUsed();
-
   // foreach variables are never actually initialized in the way that
   // the parser came up with.
   var->setInit(0);
index d0e0f7b9e21421056d6ed6334ad6685755536696..91ea2ec4e0d48a03c5b8a063969cfe04a9f38851 100644 (file)
@@ -13,8 +13,8 @@ void f(NSArray *a) {
    * and no diagnostics even in pedantic mode should happen.
    * rdar://6814674
    */
-  for (id thisKey in keys);
-  for (id thisKey in keys);
+  for (id thisKey in keys); /* expected-warning {{unused variable 'thisKey'}} */
+  for (id thisKey in keys); /* expected-warning {{unused variable 'thisKey'}} */
 }
 
 /* // rdar://9072298 */
@@ -41,7 +41,7 @@ typedef struct {
 int main ()
 {
  NSObject<NSFastEnumeration>* collection = ((void*)0);
- for (id thing in collection) { }
+ for (id thing in collection) { } /* expected-warning {{unused variable 'thing'}} */
 
  return 0;
 }