alexandreyy created this revision.
alexandreyy added reviewers: labath, clayborg.

Std unique pointers were not being printed. The unique pointer layout was 
changed in libstdc++ 6.0.23.


https://reviews.llvm.org/D44015

Files:
  source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp


Index: source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
===================================================================
--- source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
+++ source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
@@ -64,6 +64,16 @@
 
   ValueObjectSP tuple_sp =
       valobj_sp->GetChildMemberWithName(ConstString("_M_t"), true);
+
+  ValueObjectSP tuple_sp_child  =
+      tuple_sp->GetChildMemberWithName(ConstString("_M_t"), true);
+
+  /* if there is a _M_t child, the pointers are found in the
+   * tuple_sp_child (for libstdc++ 6.0.23). */
+  if (tuple_sp_child) {
+    tuple_sp = tuple_sp_child;
+  }
+
   if (!tuple_sp)
     return false;
 


Index: source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
===================================================================
--- source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
+++ source/Plugins/Language/CPlusPlus/LibStdcppUniquePointer.cpp
@@ -64,6 +64,16 @@
 
   ValueObjectSP tuple_sp =
       valobj_sp->GetChildMemberWithName(ConstString("_M_t"), true);
+
+  ValueObjectSP tuple_sp_child  =
+      tuple_sp->GetChildMemberWithName(ConstString("_M_t"), true);
+
+  /* if there is a _M_t child, the pointers are found in the
+   * tuple_sp_child (for libstdc++ 6.0.23). */
+  if (tuple_sp_child) {
+    tuple_sp = tuple_sp_child;
+  }
+
   if (!tuple_sp)
     return false;
 
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
  • [Lldb-commits] ... Alexandre Yukio Yamashita via Phabricator via lldb-commits
    • [Lldb-comm... Pavel Labath via Phabricator via lldb-commits
    • [Lldb-comm... Alexandre Yukio Yamashita via Phabricator via lldb-commits
    • [Lldb-comm... Pavel Labath via Phabricator via lldb-commits
    • [Lldb-comm... Alexandre Yukio Yamashita via Phabricator via lldb-commits
    • [Lldb-comm... Alexandre Yukio Yamashita via Phabricator via lldb-commits
    • [Lldb-comm... Pavel Labath via Phabricator via lldb-commits

Reply via email to