From 913f07af6e467529ec2a10f6fe88042f461ee330 Mon Sep 17 00:00:00 2001 From: Raphael Isemann Date: Sat, 16 Feb 2019 12:13:30 +0000 Subject: Fix TestDataFormatterLibcxxListLoop.py test Summary: The compilation of the TestDataFormatterLibcxxListLoop.py currently fails with this error: ``` functionalities/data-formatter/data-formatter-stl/libcxx/list/loop/main.cpp:19:24: error: no member named '__value_' in 'std::__1::__list_node_base' assert(third_elem->__value_ == 3); ~~~~~~~~~~ ^ ``` It seems the internal structure of list has changed with the 3.8 release. This patch makes the test compile with the current libc++ and with the previous libc++. Reviewers: shafik, zturner, labath Reviewed By: labath Subscribers: christof, jdoerfert, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D58273 llvm-svn: 354202 --- .../data-formatter/data-formatter-stl/libcxx/list/loop/main.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'lldb/packages/Python/lldbsuite/test/functionalities/data-formatter') diff --git a/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/list/loop/main.cpp b/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/list/loop/main.cpp index 7c623e9a68b..e07e93838b9 100644 --- a/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/list/loop/main.cpp +++ b/lldb/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/list/loop/main.cpp @@ -15,10 +15,18 @@ int main() int_list *numbers_list = new int_list{1,2,3,4,5,6,7,8,9,10}; printf("// Set break point at this line."); + +#if _LIBCPP_VERSION >= 3800 + auto *third_elem = numbers_list->__end_.__next_->__next_->__next_; + assert(third_elem->__as_node()->__value_ == 3); + auto *fifth_elem = third_elem->__next_->__next_; + assert(fifth_elem->__as_node()->__value_ == 5); +#else auto *third_elem = numbers_list->__end_.__next_->__next_->__next_; assert(third_elem->__value_ == 3); auto *fifth_elem = third_elem->__next_->__next_; assert(fifth_elem->__value_ == 5); +#endif fifth_elem->__next_ = third_elem; #endif -- cgit v1.2.3