diff options
Diffstat (limited to 'test/Rewriter')
-rw-r--r-- | test/Rewriter/rewrite-block-argument.m | 33 | ||||
-rw-r--r-- | test/Rewriter/rewrite-local-static-id.mm | 24 | ||||
-rw-r--r-- | test/Rewriter/rewrite-no-nextline.mm | 10 |
3 files changed, 67 insertions, 0 deletions
diff --git a/test/Rewriter/rewrite-block-argument.m b/test/Rewriter/rewrite-block-argument.m new file mode 100644 index 0000000..4ebbef9 --- /dev/null +++ b/test/Rewriter/rewrite-block-argument.m @@ -0,0 +1,33 @@ +// RUN: %clang_cc1 -x objective-c -Wno-return-type -fblocks -fms-extensions -rewrite-objc %s -o %t-rw.cpp +// RUN: %clang_cc1 -Wno-address-of-temporary -Did="void *" -D"SEL=void*" -D"__declspec(X)=" -emit-llvm -o %t %t-rw.cpp +// radar 7987817 + +void *sel_registerName(const char *); + +@interface Test { +} +@end + +@implementation Test + +- (void)enumerateProvidersWithBlock:(void (^)(void))block { + block(); +} + +- (void)providerEnumerator { + ^(void (^providerBlock)(void)) { + [self enumerateProvidersWithBlock:providerBlock]; + }; +} + +- (void)testNilBlock { + [self enumerateProvidersWithBlock:0]; +} + +@end + + + +int main(int argc, char *argv[]) { + return 0; +} diff --git a/test/Rewriter/rewrite-local-static-id.mm b/test/Rewriter/rewrite-local-static-id.mm new file mode 100644 index 0000000..a0b85f4 --- /dev/null +++ b/test/Rewriter/rewrite-local-static-id.mm @@ -0,0 +1,24 @@ +// RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc %s -o %t-rw.cpp +// RUN: %clang_cc1 -Wno-address-of-temporary -Did="void *" -D"SEL=void*" -D"__declspec(X)=" -emit-llvm -o %t %t-rw.cpp +// radar 7946975 + +void *sel_registerName(const char *); + +@interface foo +@end + +@interface foo2 : foo ++ (id)x; +@end + +typedef void (^b_t)(void); + +void bar(b_t block); + +void f() { + static id foo = 0; + bar(^{ + foo = [foo2 x]; + }); +} + diff --git a/test/Rewriter/rewrite-no-nextline.mm b/test/Rewriter/rewrite-no-nextline.mm new file mode 100644 index 0000000..0c3657c --- /dev/null +++ b/test/Rewriter/rewrite-no-nextline.mm @@ -0,0 +1,10 @@ +// RUN: %clang_cc1 -x objective-c++ -Wno-return-type -fblocks -fms-extensions -rewrite-objc %s -o %t-rw.cpp +// RUN: %clang_cc1 -fsyntax-only -Wno-address-of-temporary -D"SEL=void*" -D"__declspec(X)=" %t-rw.cpp +// radar 7946975 + +@interface RootObject { +} +@end void doStuff(); +int main(int argc, char *argv[]) { + return 0; +} |