[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