[all-commits] [llvm/llvm-project] 143d50: Preserve the owning module information from DWARF ...

adrian-prantl via All-commits all-commits at lists.llvm.org
Thu Apr 9 11:10:06 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 143d507c9ff90db93e547f0e1131e92db06e2675
      https://github.com/llvm/llvm-project/commit/143d507c9ff90db93e547f0e1131e92db06e2675
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2020-04-09 (Thu, 09 Apr 2020)

  Changed paths:
    M lldb/include/lldb/Symbol/CompilerType.h
    M lldb/include/lldb/Symbol/TypeSystem.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTImporter.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExternalASTSourceCallbacks.h
    M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCTypeEncodingParser.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
    M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
    M lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
    M lldb/source/Plugins/SystemRuntime/MacOSX/SystemRuntimeMacOSX.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
    M lldb/source/Symbol/CompilerType.cpp
    M lldb/source/Symbol/Type.cpp
    M lldb/source/Symbol/TypeSystem.cpp
    A lldb/test/Shell/SymbolFile/DWARF/Inputs/ModuleOwnership/A.h
    A lldb/test/Shell/SymbolFile/DWARF/Inputs/ModuleOwnership/B.h
    A lldb/test/Shell/SymbolFile/DWARF/Inputs/ModuleOwnership/module.modulemap
    M lldb/test/Shell/SymbolFile/DWARF/lit.local.cfg
    A lldb/test/Shell/SymbolFile/DWARF/module-ownership.mm
    M lldb/unittests/Symbol/TestTypeSystemClang.cpp
    M lldb/unittests/TestingSupport/Symbol/ClangTestUtils.h

  Log Message:
  -----------
  Preserve the owning module information from DWARF in the synthesized AST

Types that came from a Clang module are nested in DW_TAG_module tags
in DWARF. This patch recreates the Clang module hierarchy in LLDB and
1;95;0csets the owning module information accordingly. My primary motivation
is to facilitate looking up per-module APINotes for individual
declarations, but this likely also has other applications.

This reapplies the previously reverted commit, but without support for
ClassTemplateSpecializations, which I'm going to look into separately.

rdar://problem/59634380

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




More information about the All-commits mailing list