mirror of
https://github.com/capstone-engine/llvm-capstone.git
synced 2024-12-14 19:49:36 +00:00
Add a basic integration test for C++ smart pointers
Check that the debugger can pretty-print unique_ptr and shared_ptr when passed as a function argument. rdar://42314305 llvm-svn: 339961
This commit is contained in:
parent
9084e82880
commit
103018e9d9
41
debuginfo-tests/smart-ptr-1.cpp
Normal file
41
debuginfo-tests/smart-ptr-1.cpp
Normal file
@ -0,0 +1,41 @@
|
||||
// RUN: %clangxx -std=c++14 %target_itanium_abi_host_triple -g %s -o %t.O0.out
|
||||
// RUN: %test_debuginfo %s %t.O0.out
|
||||
|
||||
#include <memory>
|
||||
|
||||
static volatile int sink;
|
||||
|
||||
static void use_shared_ptr(std::shared_ptr<int> ptr) {
|
||||
// DEBUGGER: break 10
|
||||
sink = *ptr;
|
||||
}
|
||||
|
||||
static void use_unique_ptr(std::unique_ptr<int> ptr) {
|
||||
// DEBUGGER: break 15
|
||||
sink = *ptr;
|
||||
}
|
||||
|
||||
int main() {
|
||||
auto sp_1 = std::make_shared<int>(1234);
|
||||
use_shared_ptr(sp_1);
|
||||
|
||||
auto up_1 = std::make_unique<int>(5678);
|
||||
use_unique_ptr(std::move(up_1));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
// DEBUGGER: r
|
||||
|
||||
// (at line 10)
|
||||
// DEBUGGER: p ptr
|
||||
// CHECK: shared_ptr<int>
|
||||
// CHECK-SAME: 1234
|
||||
|
||||
// DEBUGGER: c
|
||||
|
||||
// (at line 16)
|
||||
// DEBUGGER: p ptr
|
||||
// CHECK: unique_ptr<int>
|
||||
// TODO: lldb's unique_ptr data formatter doesn't pretty-print its wrapped
|
||||
// object.
|
Loading…
Reference in New Issue
Block a user