diff options
-rw-r--r-- | clang/AST/Expr.cpp | 2 | ||||
-rw-r--r-- | clang/clang.xcodeproj/project.pbxproj | 1 | ||||
-rw-r--r-- | clang/test/Sema/objc-unused.m | 18 |
3 files changed, 20 insertions, 1 deletions
diff --git a/clang/AST/Expr.cpp b/clang/AST/Expr.cpp index ffd2d3e8d55..0b1c7994fff 100644 --- a/clang/AST/Expr.cpp +++ b/clang/AST/Expr.cpp @@ -259,6 +259,8 @@ bool Expr::hasLocalSideEffect() const { // TODO: check attributes for pure/const. "void foo() { strlen("bar"); }" // should warn. return true; + case ObjCMessageExprClass: + return true; case CastExprClass: // If this is a cast to void, check the operand. Otherwise, the result of diff --git a/clang/clang.xcodeproj/project.pbxproj b/clang/clang.xcodeproj/project.pbxproj index fca0464b475..04dad739236 100644 --- a/clang/clang.xcodeproj/project.pbxproj +++ b/clang/clang.xcodeproj/project.pbxproj @@ -733,7 +733,6 @@ 08FB7793FE84155DC02AAC07 /* Project object */ = { isa = PBXProject; buildConfigurationList = 1DEB923508733DC60010E9CD /* Build configuration list for PBXProject "clang" */; - compatibilityVersion = "Xcode 2.4"; hasScannedForEncodings = 1; mainGroup = 08FB7794FE84155DC02AAC07 /* clang */; projectDirPath = ""; diff --git a/clang/test/Sema/objc-unused.m b/clang/test/Sema/objc-unused.m new file mode 100644 index 00000000000..cbe15a1abb5 --- /dev/null +++ b/clang/test/Sema/objc-unused.m @@ -0,0 +1,18 @@ +// RUN: clang %s -verify -fsyntax-only +#include <stdio.h> + +@interface Greeter ++ (void) hello; +@end + +@implementation Greeter ++ (void) hello { + fprintf(stdout, "Hello, World!\n"); +} +@end + +int main (void) { + [Greeter hello]; + return 0; +} + |