aboutsummaryrefslogtreecommitdiff
path: root/test/Rewriter/rewrite-modern-extern-c-func-decl.mm
diff options
context:
space:
mode:
Diffstat (limited to 'test/Rewriter/rewrite-modern-extern-c-func-decl.mm')
-rw-r--r--test/Rewriter/rewrite-modern-extern-c-func-decl.mm24
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
+