[PATCH] D100440: [Debug-Info] DW_AT_export_symbols shouldn't be generated before version-5 of DWARF.

Raphael Isemann via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 19 08:14:59 PDT 2021


teemperor added a comment.

In D100440#2688023 <https://reviews.llvm.org/D100440#2688023>, @dblaikie wrote:

> @aprantl @probinson @jhenderson - any of you folks want this in older versions? I think this is for C++ inline namespaces - so if you used a modern C++ standard library (that uses inline namespaces like "std::__1::basic_string", etc) users would have to use these extra qualifiers when naming types, functions, etc. Not unworkable, but a bit inconvenient.

That's right. LLDB is using this attribute even when parsing DWARF v4 to model inline namespaces (such as libc++'s `__1` namespace). If we don't have the attribute then we end up with a bunch of `__1` in the type names we show to the user (+ some other minor changes in behaviour). It shouldn't break any LLDB scripts though as the type names used in scripts always specify inline namespaces.

If we decide to remove this for all consumers we can just special-case the namespace parsing in LLDB to infer that `std::__1` is an inline namespace. It's the only namespace that is important for users (and the test suite).


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D100440/new/

https://reviews.llvm.org/D100440



More information about the llvm-commits mailing list