[Lldb-commits] [PATCH] D68961: Add support for DW_AT_export_symbols for anonymous structs

Shafik Yaghmour via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Thu Oct 17 13:31:51 PDT 2019


shafik added a comment.

In D68961#1711537 <https://reviews.llvm.org/D68961#1711537>, @labath wrote:

> In D68961#1711407 <https://reviews.llvm.org/D68961#1711407>, @shafik wrote:
>
> > In D68961#1709708 <https://reviews.llvm.org/D68961#1709708>, @clayborg wrote:
> >
> > > Have many compilers supported DW_AT_export_symbols for a while now? If not, are there any serious issues introduced here that would change debugger behavior if this attribute is not emitted by a compiler? Or is this a new fix in clang that was recently introduced in order to fix an issue when debugging in lldb?
> >
> >
> > We don't except any regressions for code compiled with older compilers. We are fixing the case that unnamed classes are identified as anonymous. The anonymous classes cases should be caught in older revisions in `ClangASTContext::AddFieldToRecordType` which does a `Rec->setAnonymousStructOrUnion(true)` for those cases.
>
>
> Would it make sense to write a test in asm then? That way it would be obvious exactly what kind of debug info is being tested, and you could ensure both old&new compiler behavior is covered.


The `TestTypeList.py` covers the relevant cases of both anonymous class and an unnamed class. I ran `check-lldb` with the feature for emitting `DW_AT_export_symbols` disabled and did not see any regressions in this test or others except `

We also have the lldb-cmake-matrix <http://lab.llvm.org:8080/green/view/LLDB/job/lldb-cmake-matrix/> bot which runs the test suite using older versions of clang which is there for exactly this purpose to catch regressions due to features not supported by older compiler versions. Which would catch any regressions here.


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

https://reviews.llvm.org/D68961





More information about the lldb-commits mailing list