[Lldb-commits] [PATCH] D80254: Prevent GetNumChildren from transitively walking pointer chains

2020-05-22 Thread Greg Clayton via Phabricator via lldb-commits
clayborg accepted this revision. clayborg added a comment. Major changes not required. Thanks for finding and fixing this! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80254/new/ https://reviews.llvm.org/D80254 ___ lldb-commits mailing lis

[Lldb-commits] [PATCH] D80150: [lldb/DataFormatter] Check for overflow when finding NSDate epoch

2020-05-22 Thread Vedant Kumar via Phabricator via lldb-commits
vsk updated this revision to Diff 265830. vsk added a comment. Fix an ASSERT_LE that was actually meant to be an ASSERT_GE. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80150/new/ https://reviews.llvm.org/D80150 Files: lldb/include/lldb/DataFor

[Lldb-commits] [PATCH] D80150: [lldb/DataFormatter] Check for overflow when finding NSDate epoch

2020-05-22 Thread Vedant Kumar via Phabricator via lldb-commits
vsk marked 2 inline comments as done and an inline comment as not done. vsk added inline comments. Comment at: lldb/unittests/DataFormatter/MockTests.cpp:30 + // Can't convert the date_value to a time_t. + EXPECT_EQ(formatDateValue(std::numeric_limits::max() + 1), +

[Lldb-commits] [PATCH] D80150: [lldb/DataFormatter] Check for overflow when finding NSDate epoch

2020-05-22 Thread Vedant Kumar via Phabricator via lldb-commits
vsk updated this revision to Diff 265829. vsk added a comment. Apologies for all the breakage. I think I've identified the issues in the initial patch which caused breakage on the bots, and which caused the tests to not target what they meant to test. I've reworked this patch to use std::llrint,

Re: [Lldb-commits] [PATCH] D80150: [lldb/DataFormatter] Check for overflow when finding NSDate epoch

2020-05-22 Thread Vedant Kumar via lldb-commits
There were several things off here, both in the tests and the Cocoa.cpp change. Sorry for all the breakage. I’ve updated https://reviews.llvm.org/D80150 to address these issues and written up a summary there of what went wrong. vedant > On May 20, 202

[Lldb-commits] [PATCH] D80418: Print a warning when stopped in a frame LLDB has no plugin for.

2020-05-22 Thread Adrian Prantl via Phabricator via lldb-commits
aprantl closed this revision. aprantl added a comment. 220c17ffd4e1b127bcc02b25980b7934184ee1da CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80418/new/ https://reviews.llvm.org/D80418

[Lldb-commits] [PATCH] D80345: [DwarfExpression] Support entry values for indirect parameters

2020-05-22 Thread Vedant Kumar via Phabricator via lldb-commits
vsk added a comment. Apparently, we always describe the value of an indirect parameter as being "whatever is in the temporary slot", even if the callee modifies it: https://godbolt.org/z/ZgWr_n. So treating the indirect parameter DBG_VALUE as pointing to a (modifiable) location sounds consisten

[Lldb-commits] [PATCH] D80345: [DwarfExpression] Support entry values for indirect parameters

2020-05-22 Thread Vedant Kumar via Phabricator via lldb-commits
vsk marked 2 inline comments as done. vsk added inline comments. Comment at: llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h:151 +IndirectValue = 1 << 1, +CallSiteParamValue = 1 << 2 + }; aprantl wrote: > I'm going to be pedantic now: Should this be Indire

[Lldb-commits] [PATCH] D80345: [DwarfExpression] Support entry values for indirect parameters

2020-05-22 Thread Vedant Kumar via Phabricator via lldb-commits
vsk marked an inline comment as done. vsk added inline comments. Comment at: llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp:790 +// FIXME: This produces unusable descriptions when the register contains +// a pointer to a temporary copy of a struct passed by value. DIExpr

[Lldb-commits] [PATCH] D80345: [DwarfExpression] Support entry values for indirect parameters

