[lldb-dev] clang CL breaks LLDB std::string printing

Vince Harron vharron at google.com
Wed Feb 25 22:45:51 PST 2015


Which tests?

TestDataFormatterStdString.py
StdStringDataFormatterTestCase.test_with_dwarf_and_run_command

And at least a couple more of the following (maybe all):

TestCallStdStringFunction.py
TestDataFormatterSkipSummary.py
TestDataFormatterStdIterator.py
TestDataFormatterStdList.py
TestDataFormatterStdString.py
TestSBValuePersist.py
TestStringPrinter.py
TestTypeCompletion.py



On Thu, Feb 26, 2015 at 1:31 AM, Vince Harron <vharron at google.com> wrote:

> Hi David,
>
> There are some LLDB tests that have been failing against clang-3.6 for a
> long time and just started failing in clang-3.5 when my Ubuntu distro
> updated clang-3.5.
>
> I tracked it back to a clang CL that you submitted nearly a year ago.
>
> This test passes when compiling with gcc 4.8.2 and clang-3.5 before this
> CL.  I'm very new to the project and I don't really understand what's going
> on here.  Any guidance you can offer would be very much appreciated.
>
> Thanks,
>
> Vince
>
> ------------------------------------------------------------------------
> r202769 | dblaikie | 2014-03-03 15:48:23 -0800 (Mon, 03 Mar 2014) | 18
> lines
>
> DebugInfo: Emit only the declaration of a class template that has an
> explicit instantiation declaration (& always emit such a type when there's
> an explicit instantiation definition)
>
> We should only have this optimization fire when the explicit
> instantiation definition would cause at  least one member function to be
> emitted, thus ensuring that even a compiler not performing this
> optimization would still emit the full type information elsewhere.
>
> But we should also pessimize output still by always emitting the
> definition when the explicit instantiation definition appears so that at
> some point in the future we can depend on that information even when no
> code had to be emitted in that TU. (this shouldn't happen very often,
> since people mostly use explicit spec decl/defs to reduce code size -
> but perhaps one day they could use it to explicitly reduce debug info
> size too)
>
> This was worth about 2% for Clang and LLVM - so not a huge win, but a
> win. It looks really great for simple STL programs (include <string> and
> just declare a string - 14k -> 1.4k of .dwo)
>
>
>
>
>
> --
>
> Vince Harron | Technical Lead Manager | vharron at google.com | 858-442-0868
>



-- 

Vince Harron | Technical Lead Manager | vharron at google.com | 858-442-0868
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/lldb-dev/attachments/20150226/7b3ff6e4/attachment.html>


More information about the lldb-dev mailing list