[Lldb-commits] [PATCH] D32708: Check for lack of C++ context first when demangling

Scott Smith via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Mon May 1 11:16:12 PDT 2017


scott.smith added a comment.

FYI, moving this code changes how two symbols (out of 2M+) are handled on a test program I have.  I noticed this because when I changed the loop to set it up for parallelization, I effectively deferred all handling of C++ names to later.  It simplifies the code to handle !const_context situations first, and then handle the rest.  At a high level I assume that should be equivalent, but it actually changed two symbols.

I send this review out so you can either:

1. Tell me it's wrong to move the if statement, because of some situation I don't understand, or
2. Tell me this is correct, and the two symbols that are handled differently actually should be handled differently, or
3. Tell me this is correct, and the two symbols that are handled differently are due to a bug somewhere else.

FWIW the two symbols demangle to roughly "thing<lots_of_stuff>".  lots_of_stuff includes lambdas, vectors, and some other things.  It wouldn't surprise me if I stumbled across a bug in the mangler or demangler (there are lots of repeated sections, so it could be a bug in back references).


Repository:
  rL LLVM

https://reviews.llvm.org/D32708





More information about the lldb-commits mailing list