diff options
Diffstat (limited to 'test/Rewriter/rewrite-modern-extern-c-func-decl.mm')
-rw-r--r-- | test/Rewriter/rewrite-modern-extern-c-func-decl.mm | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test/Rewriter/rewrite-modern-extern-c-func-decl.mm b/test/Rewriter/rewrite-modern-extern-c-func-decl.mm index 590a4d4346..07fed03813 100644 --- a/test/Rewriter/rewrite-modern-extern-c-func-decl.mm +++ b/test/Rewriter/rewrite-modern-extern-c-func-decl.mm @@ -70,3 +70,27 @@ static void initStatics2() { // rdar://11314329 static inline const void *auto_zone_base_pointer(void *zone, const void *ptr) { return 0; } + +@interface I +{ + id list; +} +- (void) Meth; +// radar 7589385 use before definition +- (void) allObjects; +@end + +@implementation I +// radar 7589385 use before definition +- (void) allObjects { + __attribute__((__blocks__(byref))) id *listp; + + void (^B)(void) = ^(void) { + *listp++ = 0; + }; + + B(); +} +- (void) Meth { __attribute__((__blocks__(byref))) void ** listp = (void **)list; } +@end + |