xref: /llvm-project/llvm/test/tools/llvm-symbolizer/Inputs/symbols.h (revision e144ae54dcb96838a6176fd9eef21028935ccd4f)
1*e144ae54SSerge Pavlov // This file is a part of sources used to build `symbols.so`, which is used to
2*e144ae54SSerge Pavlov // test symbol location search made by llvm-symbolizer.
3*e144ae54SSerge Pavlov //
4*e144ae54SSerge Pavlov // Build instructions:
5*e144ae54SSerge Pavlov // $ mkdir /tmp/dbginfo
6*e144ae54SSerge Pavlov // $ cp symbols.h symbols.part1.cpp symbols.part2.cpp symbols.part3.c symbols.part4.c /tmp/dbginfo/
7*e144ae54SSerge Pavlov // $ cd /tmp/dbginfo
8*e144ae54SSerge Pavlov // $ gcc -osymbols.so -shared -fPIC -g symbols.part1.cpp symbols.part2.cpp symbols.part3.c symbols.part4.c
9*e144ae54SSerge Pavlov 
10*e144ae54SSerge Pavlov 
11*e144ae54SSerge Pavlov extern "C" {
12*e144ae54SSerge Pavlov extern int global_01;
13*e144ae54SSerge Pavlov int func_01();
14*e144ae54SSerge Pavlov int func_02(int);
15*e144ae54SSerge Pavlov }
16*e144ae54SSerge Pavlov 
func_03(T x)17*e144ae54SSerge Pavlov template<typename T> T func_03(T x) {
18*e144ae54SSerge Pavlov   return x + T(1);
19*e144ae54SSerge Pavlov }
20