summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2013-07-06 18:04:13 +0000
committerFariborz Jahanian <fjahanian@apple.com>2013-07-06 18:04:13 +0000
commitae26bb67f8ed2c509765c43bf9865e795439cd31 (patch)
tree003f1d929f9b119ea38d4caaff159959f72e6132
parentc947ad2a2d68f91ead632d3da66ad33cf8d9cfcf (diff)
downloadbcm5719-llvm-ae26bb67f8ed2c509765c43bf9865e795439cd31.tar.gz
bcm5719-llvm-ae26bb67f8ed2c509765c43bf9865e795439cd31.zip
Objective-C: Warn when fast enumeration variable isn't used.
// rdar://14182680. llvm-svn: 185762
-rw-r--r--clang/lib/Sema/SemaStmt.cpp3
-rw-r--r--clang/test/SemaObjC/foreach.m6
2 files changed, 3 insertions, 6 deletions
diff --git a/clang/lib/Sema/SemaStmt.cpp b/clang/lib/Sema/SemaStmt.cpp
index 45162744b1d..3a67997ea48 100644
--- a/clang/lib/Sema/SemaStmt.cpp
+++ b/clang/lib/Sema/SemaStmt.cpp
@@ -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);
diff --git a/clang/test/SemaObjC/foreach.m b/clang/test/SemaObjC/foreach.m
index d0e0f7b9e21..91ea2ec4e0d 100644
--- a/clang/test/SemaObjC/foreach.m
+++ b/clang/test/SemaObjC/foreach.m
@@ -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;
}
OpenPOWER on IntegriCloud