[libcxx-commits] [PATCH] D123580: [libc++] Use bit field for checking if string is in long or short mode

David Blaikie via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon Apr 18 10:21:53 PDT 2022

dblaikie added inline comments.

Comment at: libcxx/utils/gdb/libcxx/printers.py:192
 class StdStringPrinter(object):
     """Print a std::string."""
philnik wrote:
> jgorbe wrote:
> > Mordante wrote:
> > > philnik wrote:
> > > > Mordante wrote:
> > > > > philnik wrote:
> > > > > > Mordante wrote:
> > > > > > > Does this also break the LLDB pretty printer?
> > > > > > Probably. Would be nice to have a test runner for that.
> > > > > I already planned to look into that, D97044#3440904 ;-)
> > > > Do you know where I would have to look to know what the LLDB pretty printers do?
> > > Unfortunately no. @jingham seems to be the Data formatter code owner.
> > There was a recent lldb change fixing prettyprinters after a similar change to string: https://github.com/llvm/llvm-project/commit/45428412fd7c9900d3d6ac9803aa7dcf6adfa6fe
> > 
> > If the gdb prettyprinter needed fixing for this change, chances are that lldb will need a similar update too.
> Could someone from #lldb help me figure out what to change in the pretty printers? I looked at the file, but I don't really understand how it works and TBH I don't really feel like spending a lot of time figuring it out. If nobody says anything I'll land this in a week.
> As a side note: it would be really nice if there were a few more comments inside `LibCxx.cpp` to explain what happens there. That would make fixing the pretty printer a lot easier. The code is probably not very hard (at least it doesn't look like it), but I am looking for a few things that I can't find and I have no idea what some of the things mean.
Looks like something around https://github.com/llvm/llvm-project/blob/2e6ac54cf48aa04f7b05c382c33135b16d3f01ea/lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp#L597 (& the similar masking in the `else` block a few lines down) - I guess a specific lookup for the new field would be needed, rather than the bitmasking.

  rG LLVM Github Monorepo



More information about the libcxx-commits mailing list