93 lines · plain
1REQUIRES: system-windows, msvc2RUN: %build --compiler=msvc --nodefaultlib --output=%t.exe %S/Inputs/AstRestoreTest.cpp3RUN: lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=ENUM %s4RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=ENUM %s5RUN: lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=GLOBAL %s6RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=GLOBAL %s7RUN: lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=BASE %s8RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=BASE %s9RUN: lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=CLASS %s10RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=CLASS %s11RUN: lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=INNER %s12RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=INNER %s13RUN: lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=TEMPLATE %s14RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=TEMPLATE %s15RUN: lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=FOO %s16RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=FOO %s17RUN: lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=MAIN %s18RUN: env LLDB_USE_NATIVE_PDB_READER=1 lldb-test symbols -dump-ast %t.exe | FileCheck --check-prefix=MAIN %s19 20ENUM: Module: {{.*}}21ENUM: namespace N0 {22ENUM: namespace N1 {23ENUM: namespace {24ENUM: enum Enum {25ENUM: Enum_0,26ENUM: Enum_1,27ENUM: Enum_2,28ENUM: Enum_329ENUM: };30ENUM: }31ENUM: }32ENUM: }33 34GLOBAL: N0::N1::(anonymous namespace)::Enum {{.*}}Global;35 36BASE: Module: {{.*}}37BASE: namespace N0 {38BASE: namespace N1 {39BASE: struct Base {40BASE: N0::N1::(anonymous namespace)::Enum m_e;41BASE: };42BASE: }43BASE: }44 45CLASS: Module: {{.*}}46CLASS: namespace N0 {47CLASS: namespace N1 {48CLASS: class Class : public N0::N1::Base {49CLASS-DAG: const N0::N1::(anonymous namespace)::Enum m_ce;50CLASS-DAG: static int ClassStatic;51CLASS-DAG: static const int ClassStaticConst = 8;52CLASS-DAG: static const int ClassStaticConstexpr = 9;53CLASS-DAG: static constexpr float ClassStaticConstexprFloat = 10.F;54CLASS-DAG: static constexpr double ClassStaticConstexprDouble = 11.;55CLASS-DAG: static constexpr double ClassStaticConstexprLongDouble = 12.;56CLASS-DAG: static const N0::N1::(anonymous namespace)::Enum ClassStaticConstEnum = 8;57CLASS-DAG: static const N0::N1::(anonymous namespace)::ScopedEnum ClassStaticConstScopedEnum = 4;58CLASS-DAG: N0::N1::Class::Inner m_inner;59CLASS-DAG: {{(inline )?}}Class(N0::N1::(anonymous namespace)::Enum);60CLASS-DAG: {{(static )?}}{{(inline )?}}int StaticFunc(const N0::N1::Class &);61CLASS-DAG: {{(inline )?}}int PrivateFunc(const N0::N1::Class::Inner &);62CLASS: };63CLASS: }64CLASS: }65 66INNER: Module: {{.*}}67INNER: namespace N0 {68INNER: namespace N1 {69INNER: class Class : public N0::N1::Base {70INNER: struct Inner {71INNER: char x;72INNER: short y;73INNER: int z;74INNER: };75INNER: };76INNER: }77INNER: }78 79TEMPLATE: Module: {{.*}}80TEMPLATE: struct Template<N0::N1::Class> {81TEMPLATE: void TemplateFunc<1>();82TEMPLATE: };83 84FOO: Module: {{.*}}85FOO: namespace N0 {86FOO: namespace N1 {87FOO: void foo();88FOO: }89FOO: }90 91MAIN: Module: {{.*}}92MAIN: int main();93