summaryrefslogtreecommitdiffstats
path: root/test/CodeGenObjC/objc-literal-debugger-test.m
diff options
context:
space:
mode:
Diffstat (limited to 'test/CodeGenObjC/objc-literal-debugger-test.m')
-rw-r--r--test/CodeGenObjC/objc-literal-debugger-test.m39
1 files changed, 38 insertions, 1 deletions
diff --git a/test/CodeGenObjC/objc-literal-debugger-test.m b/test/CodeGenObjC/objc-literal-debugger-test.m
index 389ef22..5f69fd5 100644
--- a/test/CodeGenObjC/objc-literal-debugger-test.m
+++ b/test/CodeGenObjC/objc-literal-debugger-test.m
@@ -1,7 +1,29 @@
// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fdebugger-objc-literal -emit-llvm -o - %s | FileCheck %s
+// RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fdebugger-objc-literal -emit-llvm -o - %s -DINCLUDE_INTERFACES=1 | FileCheck %s
+
+// We need two different RUN lines here because the first time a class/method is absent,
+// it will be added for -fdebugger-objc-literal.
+
+#ifdef INCLUDE_INTERFACES
+@interface NSObject
+@end
+
+@interface NSNumber : NSObject
+@end
+
+@interface NSArray : NSObject
+@end
+
+@interface NSDictionary : NSObject
+@end
+
+@interface NSString : NSObject
+@end
+#endif
int main() {
- id l = @'a';
+ // object literals.
+ id l;
l = @'a';
l = @42;
l = @-42;
@@ -11,6 +33,21 @@ int main() {
l = @__objc_no;
l = @{ @"name":@666 };
l = @[ @"foo", @"bar" ];
+
+#if __has_feature(objc_boxed_expressions)
+ // boxed expressions.
+ id b;
+ b = @('a');
+ b = @(42);
+ b = @(-42);
+ b = @(42u);
+ b = @(3.141592654f);
+ b = @(__objc_yes);
+ b = @(__objc_no);
+ b = @("hello");
+#else
+#error "boxed expressions not supported"
+#endif
}
// CHECK: declare i8* @objc_msgSend(i8*, i8*, ...) nonlazybind
OpenPOWER on IntegriCloud