diff options
Diffstat (limited to 'debuginfo-tests/llgdb-tests/static-member-2.cpp')
-rw-r--r-- | debuginfo-tests/llgdb-tests/static-member-2.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/debuginfo-tests/llgdb-tests/static-member-2.cpp b/debuginfo-tests/llgdb-tests/static-member-2.cpp new file mode 100644 index 00000000000..4edb2b060f1 --- /dev/null +++ b/debuginfo-tests/llgdb-tests/static-member-2.cpp @@ -0,0 +1,39 @@ +// RUN: %clangxx %target_itanium_abi_host_triple -O0 -g %s -o %t -c +// RUN: %clangxx %target_itanium_abi_host_triple %t -o %t.out +// RUN: %test_debuginfo %s %t.out + +// FIXME: LLDB finds the wrong symbol for "C". rdar://problem/14933867 +// XFAIL: darwin + +// DEBUGGER: delete breakpoints +// DEBUGGER: break static-member.cpp:33 +// DEBUGGER: r +// DEBUGGER: ptype C +// CHECK: {{struct|class}} C { +// CHECK: static const int a; +// CHECK-NEXT: static int b; +// CHECK-NEXT: static int c; +// CHECK-NEXT: int d; +// CHECK-NEXT: } +// DEBUGGER: p C::a +// CHECK: ${{[0-9]}} = 4 +// DEBUGGER: p C::c +// CHECK: ${{[0-9]}} = 15 + +// PR14471, PR14734 + +class C { +public: + const static int a = 4; + static int b; + static int c; + int d; +}; + +int C::c = 15; +const int C::a; + +int main() { + C instance_C; + return C::a; +} |