xref: /aosp_15_r20/external/llvm/test/tools/dsymutil/Inputs/basic2.c (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker /* For compilation instructions see basic1.c. */
2*9880d681SAndroid Build Coastguard Worker 
3*9880d681SAndroid Build Coastguard Worker static int baz = 42;
4*9880d681SAndroid Build Coastguard Worker static int private_int;
5*9880d681SAndroid Build Coastguard Worker extern volatile int val;
6*9880d681SAndroid Build Coastguard Worker int unused_data = 1;
7*9880d681SAndroid Build Coastguard Worker 
8*9880d681SAndroid Build Coastguard Worker int bar(int);
9*9880d681SAndroid Build Coastguard Worker 
unused1()10*9880d681SAndroid Build Coastguard Worker void unused1() {
11*9880d681SAndroid Build Coastguard Worker   bar(baz);
12*9880d681SAndroid Build Coastguard Worker }
13*9880d681SAndroid Build Coastguard Worker 
inc()14*9880d681SAndroid Build Coastguard Worker static int inc() {
15*9880d681SAndroid Build Coastguard Worker   return ++private_int;
16*9880d681SAndroid Build Coastguard Worker }
17*9880d681SAndroid Build Coastguard Worker 
18*9880d681SAndroid Build Coastguard Worker __attribute__((noinline))
foo(int arg)19*9880d681SAndroid Build Coastguard Worker int foo(int arg) {
20*9880d681SAndroid Build Coastguard Worker   return bar(arg+val) + inc() + baz++;
21*9880d681SAndroid Build Coastguard Worker }
22*9880d681SAndroid Build Coastguard Worker 
23*9880d681SAndroid Build Coastguard Worker /* This file was also used to create basic2-custom-linetable.macho.x86_64.o
24*9880d681SAndroid Build Coastguard Worker    with a custom clang that had different settings for the linetable
25*9880d681SAndroid Build Coastguard Worker    encoding constants: line_base == -1 and line_range == 4.
26*9880d681SAndroid Build Coastguard Worker 
27*9880d681SAndroid Build Coastguard Worker    clang -c -g basic2.c -o basic2-custom-linetable.macho.x86_64.o
28*9880d681SAndroid Build Coastguard Worker */
29