Implements boxed expressions for Objective-C. <rdar://problem/10194391>


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155082 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/CodeGenObjC/objc-literal-debugger-test.m b/test/CodeGenObjC/objc-literal-debugger-test.m
index 389ef22..f6a6dfa 100644
--- a/test/CodeGenObjC/objc-literal-debugger-test.m
+++ b/test/CodeGenObjC/objc-literal-debugger-test.m
@@ -1,7 +1,8 @@
 // RUN: %clang_cc1 -triple x86_64-apple-darwin10 -fdebugger-objc-literal -emit-llvm -o - %s | FileCheck %s
 
 int main() {
-  id l = @'a';
+  // object literals.
+  id l;
   l = @'a';
   l = @42;
   l = @-42;
@@ -11,6 +12,19 @@
   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");
+#endif
 }
 
 // CHECK: declare i8* @objc_msgSend(i8*, i8*, ...) nonlazybind