aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2012-10-01 20:55:56 +0000
committerFariborz Jahanian <fjahanian@apple.com>2012-10-01 20:55:56 +0000
commit88b6c4b367e40ae324552184319e8c058feb4318 (patch)
tree7069a3e4021800006065dd102945a72c5d88f1de
parent01cad02220180b9646525295f502c00c64a172d0 (diff)
objective-C modern translator. Test for producing both
32bit and 64bit version of modern translator. // rdar://12189793 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@164970 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--test/Rewriter/no-intergrated-preprocessing.m34
1 files changed, 34 insertions, 0 deletions
diff --git a/test/Rewriter/no-intergrated-preprocessing.m b/test/Rewriter/no-intergrated-preprocessing.m
new file mode 100644
index 0000000000..c14d7557e0
--- /dev/null
+++ b/test/Rewriter/no-intergrated-preprocessing.m
@@ -0,0 +1,34 @@
+// RUN: %clang -arch i386 -fms-extensions -rewrite-objc %s -o %t-rw.cpp
+// RUN: FileCheck %s < %t-rw.cpp
+// RUN: %clang -arch x86_64 -fms-extensions -rewrite-objc %s -o %t-rw-64bit.cpp
+// RUN: FileCheck -check-prefix=LP64 %s < %t-rw-64bit.cpp
+// rdar://12189793
+
+#ifdef __cplusplus
+
+void *sel_registerName(const char *);
+
+@interface Root @end
+
+@interface MYINTF : Root
+@end
+
+#endif
+
+@implementation MYINTF
+- (id) MYMETH { return [self MYMETH]; }
+@end
+
+int main() {
+}
+
+// CHECK: static struct _class_ro_t _OBJC_CLASS_RO_$_MYINTF
+// CHECK-NEXT: 0, 0, 0,
+// CHECK-NEXT: 0,
+// CHECK-NEST: "MYINTF",
+
+// CHECK-LP64: static struct _class_ro_t _OBJC_CLASS_RO_$_MYINTF
+// CHECK-LP64-NEXT: 0, 0, 0,
+// CHECK-LP64-NEXT: (unsigned int)0,
+// CHECK-LP64-NEXT: 0,
+// CHECK-LP64-NEST: "MYINTF",