1 REQUIRES: system-windows, msvc
2 RUN: %build --compiler=msvc --nodefaultlib --output=%t.exe %S/Inputs/AstRestoreTest.cpp
3 RUN: env LLDB_USE_NATIVE_PDB_READER=0 lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=ENUM %s
4 RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=ENUM %s
5 RUN: lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=GLOBAL %s
6 RUN: lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=BASE %s
7 RUN: env LLDB_USE_NATIVE_PDB_READER=0 lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=CLASS %s
8 RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=CLASS %s
9 RUN: lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=INNER %s
10 RUN: lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=TEMPLATE %s
11 RUN: lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=FOO %s
12 RUN: lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=MAIN %s
28 GLOBAL: Module: {{.*}}
29 GLOBAL: namespace N0 {
30 GLOBAL: namespace N1 {
31 GLOBAL: N0::N1::(anonymous namespace)::Enum Global;
39 BASE: N0::N1::(anonymous namespace)::Enum m_e;
47 CLASS: class Class : public N0::N1::Base {
48 CLASS-DAG: const N0::N1::(anonymous namespace)::Enum m_ce;
49 CLASS-DAG: static int ClassStatic;
50 CLASS-DAG: static const int ClassStaticConst = 8;
51 CLASS-DAG: static const int ClassStaticConstexpr = 9;
52 CLASS-DAG: static constexpr float ClassStaticConstexprFloat = 10.F;
53 CLASS-DAG: static constexpr double ClassStaticConstexprDouble = 11.;
54 CLASS-DAG: static constexpr double ClassStaticConstexprLongDouble = 12.;
55 CLASS-DAG: static const N0::N1::(anonymous namespace)::Enum ClassStaticConstEnum = 8;
56 CLASS-DAG: static const N0::N1::(anonymous namespace)::ScopedEnum ClassStaticConstScopedEnum = 4;
57 CLASS-DAG: N0::N1::Class::Inner m_inner;
58 CLASS-DAG: {{(inline )?}}Class(N0::N1::(anonymous namespace)::Enum);
59 CLASS-DAG: {{(static )?}}{{(inline )?}}int StaticFunc(const N0::N1::Class &);
60 CLASS-DAG: {{(inline )?}}int PrivateFunc(const N0::N1::Class::Inner &);
68 INNER: class Class : public N0::N1::Base {
78 TEMPLATE: Module: {{.*}}
79 TEMPLATE: struct Template<N0::N1::Class> {
80 TEMPLATE: inline void TemplateFunc<1>();