1b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// Test with pch. 2b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// RUN: %clang_cc1 -triple x86_64-apple-darwin9 -emit-pch -o %t1.pch %S/Inputs/chain-external-defs1.h 3b5af843a20e237ad1a13ad66a867e200695b8c8eDouglas Gregor// RUN: %clang_cc1 -triple x86_64-apple-darwin9 -emit-pch -o %t2.pch %S/Inputs/chain-external-defs2.h -include-pch %t1.pch 4b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// RUN: %clang_cc1 -triple x86_64-apple-darwin9 -include-pch %t2.pch -emit-llvm -o %t %s 5b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// RUN: echo FINI >> %t 6b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// RUN: FileCheck -input-file=%t -check-prefix=Z %s 7b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// RUN: FileCheck -input-file=%t -check-prefix=XA %s 8b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// RUN: FileCheck -input-file=%t -check-prefix=YA %s 9b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// RUN: FileCheck -input-file=%t -check-prefix=XB %s 10b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// RUN: FileCheck -input-file=%t -check-prefix=YB %s 11b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// RUN: FileCheck -input-file=%t -check-prefix=AA %s 12b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// RUN: FileCheck -input-file=%t -check-prefix=AB %s 13b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// RUN: FileCheck -input-file=%t -check-prefix=AC %s 14b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// RUN: FileCheck -input-file=%t -check-prefix=S %s 15b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl 16b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// Z-NOT: @z 17b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl 18b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// XA: @x = common global i32 0 19b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// XA-NOT: @x = common global i32 0 20b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl 21b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// YA: @y = common global i32 0 22b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// YA-NOT: @y = common global i32 0 23b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl 24b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// XB: @x2 = global i32 19 25b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// XB-NOT: @x2 = global i32 19 26b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redlint x2 = 19; 27b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// YB: @y2 = global i32 18 28b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// YB-NOT: @y2 = global i32 18 29b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redlint y2 = 18; 30b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl 31b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// AA: @incomplete_array = common global [1 x i32] 32b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// AA-NOT: @incomplete_array = common global [1 x i32] 33b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// AB: @incomplete_array2 = common global [17 x i32] 34b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// AB-NOT: @incomplete_array2 = common global [17 x i32] 35b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redlint incomplete_array2[17]; 36b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// AC: @incomplete_array3 = common global [1 x i32] 37b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// AC-NOT: @incomplete_array3 = common global [1 x i32] 38b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redlint incomplete_array3[]; 39b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl 40b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// S: @s = common global %struct.S 41b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// S-NOT: @s = common global %struct.S 42b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redlstruct S { 43b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl int x, y; 44b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl}; 45b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl 46b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// Z: FINI 47b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// XA: FINI 48b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// YA: FINI 49b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// XB: FINI 50b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// YB: FINI 51b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// AA: FINI 52b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// AB: FINI 53b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// AC: FINI 54b86238d2f0a93ce91717906f9211927f48a7121aSebastian Redl// S: FINI 55