diff options
-rw-r--r-- | clang/test/Rewriter/rewrite-ivar-use.m | 5 | ||||
-rw-r--r-- | clang/test/Rewriter/rewrite-modern-ivar-use.mm | 26 |
2 files changed, 30 insertions, 1 deletions
diff --git a/clang/test/Rewriter/rewrite-ivar-use.m b/clang/test/Rewriter/rewrite-ivar-use.m index 83edcfc7d1f..53b07c434f3 100644 --- a/clang/test/Rewriter/rewrite-ivar-use.m +++ b/clang/test/Rewriter/rewrite-ivar-use.m @@ -1,6 +1,9 @@ -// RUN: %clang_cc1 -rewrite-objc -fobjc-fragile-abi -fms-extensions %s -o - +// RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc -fobjc-fragile-abi %s -o %t-rw.cpp +// RUN: %clang_cc1 -fsyntax-only -fblocks -Wno-address-of-temporary -D"Class=void*" -D"id=void*" -D"SEL=void*" -D"__declspec(X)=" %t-rw.cpp // radar 7490331 +void *sel_registerName(const char *); + @interface Foo { int a; id b; diff --git a/clang/test/Rewriter/rewrite-modern-ivar-use.mm b/clang/test/Rewriter/rewrite-modern-ivar-use.mm new file mode 100644 index 00000000000..ec8d2c7d615 --- /dev/null +++ b/clang/test/Rewriter/rewrite-modern-ivar-use.mm @@ -0,0 +1,26 @@ +// RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc %s -o %t-rw-modern.cpp +// RUN: %clang_cc1 -fsyntax-only -fblocks -Wno-address-of-temporary -D"Class=void*" -D"id=void*" -D"SEL=void*" -D"__declspec(X)=" %t-rw-modern.cpp + +void *sel_registerName(const char *); + +@interface Foo { + int a; + id b; +} +- (void)bar; +- (void)baz:(id)q; +@end + +@implementation Foo +// radar 7522803 +static void foo(id bar) { + int i = ((Foo *)bar)->a; +} + +- (void)bar { + a = 42; +} +- (void)baz:(id)q { +} +@end + |