summaryrefslogtreecommitdiff
path: root/test/FixIt/bridge-cast-in-arc.mm
diff options
context:
space:
mode:
Diffstat (limited to 'test/FixIt/bridge-cast-in-arc.mm')
-rw-r--r--test/FixIt/bridge-cast-in-arc.mm19
1 files changed, 19 insertions, 0 deletions
diff --git a/test/FixIt/bridge-cast-in-arc.mm b/test/FixIt/bridge-cast-in-arc.mm
new file mode 100644
index 000000000000..5cd482fabc04
--- /dev/null
+++ b/test/FixIt/bridge-cast-in-arc.mm
@@ -0,0 +1,19 @@
+// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fdiagnostics-parseable-fixits -x objective-c++ -fobjc-arc %s 2>&1 | FileCheck %s
+// rdar://12788838
+
+id obj;
+
+void Test1() {
+ void *foo = reinterpret_cast<void *>(obj);
+}
+// CHECK: {7:15-7:39}:"(__bridge void *)"
+// CHECK: {7:15-7:39}:"(__bridge_retained void *)"
+
+typedef const void * CFTypeRef;
+extern "C" CFTypeRef CFBridgingRetain(id X);
+
+void Test2() {
+ void *foo = reinterpret_cast<void *>(obj);
+}
+// CHECK: {16:15-16:39}:"(__bridge void *)"
+// CHECK: {16:15-16:39}:"CFBridgingRetain"