xref: /llvm-project/lldb/test/Shell/SymbolFile/PDB/Inputs/VariablesTest.cpp (revision 87aa9c9e4d41ed881453e2fab85b3d25f648bb55)
1*87aa9c9eSJonas Devlieghere typedef int IntTypedef;
2*87aa9c9eSJonas Devlieghere IntTypedef g_IntVar;  // Testing globals.
3*87aa9c9eSJonas Devlieghere 
4*87aa9c9eSJonas Devlieghere typedef enum Enum { // Testing constants.
5*87aa9c9eSJonas Devlieghere   RED,
6*87aa9c9eSJonas Devlieghere   GREEN,
7*87aa9c9eSJonas Devlieghere   BLUE
8*87aa9c9eSJonas Devlieghere } EnumTypedef;
9*87aa9c9eSJonas Devlieghere EnumTypedef g_EnumVar;  // Testing members.
10*87aa9c9eSJonas Devlieghere 
11*87aa9c9eSJonas Devlieghere // FIXME: `sg_IntVar` appears both in global scope's children and compiland's
12*87aa9c9eSJonas Devlieghere // children but with different symbol's id.
13*87aa9c9eSJonas Devlieghere static int sg_IntVar = -1;  // Testing file statics.
14*87aa9c9eSJonas Devlieghere 
15*87aa9c9eSJonas Devlieghere // FIXME: `g_Const` appears both in global scope's children and compiland's
16*87aa9c9eSJonas Devlieghere // children but with different symbol's id.
17*87aa9c9eSJonas Devlieghere const int g_Const = 0x88;  // Testing constant data.
18*87aa9c9eSJonas Devlieghere const int *g_pConst = &g_Const; // Avoid optimizing the const away
19*87aa9c9eSJonas Devlieghere 
20*87aa9c9eSJonas Devlieghere thread_local int g_tls = 0;  // Testing thread-local storage.
21*87aa9c9eSJonas Devlieghere 
22*87aa9c9eSJonas Devlieghere class Class {
23*87aa9c9eSJonas Devlieghere   static int m_StaticClassMember;
24*87aa9c9eSJonas Devlieghere public:
Class(int a)25*87aa9c9eSJonas Devlieghere   explicit Class(int a) {}
Func()26*87aa9c9eSJonas Devlieghere   void Func() {}
27*87aa9c9eSJonas Devlieghere };
28*87aa9c9eSJonas Devlieghere int Class::m_StaticClassMember = 10; // Testing static class members.
29*87aa9c9eSJonas Devlieghere Class ClassVar(1);
30*87aa9c9eSJonas Devlieghere 
f(int var_arg1,int var_arg2)31*87aa9c9eSJonas Devlieghere int f(int var_arg1, int var_arg2) {  // Testing parameters.
32*87aa9c9eSJonas Devlieghere   long same_name_var = -1;
33*87aa9c9eSJonas Devlieghere   return 1;
34*87aa9c9eSJonas Devlieghere }
35*87aa9c9eSJonas Devlieghere 
36*87aa9c9eSJonas Devlieghere int same_name_var = 100;
main()37*87aa9c9eSJonas Devlieghere int main() {
38*87aa9c9eSJonas Devlieghere   int same_name_var = 0;  // Testing locals.
39*87aa9c9eSJonas Devlieghere   const char local_const = 0x1;
40*87aa9c9eSJonas Devlieghere 
41*87aa9c9eSJonas Devlieghere   // FIXME: 'local_CString` is not found through compiland's children.
42*87aa9c9eSJonas Devlieghere   const char local_CString[] = "abc";  // Testing constant string.
43*87aa9c9eSJonas Devlieghere   const char *local_pCString = local_CString; // Avoid optimizing the const away
44*87aa9c9eSJonas Devlieghere 
45*87aa9c9eSJonas Devlieghere   int a = 10;
46*87aa9c9eSJonas Devlieghere   a++;
47*87aa9c9eSJonas Devlieghere 
48*87aa9c9eSJonas Devlieghere   ClassVar.Func();
49*87aa9c9eSJonas Devlieghere   return 0;
50*87aa9c9eSJonas Devlieghere }
51