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