[docs] Add LICENSE.txt to the root of the mono-repo
[llvm-project.git] / clang / test / CodeGenObjC / objc-literal-debugger-test.m
blob05228053914120131dde9727aa51b935a05a2dc2
1 // RUN: %clang_cc1 -no-opaque-pointers -triple x86_64-apple-darwin10 -fdebugger-objc-literal -emit-llvm -o - %s | FileCheck %s
2 // RUN: %clang_cc1 -no-opaque-pointers -triple x86_64-apple-darwin10 -fdebugger-objc-literal -emit-llvm -o - %s -DINCLUDE_INTERFACES=1 | FileCheck %s
4 // We need two different RUN lines here because the first time a class/method is absent,
5 // it will be added for -fdebugger-objc-literal.
7 #ifdef INCLUDE_INTERFACES
8 @interface NSObject
9 @end
11 @interface NSNumber : NSObject
12 @end
14 @interface NSArray : NSObject
15 @end
17 @interface NSDictionary : NSObject
18 @end
20 @interface NSString : NSObject
21 @end
22 #endif
24 int main(void) {
25   // object literals.
26   id l;
27   l = @'a';
28   l = @42;
29   l = @-42;
30   l = @42u;
31   l = @3.141592654f;
32   l = @__objc_yes;
33   l = @__objc_no;
34   l = @{ @"name":@666 };
35   l = @[ @"foo", @"bar" ];
37 #if __has_feature(objc_boxed_expressions)
38   // boxed expressions.
39   id b;
40   b = @('a');
41   b = @(42);
42   b = @(-42);
43   b = @(42u);
44   b = @(3.141592654f);
45   b = @(__objc_yes);
46   b = @(__objc_no);
47   b = @("hello");
48 #else
49 #error "boxed expressions not supported"
50 #endif
53 // CHECK: declare i8* @objc_msgSend(i8*, i8*, ...) [[NLB:#[0-9]+]]
55 // CHECK: attributes [[NLB]] = { nonlazybind }