<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">I just realized I failed to commit the bulk of this patch (and of course, accidentally did a revert…)</div><div class="">Your build will be broken for the next 5 minutes until I actually rewrite the changes and commit them</div><br class=""><div><blockquote type="cite" class=""><div class="">On Mar 12, 2015, at 3:17 PM, Enrico Granata <<a href="mailto:egranata@apple.com" class="">egranata@apple.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class="">Author: enrico<br class="">Date: Thu Mar 12 17:17:07 2015<br class="">New Revision: 232114<br class=""><br class="">URL: <a href="http://llvm.org/viewvc/llvm-project?rev=232114&view=rev" class="">http://llvm.org/viewvc/llvm-project?rev=232114&view=rev</a><br class="">Log:<br class="">Fix a bug in the data formatters where summary strings would not look into the non-synthetic value for child members if the ValueObject being formatted happened to have a synthetic value<br class=""><br class=""><a href="rdar://15630776" class="">rdar://15630776</a><br class=""><br class=""><br class="">Modified:<br class=""> lldb/trunk/include/lldb/Core/ValueObject.h<br class=""> lldb/trunk/source/Core/FormatEntity.cpp<br class=""> lldb/trunk/source/DataFormatters/LibCxx.cpp<br class=""> lldb/trunk/test/functionalities/data-formatter/data-formatter-synth/TestDataFormatterSynth.py<br class=""><br class="">Modified: lldb/trunk/include/lldb/Core/ValueObject.h<br class="">URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/include/lldb/Core/ValueObject.h?rev=232114&r1=232113&r2=232114&view=diff<br class="">==============================================================================<br class="">--- lldb/trunk/include/lldb/Core/ValueObject.h (original)<br class="">+++ lldb/trunk/include/lldb/Core/ValueObject.h Thu Mar 12 17:17:07 2015<br class="">@@ -141,19 +141,27 @@ public:<br class=""><br class=""> struct GetValueForExpressionPathOptions<br class=""> {<br class="">+ enum class SyntheticChildrenTraversal<br class="">+ {<br class="">+ None,<br class="">+ ToSynthetic,<br class="">+ FromSynthetic,<br class="">+ Both<br class="">+ };<br class="">+ <br class=""> bool m_check_dot_vs_arrow_syntax;<br class=""> bool m_no_fragile_ivar;<br class=""> bool m_allow_bitfields_syntax;<br class="">- bool m_no_synthetic_children;<br class="">+ SyntheticChildrenTraversal m_synthetic_children_traversal;<br class=""><br class=""> GetValueForExpressionPathOptions(bool dot = false,<br class=""> bool no_ivar = false,<br class=""> bool bitfield = true,<br class="">- bool no_synth = false) :<br class="">+ SyntheticChildrenTraversal synth_traverse = SyntheticChildrenTraversal::ToSynthetic) :<br class=""> m_check_dot_vs_arrow_syntax(dot),<br class=""> m_no_fragile_ivar(no_ivar),<br class=""> m_allow_bitfields_syntax(bitfield),<br class="">- m_no_synthetic_children(no_synth)<br class="">+ m_synthetic_children_traversal(synth_traverse)<br class=""> {<br class=""> }<br class=""><br class="">@@ -200,16 +208,9 @@ public:<br class=""> }<br class=""><br class=""> GetValueForExpressionPathOptions&<br class="">- DoAllowSyntheticChildren()<br class="">- {<br class="">- m_no_synthetic_children = false;<br class="">- return *this;<br class="">- }<br class="">- <br class="">- GetValueForExpressionPathOptions&<br class="">- DontAllowSyntheticChildren()<br class="">+ SetSyntheticChildrenTraversal(SyntheticChildrenTraversal traverse)<br class=""> {<br class="">- m_no_synthetic_children = true;<br class="">+ m_synthetic_children_traversal = traverse;<br class=""> return *this;<br class=""> }<br class=""><br class=""><br class="">Modified: lldb/trunk/source/Core/FormatEntity.cpp<br class="">URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Core/FormatEntity.cpp?rev=232114&r1=232113&r2=232114&view=diff<br class="">==============================================================================<br class="">--- lldb/trunk/source/Core/FormatEntity.cpp (original)<br class="">+++ lldb/trunk/source/Core/FormatEntity.cpp Thu Mar 12 17:17:07 2015<br class="">@@ -766,7 +766,7 @@ DumpValue (Stream &s,<br class=""> ValueObject::ExpressionPathAftermath what_next = (do_deref_pointer ?<br class=""> ValueObject::eExpressionPathAftermathDereference : ValueObject::eExpressionPathAftermathNothing);<br class=""> ValueObject::GetValueForExpressionPathOptions options;<br class="">- options.DontCheckDotVsArrowSyntax().DoAllowBitfieldSyntax().DoAllowFragileIVar().DoAllowSyntheticChildren();<br class="">+ options.DontCheckDotVsArrowSyntax().DoAllowBitfieldSyntax().DoAllowFragileIVar().SetSyntheticChildrenTraversal(ValueObject::GetValueForExpressionPathOptions::SyntheticChildrenTraversal::Both);<br class=""> ValueObject* target = NULL;<br class=""> const char* var_name_final_if_array_range = NULL;<br class=""> size_t close_bracket_index = llvm::StringRef::npos;<br class=""><br class="">Modified: lldb/trunk/source/DataFormatters/LibCxx.cpp<br class="">URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/DataFormatters/LibCxx.cpp?rev=232114&r1=232113&r2=232114&view=diff<br class="">==============================================================================<br class="">--- lldb/trunk/source/DataFormatters/LibCxx.cpp (original)<br class="">+++ lldb/trunk/source/DataFormatters/LibCxx.cpp Thu Mar 12 17:17:07 2015<br class="">@@ -266,7 +266,7 @@ lldb_private::formatters::LibCxxMapItera<br class=""> NULL,<br class=""> NULL,<br class=""> NULL,<br class="">- ValueObject::GetValueForExpressionPathOptions().DontCheckDotVsArrowSyntax().DontAllowSyntheticChildren(),<br class="">+ ValueObject::GetValueForExpressionPathOptions().DontCheckDotVsArrowSyntax().SetSyntheticChildrenTraversal(ValueObject::GetValueForExpressionPathOptions::SyntheticChildrenTraversal::None),<br class=""> NULL).get();<br class=""><br class=""> return false;<br class=""><br class="">Modified: lldb/trunk/test/functionalities/data-formatter/data-formatter-synth/TestDataFormatterSynth.py<br class="">URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/test/functionalities/data-formatter/data-formatter-synth/TestDataFormatterSynth.py?rev=232114&r1=232113&r2=232114&view=diff<br class="">==============================================================================<br class="">--- lldb/trunk/test/functionalities/data-formatter/data-formatter-synth/TestDataFormatterSynth.py (original)<br class="">+++ lldb/trunk/test/functionalities/data-formatter/data-formatter-synth/TestDataFormatterSynth.py Thu Mar 12 17:17:07 2015<br class="">@@ -14,14 +14,12 @@ class SynthDataFormatterTestCase(TestBas<br class=""><br class=""> @unittest2.skipUnless(sys.platform.startswith("darwin"), "requires Darwin")<br class=""> @dsym_test<br class="">- @unittest2.expectedFailure("rdar://15630776 - Summary cannot reference non-synthetic children if synthetic children exist")<br class=""> def test_with_dsym_and_run_command(self):<br class=""> """Test data formatter commands."""<br class=""> self.buildDsym()<br class=""> self.data_formatter_commands()<br class=""><br class=""> @dwarf_test<br class="">- @unittest2.expectedFailure("rdar://15630776 - Summary cannot reference non-synthetic children if synthetic children exist")<br class=""> def test_with_dwarf_and_run_command(self):<br class=""> """Test data formatter commands."""<br class=""> self.buildDwarf()<br class=""><br class=""><br class="">_______________________________________________<br class="">lldb-commits mailing list<br class="">lldb-commits@cs.uiuc.edu<br class="">http://lists.cs.uiuc.edu/mailman/listinfo/lldb-commits<br class=""></div></blockquote></div><br class=""><div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">Thanks,</div><div class=""><i class="">- Enrico</i><br class="">📩 egranata@<font color="#ff2600" class=""></font>.com ☎️ 27683</div><div class=""><br class=""></div></div></div></div></div></div><br class="Apple-interchange-newline"><br class="Apple-interchange-newline">
</div>
<br class=""></body></html>