2020-05-22 Thread Vedant Kumar via Phabricator via lldb-commits
vsk updated this revision to Diff 265815. vsk added a comment. Address review feedback. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80345/new/ https://reviews.llvm.org/D80345 Files: lldb/test/API/functionalities/param_entry_vals/basic_entry_va

[Lldb-commits] [PATCH] D80345: [DwarfExpression] Support entry values for indirect parameters

2020-05-22 Thread Djordje Todorovic via Phabricator via lldb-commits
djtodoro added inline comments. Comment at: llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h:149 +EntryValue = 1 << 0, +IndirectEntryValue = 1 << 1, +CallSiteParamValue = 1 << 2 vsk wrote: > aprantl wrote: > > Would it make more sense call this `Indirect

[Lldb-commits] [PATCH] D80345: [DwarfExpression] Support entry values for indirect parameters

2020-05-22 Thread Djordje Todorovic via Phabricator via lldb-commits
djtodoro added a comment. Great! Thanks! I think we should update the `LangRef.rst` (entry_values section) as well. In addition, can we add a test case checking MIR output after `LiveDebugValues`? Comment at: llvm/test/DebugInfo/MIR/AArch64/dbgcall-site-indirect-param.mir:18

[Lldb-commits] [PATCH] D80345: [DwarfExpression] Support entry values for indirect parameters

2020-05-22 Thread Adrian Prantl via Phabricator via lldb-commits
aprantl added inline comments. Comment at: llvm/lib/CodeGen/AsmPrinter/DwarfExpression.h:151 +IndirectValue = 1 << 1, +CallSiteParamValue = 1 << 2 + }; I'm going to be pedantic now: Should this be Indirect instead of IndirectValue? I.e., can there be no

[Lldb-commits] [PATCH] D80345: [DwarfExpression] Support entry values for indirect parameters

2020-05-22 Thread Vedant Kumar via Phabricator via lldb-commits
vsk updated this revision to Diff 265594. vsk marked an inline comment as done. vsk added a comment. Address review feedback. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80345/new/ https://reviews.llvm.org/D80345 Files: lldb/test/API/functiona

[Lldb-commits] [PATCH] D80345: [DwarfExpression] Support entry values for indirect parameters

2020-05-22 Thread Vedant Kumar via Phabricator via lldb-commits
vsk updated this revision to Diff 265629. vsk added a comment. Remove incorrect fixme. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80345/new/ https://reviews.llvm.org/D80345 Files: lldb/test/API/functionalities/param_entry_vals/basic_entry_val

[Lldb-commits] [PATCH] D80345: [DwarfExpression] Support entry values for indirect parameters

2020-05-22 Thread Adrian Prantl via Phabricator via lldb-commits
aprantl added inline comments. Comment at: llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:1288 DwarfExpr.addFragmentOffset(DIExpr); - if (Location.isIndirect()) + if (Location.isIndirect() && !DIExpr->isEntryValue()) DwarfExpr.setMemoryLocationKind();

[Lldb-commits] [PATCH] D80345: [DwarfExpression] Support entry values for indirect parameters

2020-05-22 Thread Vedant Kumar via Phabricator via lldb-commits
vsk marked 2 inline comments as done. vsk added inline comments. Comment at: llvm/test/DebugInfo/MIR/AArch64/dbgcall-site-indirect-param.mir:18 +# CHECK-NEXT: [0x, 0x0010): DW_OP_breg0 W0+0 +# CHECK-NEXT: [0x0010, 0x001c): DW_O

[Lldb-commits] [PATCH] D80345: [DwarfExpression] Support entry values for indirect parameters

2020-05-22 Thread Vedant Kumar via Phabricator via lldb-commits
vsk updated this revision to Diff 265805. vsk added a comment. Add test coverage for indirect parameter location with offset; fix typo; fix LangRef entry. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80345/new/ https://reviews.llvm.org/D80345 Fi

[Lldb-commits] [PATCH] D80345: [DwarfExpression] Support entry values for indirect parameters

2020-05-22 Thread Vedant Kumar via Phabricator via lldb-commits
vsk marked 11 inline comments as done. vsk added inline comments. Comment at: llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp:1288 DwarfExpr.addFragmentOffset(DIExpr); - if (Location.isIndirect()) + if (Location.isIndirect() && !DIExpr->isEntryValue()) DwarfExpr.setMem

[Lldb-commits] [PATCH] D80308: [lldb] Enable C++14 when evaluating expressions in a C++14 frame

2020-05-22 Thread Shafik Yaghmour via Phabricator via lldb-commits
shafik added inline comments. Comment at: lldb/test/API/lang/cpp/standards/cpp14/TestCPP14Standard.py:19 +# polymorphic lambdas). +self.expect_expr("[](auto x) { return x; }(1)", result_type="int", result_value="1") teemperor wrote: > shafik wrot

[Lldb-commits] [lldb] a8a048a - Restrict test for DW_AT_APPLE_optimized to Darwin

2020-05-22 Thread Adrian Prantl via lldb-commits
Author: Adrian Prantl Date: 2020-05-22T15:52:00-07:00 New Revision: a8a048ac7253ca92228d0862b6c1175f1613a840 URL: https://github.com/llvm/llvm-project/commit/a8a048ac7253ca92228d0862b6c1175f1613a840 DIFF: https://github.com/llvm/llvm-project/commit/a8a048ac7253ca92228d0862b6c1175f1613a840.diff

[Lldb-commits] [lldb] 220c17f - Print a warning when stopped in a frame LLDB has no plugin for.

2020-05-22 Thread Adrian Prantl via lldb-commits
Author: Adrian Prantl Date: 2020-05-22T15:37:36-07:00 New Revision: 220c17ffd4e1b127bcc02b25980b7934184ee1da URL: https://github.com/llvm/llvm-project/commit/220c17ffd4e1b127bcc02b25980b7934184ee1da DIFF: https://github.com/llvm/llvm-project/commit/220c17ffd4e1b127bcc02b25980b7934184ee1da.diff

[Lldb-commits] [PATCH] D80308: [lldb] Enable C++14 when evaluating expressions in a C++14 frame

2020-05-22 Thread Raphael Isemann via Phabricator via lldb-commits
teemperor marked an inline comment as done. teemperor added a comment. In D80308#2051624 , @aprantl wrote: > > It seems C++17 and so on isn't yet in any of the language enums (and the > > DWARF standard it seems), so C++17 support will be a follow up patc

[Lldb-commits] [PATCH] D80418: Print a warning when stopped in a frame LLDB has no plugin for.

2020-05-22 Thread Jonas Devlieghere via Phabricator via lldb-commits
JDevlieghere accepted this revision. JDevlieghere added a comment. This revision is now accepted and ready to land. LGTM! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80418/new/ https://reviews.llvm.org/D80418 ___ lldb-commits mailing list

[Lldb-commits] [PATCH] D80418: Print a warning when stopped in a frame LLDB has no plugin for.

2020-05-22 Thread Adrian Prantl via Phabricator via lldb-commits
aprantl updated this revision to Diff 265808. aprantl added a comment. Address review feedback and add a similar test for the previously untested optimization warning. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80418/new/ https://reviews.llvm.org/D80418 Files: lldb/include/lldb/T

[Lldb-commits] [PATCH] D80308: [lldb] Enable C++14 when evaluating expressions in a C++14 frame

2020-05-22 Thread Shafik Yaghmour via Phabricator via lldb-commits
shafik added a comment. In D80308#2051624 , @aprantl wrote: > > It seems C++17 and so on isn't yet in any of the language enums (and the > > DWARF standard it seems), so C++17 support will be a follow up patch. > > Yes and that may point to a problem with

[Lldb-commits] [PATCH] D80308: [lldb] Enable C++14 when evaluating expressions in a C++14 frame

2020-05-22 Thread Adrian Prantl via Phabricator via lldb-commits
aprantl added a comment. > It seems C++17 and so on isn't yet in any of the language enums (and the > DWARF standard it seems), so C++17 support will be a follow up patch. Yes and that may point to a problem with this approach. IIRC, there is — on purpose — no C++17 language constant because th

[Lldb-commits] [lldb] 7510aed - Handle eExpressionThreadVanished in error switch to handle

2020-05-22 Thread Eric Christopher via lldb-commits
Author: Eric Christopher Date: 2020-05-22T13:43:10-07:00 New Revision: 7510aede627267819d9693381ad6c16dccfa0d17 URL: https://github.com/llvm/llvm-project/commit/7510aede627267819d9693381ad6c16dccfa0d17 DIFF: https://github.com/llvm/llvm-project/commit/7510aede627267819d9693381ad6c16dccfa0d17.di

Re: [Lldb-commits] [lldb] a67b2fa - [lldb/Test] Disable APITests.exe on Windows

2020-05-22 Thread Jonas Devlieghere via lldb-commits
+ Walter On Fri, May 22, 2020 at 1:07 PM Jonas Devlieghere via lldb-commits < lldb-commits@lists.llvm.org> wrote: > > Author: Jonas Devlieghere > Date: 2020-05-22T13:07:10-07:00 > New Revision: a67b2faa7c4cfbceffb4213f46769c45a5a9291a > > URL: > https://github.com/llvm/llvm-project/commit/a67b2fa

[Lldb-commits] [lldb] 5a85582 - [lldb/Reproducers] Make the type tests work with reproducers

2020-05-22 Thread Jonas Devlieghere via lldb-commits
Author: Jonas Devlieghere Date: 2020-05-22T13:07:10-07:00 New Revision: 5a85582eb26f0c8f6b8ef5a14385d608ef10385c URL: https://github.com/llvm/llvm-project/commit/5a85582eb26f0c8f6b8ef5a14385d608ef10385c DIFF: https://github.com/llvm/llvm-project/commit/5a85582eb26f0c8f6b8ef5a14385d608ef10385c.d

[Lldb-commits] [lldb] a67b2fa - [lldb/Test] Disable APITests.exe on Windows

2020-05-22 Thread Jonas Devlieghere via lldb-commits
Author: Jonas Devlieghere Date: 2020-05-22T13:07:10-07:00 New Revision: a67b2faa7c4cfbceffb4213f46769c45a5a9291a URL: https://github.com/llvm/llvm-project/commit/a67b2faa7c4cfbceffb4213f46769c45a5a9291a DIFF: https://github.com/llvm/llvm-project/commit/a67b2faa7c4cfbceffb4213f46769c45a5a9291a.d

[Lldb-commits] [lldb] 8cb7574 - Revert "[lldb] Enable C++14 when evaluating expressions in a C++14 frame"

2020-05-22 Thread Raphael Isemann via lldb-commits
Author: Raphael Isemann Date: 2020-05-22T21:23:03+02:00 New Revision: 8cb75745412e4bc9592d2409cc6cfa4a2940d9e7 URL: https://github.com/llvm/llvm-project/commit/8cb75745412e4bc9592d2409cc6cfa4a2940d9e7 DIFF: https://github.com/llvm/llvm-project/commit/8cb75745412e4bc9592d2409cc6cfa4a2940d9e7.dif

Re: [Lldb-commits] [PATCH] D80308: [lldb] Enable C++14 when evaluating expressions in a C++14 frame

2020-05-22 Thread Raphael “Teemperor” Isemann via lldb-commits
Sorry, somehow I missed that mail. Reverted. > On 22. May 2020, at 21:20, Max Kudryavtsev via Phabricator > wrote: > > max-kudr added a comment. > > Hello, > > I suppose this commit broke Windows LLDB tests > (http://lab.llvm.org:8011/builders/lldb-x64-windows-ninja/builds/16486 -> > logs:

[Lldb-commits] [PATCH] D80308: [lldb] Enable C++14 when evaluating expressions in a C++14 frame

2020-05-22 Thread Max Kudryavtsev via Phabricator via lldb-commits
max-kudr added a comment. Hello, I suppose this commit broke Windows LLDB tests (http://lab.llvm.org:8011/builders/lldb-x64-windows-ninja/builds/16486 -> logs: http://lab.llvm.org:8011/builders/lldb-x64-windows-ninja/builds/16486/steps/test/logs/stdio). Can you please fix or rollback it? Than

[Lldb-commits] [PATCH] D80448: [lldb/Test] Add a trace method to replace (commented out) print statements.

2020-05-22 Thread Jonas Devlieghere via Phabricator via lldb-commits
JDevlieghere marked an inline comment as done. JDevlieghere added inline comments. Comment at: lldb/packages/Python/lldbsuite/test/lldbtest.py:510 +with recording(self, self.TraceOn()) as sbuf: +print(args, kwargs, file=sbuf) + This should be

[Lldb-commits] [PATCH] D80308: [lldb] Enable C++14 when evaluating expressions in a C++14 frame

2020-05-22 Thread Shafik Yaghmour via Phabricator via lldb-commits
shafik added inline comments. Comment at: lldb/test/API/lang/cpp/standards/cpp14/TestCPP14Standard.py:19 +# polymorphic lambdas). +self.expect_expr("[](auto x) { return x; }(1)", result_type="int", result_value="1") It would be worth it to add a

[Lldb-commits] [PATCH] D80448: [lldb/Test] Add a trace method to replace (commented out) print statements.

2020-05-22 Thread Jonas Devlieghere via Phabricator via lldb-commits
JDevlieghere created this revision. JDevlieghere added reviewers: labath, teemperor, aprantl. Herald added a subscriber: abidh. While debugging replay failures I noticed that a lot of tests have print statements, sometimes commented out, which half of the time don't show up in the terminal anywa

[Lldb-commits] [PATCH] D80418: Print a warning when stopped in a frame LLDB has no plugin for.

2020-05-22 Thread Jonas Devlieghere via Phabricator via lldb-commits
JDevlieghere added inline comments. Comment at: lldb/source/Target/Process.cpp:5808 +void Process::PrintWarningUnsupportedLanguage(const SymbolContext &sc) { + if (!GetWarningsUnsupportedLanguage()) +return; For `eWarningsOptimization` this check happens in

Re: [Lldb-commits] [lldb] 053b063 - [lldb] Increase timeout in TestExitDuringExpression

2020-05-22 Thread Jim Ingham via lldb-commits
I set the timeouts low just to keep the test from taking too long. Beyond that there’s no harm in bumping them up till they pass consistently. I messed with the timeouts and reran the test a bunch of times till it was stable for me, but I have a pretty fast mac, so apparently that wasn’t a good

Re: [Lldb-commits] [lldb] 8a6333e - [lldb/REPL] Fix unhandled switch case

2020-05-22 Thread Jim Ingham via lldb-commits
Sorry I missed that. That seems fine. In the dedicated REPL, you’re probably dead at this point, but you can do “expr —repl --” in which case we’ll pick whatever thread on to run your expression, adding the results to the REPL context, so it could happen there and you might not be all the way

[Lldb-commits] [PATCH] D80408: [lldb/Test] Remove issue_verification subdirectory

2020-05-22 Thread Jonas Devlieghere via Phabricator via lldb-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGd89c98a020c9: [lldb/Test] Remove issue_verification subdirectory (authored by JDevlieghere). Herald added a project: LLDB. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://review

[Lldb-commits] [lldb] d89c98a - [lldb/Test] Remove issue_verification subdirectory

2020-05-22 Thread Jonas Devlieghere via lldb-commits
Author: Jonas Devlieghere Date: 2020-05-22T09:32:12-07:00 New Revision: d89c98a020c9903f31b659e3f5cc513ea878c900 URL: https://github.com/llvm/llvm-project/commit/d89c98a020c9903f31b659e3f5cc513ea878c900 DIFF: https://github.com/llvm/llvm-project/commit/d89c98a020c9903f31b659e3f5cc513ea878c900.d

[Lldb-commits] [lldb] 053b063 - [lldb] Increase timeout in TestExitDuringExpression

2020-05-22 Thread Pavel Labath via lldb-commits
Author: Pavel Labath Date: 2020-05-22T12:47:34+02:00 New Revision: 053b0634ea93b1ed7993adf34730bd752e9d84ec URL: https://github.com/llvm/llvm-project/commit/053b0634ea93b1ed7993adf34730bd752e9d84ec DIFF: https://github.com/llvm/llvm-project/commit/053b0634ea93b1ed7993adf34730bd752e9d84ec.diff

[Lldb-commits] [PATCH] D80254: Prevent GetNumChildren from transitively walking pointer chains

2020-05-22 Thread Raphael Isemann via Phabricator via lldb-commits
teemperor accepted this revision. teemperor added a comment. I think the refactoring is a good idea, but IMHO this patch can go in as-is. It's not adding any more debt to the existing approach (it even deletes code) and it adds tests, so I don't see a drawback of merging this. Also having this

[Lldb-commits] [PATCH] D80112: Check if thread was suspended during previous stop added.

2020-05-22 Thread Ilya Bukonkin via Phabricator via lldb-commits
fallkrum marked an inline comment as done. fallkrum added inline comments. Comment at: lldb/source/Target/Thread.cpp:382 +if (m_stop_info_sp->IsValid() || +(IsStillAtLastBreakpointHit() && + m_resume_state != eStateSuspended) || Wh

[Lldb-commits] [PATCH] D80308: [lldb] Enable C++14 when evaluating expressions in a C++14 frame

2020-05-22 Thread Raphael Isemann via Phabricator via lldb-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rG5f88f39ab815: [lldb] Enable C++14 when evaluating expressions in a C++14 frame (authored by teemperor). Herald added a project: LLDB. Herald added a subscriber: lldb-commits. Repository: rG LLVM Github

[Lldb-commits] [lldb] 5f88f39 - [lldb] Enable C++14 when evaluating expressions in a C++14 frame

2020-05-22 Thread Raphael Isemann via lldb-commits
Author: Raphael Isemann Date: 2020-05-22T11:42:44+02:00 New Revision: 5f88f39ab8154682c3b1eb9d7050a9412a55d9e7 URL: https://github.com/llvm/llvm-project/commit/5f88f39ab8154682c3b1eb9d7050a9412a55d9e7 DIFF: https://github.com/llvm/llvm-project/commit/5f88f39ab8154682c3b1eb9d7050a9412a55d9e7.dif

[Lldb-commits] [PATCH] D80310: [lldb][NFC] Overload raw_ostream operator << for ConstString

2020-05-22 Thread Raphael Isemann via Phabricator via lldb-commits
This revision was automatically updated to reflect the committed changes. Closed by commit rGbca378f68a7d: [lldb][NFC] Overload raw_ostream operator << for ConstString (authored by teemperor). Herald added a project: LLDB. Herald added a subscriber: lldb-commits. Changed prior to commit: https:

[Lldb-commits] [lldb] bca378f - [lldb][NFC] Overload raw_ostream operator << for ConstString

2020-05-22 Thread Raphael Isemann via lldb-commits
Author: Raphael Isemann Date: 2020-05-22T11:24:48+02:00 New Revision: bca378f68a7d21f9da7d2f86a54fdbb5604b4d05 URL: https://github.com/llvm/llvm-project/commit/bca378f68a7d21f9da7d2f86a54fdbb5604b4d05 DIFF: https://github.com/llvm/llvm-project/commit/bca378f68a7d21f9da7d2f86a54fdbb5604b4d05.dif

[Lldb-commits] [PATCH] D80408: [lldb/Test] Remove issue_verification subdirectory

2020-05-22 Thread Pavel Labath via Phabricator via lldb-commits
labath accepted this revision. labath added a comment. This revision is now accepted and ready to land. Yes, these were intended to be unit tests for the test framework itself. A great idea, but it never really took off. I have never been able to get the initial tests that Todd added to work for

[Lldb-commits] [PATCH] D80254: Prevent GetNumChildren from transitively walking pointer chains

2020-05-22 Thread Jaroslav Sevcik via Phabricator via lldb-commits
jarin added a comment. In D80254#2047982 , @clayborg wrote: > This looks good, thanks for subscribing me. We need to have GetNumChildren > and GetChildAtIndex agreeing on things and we definitely shouldn't be walking > more than on pointer recursively. M