summaryrefslogtreecommitdiffstats
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.mm49
1 files changed, 49 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 82d5a4d..c3bfec9 100644
--- a/test/Rewriter/rewrite-modern-extern-c-func-decl.mm
+++ b/test/Rewriter/rewrite-modern-extern-c-func-decl.mm
@@ -2,6 +2,7 @@
// RUN: %clang_cc1 -fsyntax-only -Werror -Wno-address-of-temporary -Wno-attributes -D"Class=void*" -D"id=void*" -D"SEL=void*" -U__declspec -D"__declspec(X)=" %t-rw.cpp
// rdar://11131490
+typedef unsigned long size_t;
extern "C" __declspec(dllexport) void BreakTheRewriter(void) {
__block int aBlockVariable = 0;
void (^aBlock)(void) = ^ {
@@ -43,3 +44,51 @@ main (int argc, char *argv[])
bBlockVariable = 42;
};
}
+
+// rdar://11275241
+static char stringtype;
+char CFStringGetTypeID();
+void x(void (^)());
+
+static void initStatics(int arg, ...) {
+ x(^{
+ stringtype = CFStringGetTypeID();
+ });
+}
+static void initStatics1(...) {
+ x(^{
+ stringtype = CFStringGetTypeID();
+ });
+}
+static void initStatics2() {
+ x(^{
+ stringtype = CFStringGetTypeID();
+ });
+}
+
+// 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
+
OpenPOWER on IntegriCloud