]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/PCH/objc_container.m
Vendor import of clang release_40 branch r292951:
[FreeBSD/FreeBSD.git] / test / PCH / objc_container.m
1 // Test this without pch.
2 // RUN: %clang_cc1 -include %S/objc_container.h -fsyntax-only -verify %s
3
4 // Test with pch.
5 // RUN: %clang_cc1 -x objective-c -emit-pch -o %t %S/objc_container.h
6 // RUN: %clang_cc1 -include-pch %t -fsyntax-only -verify %s 
7 // RUN: %clang_cc1 -include-pch %t -ast-print %s | FileCheck -check-prefix=CHECK-PRINT %s
8 // RUN: %clang_cc1 -include-pch %t -emit-llvm -o - %s | FileCheck -check-prefix=CHECK-IR %s
9
10 // expected-no-diagnostics
11
12 // CHECK-PRINT: id oldObject = array[10];
13 // CHECK-PRINT: array[10] = oldObject;
14 // CHECK-PRINT: oldObject = dictionary[key];
15 // CHECK-PRINT: dictionary[key] = newObject;
16
17 // CHECK-IR: define {{.*}}void @all() #0
18 // CHECK-IR: {{call.*objc_msgSend}}
19 // CHECK-IR: {{call.*objc_msgSend}}
20 // CHECK-IR: {{call.*objc_msgSend}}
21 // CHECK-IR: {{call.*objc_msgSend}}
22 // CHECK-IR: ret void
23
24 // CHECK-IR: attributes #0 = { noinline nounwind {{.*}} }
25 // CHECK-IR: attributes #1 = { nonlazybind }