1651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// Test this without PCH. 2651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// RUN: %clang_cc1 -triple x86_64-apple-macosx10.9.0 -include %S/local_static.h -fsyntax-only %s -emit-llvm -o %t.no_pch.ll %s 3651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// RUN: FileCheck --input-file %t.no_pch.ll %s 4651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 5651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// Test with PCH. 6651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// RUN: %clang_cc1 -triple x86_64-apple-macosx10.9.0 -x c++-header -emit-pch -o %t.pch %S/local_static.h 7651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// RUN: %clang_cc1 -triple x86_64-apple-macosx10.9.0 -include-pch %t.pch -emit-llvm -o %t.pch.ll %s 8651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// RUN: FileCheck --input-file %t.pch.ll %s 9651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 10651f13cea278ec967336033dd032faef0e9fc2ecStephen Hinesvoid test(Bar &b) { 11651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines b.f<int>(); 12651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines static int s; 13651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines} 14651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 15651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// Check if the mangling of static and local extern variables 16651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// are correct and preserved by PCH. 17651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 18651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: @_ZZ4testR3BarE1s = internal global i32 0, align 4 19651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines// CHECK: @_ZZN3Bar1fIiEEvvE1y = linkonce_odr constant i32 0, align 4 20651f13cea278ec967336033dd032faef0e9fc2ecStephen Hines 21