summaryrefslogtreecommitdiff
path: root/test/FixIt
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2013-02-22 22:02:53 +0000
committerFariborz Jahanian <fjahanian@apple.com>2013-02-22 22:02:53 +0000
commitf799ae1afb897151a84a7170951e367d8307ae04 (patch)
tree187fe0c1e758ebcd925bf31ea58a73ff3e8e1d18 /test/FixIt
parent5bb033ba5de8f00cea93b061427de92569b45d2d (diff)
downloadclang-f799ae1afb897151a84a7170951e367d8307ae04.tar.gz
objective-C arg: provide fixit support when
c++'s named cast need be replaced for bridge casting. // rdar://12788838 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@175923 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/FixIt')
-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 0000000000..5cd482fabc
--- /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"