objective-C modern translator. Test for producing both
authorFariborz Jahanian <fjahanian@apple.com>
Mon, 1 Oct 2012 20:55:56 +0000 (20:55 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Mon, 1 Oct 2012 20:55:56 +0000 (20:55 +0000)
32bit and 64bit version of modern translator.
// rdar://12189793

llvm-svn: 164970

clang/test/Rewriter/no-intergrated-preprocessing.m [new file with mode: 0644]

diff --git a/clang/test/Rewriter/no-intergrated-preprocessing.m b/clang/test/Rewriter/no-intergrated-preprocessing.m
new file mode 100644 (file)
index 0000000..c14d755
--- /dev/null
@@ -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",