[Lldb-commits] [lldb] r354202 - Fix TestDataFormatterLibcxxListLoop.py test
Raphael Isemann via lldb-commits
lldb-commits at lists.llvm.org
Sat Feb 16 04:13:30 PST 2019
Author: teemperor
Date: Sat Feb 16 04:13:30 2019
New Revision: 354202
URL: http://llvm.org/viewvc/llvm-project?rev=354202&view=rev
Log:
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<int, void *>'
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
Modified:
lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/list/loop/main.cpp
Modified: lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/list/loop/main.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/list/loop/main.cpp?rev=354202&r1=354201&r2=354202&view=diff
==============================================================================
--- lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/list/loop/main.cpp (original)
+++ lldb/trunk/packages/Python/lldbsuite/test/functionalities/data-formatter/data-formatter-stl/libcxx/list/loop/main.cpp Sat Feb 16 04:13:30 2019
@@ -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
More information about the lldb-commits
mailing list