summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang/lib/Sema/SemaExprCXX.cpp4
-rw-r--r--clang/test/SemaObjC/typo-correction-arc.m24
2 files changed, 28 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaExprCXX.cpp b/clang/lib/Sema/SemaExprCXX.cpp
index 32aa5a69d07..3083a1f50df 100644
--- a/clang/lib/Sema/SemaExprCXX.cpp
+++ b/clang/lib/Sema/SemaExprCXX.cpp
@@ -6586,6 +6586,10 @@ public:
ExprResult TransformBlockExpr(BlockExpr *E) { return Owned(E); }
+ ExprResult TransformObjCPropertyRefExpr(ObjCPropertyRefExpr *E) {
+ return Owned(E);
+ }
+
ExprResult Transform(Expr *E) {
ExprResult Res;
while (true) {
diff --git a/clang/test/SemaObjC/typo-correction-arc.m b/clang/test/SemaObjC/typo-correction-arc.m
new file mode 100644
index 00000000000..9131ca86dc9
--- /dev/null
+++ b/clang/test/SemaObjC/typo-correction-arc.m
@@ -0,0 +1,24 @@
+// RUN: %clang_cc1 -triple i386-apple-macosx10.10 -fobjc-arc -fsyntax-only -Wno-objc-root-class %s -verify
+
+typedef unsigned long NSUInteger;
+
+@interface NSArray
+- (instancetype)initWithObjects:(const id[])objects count:(NSUInteger)count;
+@end
+
+@interface I
+@property NSArray *array;
+@end
+
+@interface J
+- (void)setArray:(id)array;
+@end
+
+@implementation J {
+ I *i;
+}
+- (void)setArray:(id)array { // expected-note{{'array' declared here}}
+ i.array = aray; // expected-error{{use of undeclared identifier 'aray'; did you mean 'array'}}
+}
+@end
+
OpenPOWER on IntegriCloud