// This smoke test ensures that LLDB doesn't crash when formatting types from MSVC's STL. // FIXME: LLDB currently has no built-in formatters for MSVC's STL (#24834) // REQUIRES: target-windows // RUN: %build --compiler=clang-cl -o %t.exe --std c++20 -- %s // RUN: env LLDB_USE_NATIVE_PDB_READER=1 %lldb -f %t.exe -o "b main" -o "run" -o "fr v" -o c | FileCheck %s #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include int main() { std::shared_ptr foo; std::weak_ptr weak = foo; std::unique_ptr unique(new int(42)); std::optional opt; std::string str = "str"; std::string longStr = "string that is long enough such that no SSO can happen"; std::wstring wStr = L"wstr"; std::wstring longWStr = L"string that is long enough such that no SSO can happen"; std::tuple tuple{1, false, 4.2}; std::coroutine_handle<> coroHandle; std::bitset<16> bitset(123); std::map map{{1, 2}, {2, 4}, {3, 6}, {4, 8}, {5, 10}}; auto mapIt = map.find(3); auto mapItEnd = map.find(9); std::set set{1, 2, 3}; std::multimap mMap{{1, 2}, {1, 1}, {2, 4}}; std::multiset mSet{1, 2, 3}; std::variant variant; std::list list{1, 2, 3}; std::forward_list fwList{1, 2, 3}; std::unordered_map uMap{{1, 2}, {2, 4}, {3, 6}}; std::unordered_set uSet{1, 2, 4}; std::unordered_multimap uMMap{{1, 2}, {1, 1}, {2, 4}}; std::unordered_multiset uMSet{1, 1, 2}; std::deque deque{1, 2, 3}; std::vector vec{1, 2, 3}; } // CHECK: Process {{.*}} exited with status = 0 (0x00000000)