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