summaryrefslogtreecommitdiff
path: root/test/Rewriter/rewrite-modern-private-ivars.mm
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2012-05-01 17:46:45 +0000
committerFariborz Jahanian <fjahanian@apple.com>2012-05-01 17:46:45 +0000
commitb68258fba663cd6a75bf44114e4eb2849551a45f (patch)
treec58dc4dcb1798d9ac93a0a5bc6efb4efafaf413f /test/Rewriter/rewrite-modern-private-ivars.mm
parent2a7b09db93ed57f97cc9d9e7ec1b1d11934d0841 (diff)
downloadclang-b68258fba663cd6a75bf44114e4eb2849551a45f.tar.gz
modern objective-c translation of private ivars.
// rdar://11351299 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155921 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Rewriter/rewrite-modern-private-ivars.mm')
-rw-r--r--test/Rewriter/rewrite-modern-private-ivars.mm53
1 files changed, 53 insertions, 0 deletions
diff --git a/test/Rewriter/rewrite-modern-private-ivars.mm b/test/Rewriter/rewrite-modern-private-ivars.mm
new file mode 100644
index 0000000000..fc2e73bb26
--- /dev/null
+++ b/test/Rewriter/rewrite-modern-private-ivars.mm
@@ -0,0 +1,53 @@
+// RUN: %clang_cc1 -fblocks -rewrite-objc -fms-extensions %s -o %t-rw.cpp
+// RUN: %clang_cc1 -Werror -fsyntax-only -Wno-address-of-temporary -Wno-c++11-narrowing -std=c++11 -D"Class=void*" -D"id=void*" -D"SEL=void*" -U__declspec -D"__declspec(X)=" %t-rw.cpp
+// rdar://11351299
+
+struct Q {
+ int x;
+};
+
+@interface I
+@end
+
+@interface I() {
+
+ struct {
+ int x;
+ } unnamed;
+
+ struct S {
+ int x;
+ } foo;
+
+ double dd;
+
+ struct S foo1;
+}
+@end
+
+@implementation I
+{
+ struct P {
+ int x;
+ } bar;
+
+ double ee;
+
+ struct Q bar1;
+
+ struct {
+ int x;
+ } noname;
+}
+
+- (void) Meth {
+ foo.x = 1;
+ bar.x = 2;
+ dd = 1.23;
+ ee = 0.0;
+ foo1.x = 3;
+ bar1.x = 4;
+ noname.x = 3;
+ unnamed.x = 10;
+}
+@end