[all-commits] [llvm/llvm-project] f4754e: Remove const qualifier from Modules returned by Ex...

adrian-prantl via All-commits all-commits at lists.llvm.org
Wed Apr 1 17:46:28 PDT 2020


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

  Changed paths:
    M clang/include/clang/Basic/Module.h
    M clang/lib/Basic/Module.cpp
    M clang/lib/Serialization/ASTReader.cpp

  Log Message:
  -----------
  Remove const qualifier from Modules returned by ExternalASTSource. (NFC)

This API is used by LLDB to attach owning module information to
Declarations deserialized from DWARF.

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


  Commit: 4354dfbdf5c8510a7ddff10ae67a28e16cf7cc79
      https://github.com/llvm/llvm-project/commit/4354dfbdf5c8510a7ddff10ae67a28e16cf7cc79
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2020-04-01 (Wed, 01 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
sets 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.

rdar://problem/59634380

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


Compare: https://github.com/llvm/llvm-project/compare/e6a39f00e8d0...4354dfbdf5c8


More information about the All-commits mailing list