| // 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; |
| } |