summaryrefslogtreecommitdiff
path: root/test/Rewriter
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2013-02-08 00:27:34 +0000
committerFariborz Jahanian <fjahanian@apple.com>2013-02-08 00:27:34 +0000
commitada7191795dde85a620008094fbe5464abdb916b (patch)
tree028e795c78bf02871599af27eb0600fb1f00d877 /test/Rewriter
parent1b58c74af272a1d8228b8161c93a8a018456098e (diff)
objective-C modern translator. Generate #line
info in the translated code under -g only. // rdar://13138170 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@174684 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Rewriter')
-rw-r--r--test/Rewriter/line-generation-test.m40
1 files changed, 40 insertions, 0 deletions
diff --git a/test/Rewriter/line-generation-test.m b/test/Rewriter/line-generation-test.m
new file mode 100644
index 0000000000..dad7371eb1
--- /dev/null
+++ b/test/Rewriter/line-generation-test.m
@@ -0,0 +1,40 @@
+// RUN: %clang_cc1 -E %s -o %t.mm
+// RUN: %clang_cc1 -fms-extensions -rewrite-objc -g %t.mm -o %t-rw.cpp
+// RUN: FileCheck -check-prefix LINE --input-file=%t-rw.cpp %s
+// RUN: %clang_cc1 -fms-extensions -rewrite-objc %t.mm -o %t-rwnog.cpp
+// RUN: FileCheck -check-prefix NOLINE --input-file=%t-rwnog.cpp %s
+// rdar://13138170
+
+__attribute__((objc_root_class)) @interface MyObject {
+@public
+ id _myMaster;
+ id _isTickledPink;
+}
+@property(retain) id myMaster;
+@property(assign) id isTickledPink;
+@end
+
+@implementation MyObject
+
+@synthesize myMaster = _myMaster;
+@synthesize isTickledPink = _isTickledPink;
+
+- (void) doSomething {
+ _myMaster = _isTickledPink;
+}
+
+@end
+
+MyObject * foo ()
+{
+ MyObject* p;
+ p.isTickledPink = p.myMaster; // ok
+ p->_isTickledPink = p->_myMaster;
+ return p->_isTickledPink;
+}
+
+// CHECK-LINE: #line 22
+// CHECK-LINE: #line 28
+// CHECK-NOLINE-NOT: #line 22
+// CHECK-NOLINE-NOT: #line 28
+