• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1REQUIRES: system-windows, msvc
2RUN: %build --compiler=msvc --nodefaultlib --output=%t.exe %S/Inputs/AstRestoreTest.cpp
3RUN: env LLDB_USE_NATIVE_PDB_READER=0 lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=ENUM %s
4RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=ENUM %s
5RUN: lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=GLOBAL %s
6RUN: lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=BASE %s
7RUN: env LLDB_USE_NATIVE_PDB_READER=0 lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=CLASS %s
8RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=CLASS %s
9RUN: lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=INNER %s
10RUN: lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=TEMPLATE %s
11RUN: lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=FOO %s
12RUN: lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=MAIN %s
13
14ENUM: Module: {{.*}}
15ENUM: namespace N0 {
16ENUM:     namespace N1 {
17ENUM:         namespace  {
18ENUM:             enum Enum {
19ENUM:                 Enum_0,
20ENUM:                 Enum_1,
21ENUM:                 Enum_2,
22ENUM:                 Enum_3
23ENUM:             };
24ENUM:         }
25ENUM:     }
26ENUM: }
27
28GLOBAL: Module: {{.*}}
29GLOBAL: namespace N0 {
30GLOBAL:     namespace N1 {
31GLOBAL:         N0::N1::(anonymous namespace)::Enum Global;
32GLOBAL:     }
33GLOBAL: }
34
35BASE: Module: {{.*}}
36BASE: namespace N0 {
37BASE:     namespace N1 {
38BASE:         struct Base {
39BASE:             N0::N1::(anonymous namespace)::Enum m_e;
40BASE:         };
41BASE:     }
42BASE: }
43
44CLASS: Module: {{.*}}
45CLASS: namespace N0 {
46CLASS:     namespace N1 {
47CLASS:         class Class : public N0::N1::Base {
48CLASS-DAG:             const N0::N1::(anonymous namespace)::Enum m_ce;
49CLASS-DAG:             static int ClassStatic;
50CLASS-DAG:             static const int ClassStaticConst = 8;
51CLASS-DAG:             static const int ClassStaticConstexpr = 9;
52CLASS-DAG:             static constexpr float ClassStaticConstexprFloat = 10.F;
53CLASS-DAG:             static constexpr double ClassStaticConstexprDouble = 11.;
54CLASS-DAG:             static constexpr double ClassStaticConstexprLongDouble = 12.;
55CLASS-DAG:             static const N0::N1::(anonymous namespace)::Enum ClassStaticConstEnum = 8;
56CLASS-DAG:             static const N0::N1::(anonymous namespace)::ScopedEnum ClassStaticConstScopedEnum = 4;
57CLASS-DAG:             N0::N1::Class::Inner m_inner;
58CLASS-DAG:             {{(inline )?}}Class(N0::N1::(anonymous namespace)::Enum);
59CLASS-DAG:             static {{(inline )?}}int StaticFunc(const N0::N1::Class &);
60CLASS-DAG:             {{(inline )?}}int PrivateFunc(const N0::N1::Class::Inner &);
61CLASS:         };
62CLASS:     }
63CLASS: }
64
65INNER: Module: {{.*}}
66INNER: namespace N0 {
67INNER:     namespace N1 {
68INNER:         class Class : public N0::N1::Base {
69INNER:             struct Inner {
70INNER:                 char x;
71INNER:                 short y;
72INNER:                 int z;
73INNER:             };
74INNER:         };
75INNER:     }
76INNER: }
77
78TEMPLATE: Module: {{.*}}
79TEMPLATE: struct Template<N0::N1::Class> {
80TEMPLATE:     inline void TemplateFunc<1>();
81TEMPLATE: };
82
83FOO: Module: {{.*}}
84FOO: namespace N0 {
85FOO:     namespace N1 {
86FOO:         void foo();
87FOO:     }
88FOO: }
89
90MAIN: Module: {{.*}}
91MAIN: int main();
92