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
 


_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to