typedef int IntTypedef; IntTypedef g_IntVar; // Testing globals. typedef enum Enum { // Testing constants. RED, GREEN, BLUE } EnumTypedef; EnumTypedef g_EnumVar; // Testing members. // FIXME: `sg_IntVar` appears both in global scope's children and compiland's // children but with different symbol's id. static int sg_IntVar = -1; // Testing file statics. // FIXME: `g_Const` appears both in global scope's children and compiland's // children but with different symbol's id. const int g_Const = 0x88; // Testing constant data. const int *g_pConst = &g_Const; // Avoid optimizing the const away thread_local int g_tls = 0; // Testing thread-local storage. class Class { static int m_StaticClassMember; public: explicit Class(int a) {} void Func() {} }; int Class::m_StaticClassMember = 10; // Testing static class members. Class ClassVar(1); int f(int var_arg1, int var_arg2) { // Testing parameters. long same_name_var = -1; return 1; } int same_name_var = 100; int main() { int same_name_var = 0; // Testing locals. const char local_const = 0x1; // FIXME: 'local_CString` is not found through compiland's children. const char local_CString[] = "abc"; // Testing constant string. const char *local_pCString = local_CString; // Avoid optimizing the const away int a = 10; a++; ClassVar.Func(); return 0; }