1 // To generate the test file:
2 // clang cross-cu-inlining.c -DA_C -g -emit-llvm -S -o a.ll
3 // clang cross-cu-inlining.c -DB_C -g -emit-llvm -S -o b.ll
4 // llvm-link a.ll b.ll -o ab.bc
5 // opt -inline ab.bc -o cross-cu-inlining.bc
6 // clang -c cross-cu-inlining.bc -o cross-cu-inlining.o
7 #ifdef A_C
8 int i;
9 int func(int);
main()10 int main() {
11   return func(i);
12 }
13 #endif
14 #ifdef B_C
func(int x)15 int __attribute__((always_inline)) func(int x) {
16   return x * 2;
17 }
18 #endif
19