[all-commits] [llvm/llvm-project] 2d89a3: [lldb] Forcefully complete a type when adding nest...

Pavel Labath via All-commits all-commits at lists.llvm.org
Mon Aug 17 02:09:34 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 2d89a3ba121b96a4af9aecaf52205eab200394c3
      https://github.com/llvm/llvm-project/commit/2d89a3ba121b96a4af9aecaf52205eab200394c3
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2020-08-17 (Mon, 17 Aug 2020)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
    M lldb/test/Shell/SymbolFile/DWARF/DW_AT_declaration-with-children.s

  Log Message:
  -----------
  [lldb] Forcefully complete a type when adding nested classes

With -flimit-debug-info, we can run into cases when we only have a class
as a declaration, but we do have a definition of a nested class. In this
case, clang will hit an assertion when adding a member to an incomplete
type (but only if it's adding a c++ class, and not C struct).

It turns out we already had code to handle a similar situation arising
in the -gmodules scenario. This extends the code to handle
-flimit-debug-info as well, and reorganizes bits of other code handling
completion of types to move functions doing similar things closer
together.

Differential Revision: https://reviews.llvm.org/D85968




More information about the All-commits mailing list