Resubmit "Remove an output-parameter from Variable function".

The scanning algorithm had a few little subtleties that I
overlooked, but this patch should fix everything.

I still haven't changed the function to take a StringRef since
that has some trickle down effect and is mostly mechanical,
I just wanted to get the tricky part as isolated as possible.

llvm-svn: 287354
diff --git a/lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp b/lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
index 82f1a5d..82441a6 100644
--- a/lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
+++ b/lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
@@ -280,7 +280,7 @@
   // die and free their memory
   m_pair_ptr = valobj_sp
                    ->GetValueForExpressionPath(
-                       ".__i_.__ptr_->__value_", nullptr, nullptr, nullptr,
+                       ".__i_.__ptr_->__value_", nullptr, nullptr,
                        ValueObject::GetValueForExpressionPathOptions()
                            .DontCheckDotVsArrowSyntax()
                            .SetSyntheticChildrenTraversal(
@@ -288,16 +288,18 @@
                                    SyntheticChildrenTraversal::None),
                        nullptr)
                    .get();
-  
+
   if (!m_pair_ptr) {
-    m_pair_ptr = valobj_sp->GetValueForExpressionPath(".__i_.__ptr_", nullptr, nullptr, nullptr,
-                                                      ValueObject::GetValueForExpressionPathOptions()
-                                                      .DontCheckDotVsArrowSyntax()
-                                                      .SetSyntheticChildrenTraversal(
-                                                                                     ValueObject::GetValueForExpressionPathOptions::
-                                                                                     SyntheticChildrenTraversal::None),
-                                                      nullptr)
-    .get();
+    m_pair_ptr = valobj_sp
+                     ->GetValueForExpressionPath(
+                         ".__i_.__ptr_", nullptr, nullptr,
+                         ValueObject::GetValueForExpressionPathOptions()
+                             .DontCheckDotVsArrowSyntax()
+                             .SetSyntheticChildrenTraversal(
+                                 ValueObject::GetValueForExpressionPathOptions::
+                                     SyntheticChildrenTraversal::None),
+                         nullptr)
+                     .get();
     if (m_pair_ptr) {
       auto __i_(valobj_sp->GetChildMemberWithName(g___i_, true));
       lldb::TemplateArgumentKind kind;