[all-commits] [llvm/llvm-project] ff0102: [lldb] Remove modern-type-lookup

Raphael Isemann via All-commits all-commits at lists.llvm.org
Tue Dec 17 03:25:08 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: ff0102b32cfe506dfc16a86e38e70b0940697aa2
      https://github.com/llvm/llvm-project/commit/ff0102b32cfe506dfc16a86e38e70b0940697aa2
  Author: Raphael Isemann <teemperor at gmail.com>
  Date:   2019-12-17 (Tue, 17 Dec 2019)

  Changed paths:
    M lldb/include/lldb/Symbol/ClangASTContext.h
    M lldb/include/lldb/Target/Target.h
    R lldb/packages/Python/lldbsuite/test/functionalities/modern-type-lookup/basic-objc/Makefile
    R lldb/packages/Python/lldbsuite/test/functionalities/modern-type-lookup/basic-objc/TestBasicObjcModernTypeLookup.py
    R lldb/packages/Python/lldbsuite/test/functionalities/modern-type-lookup/basic-objc/main.m
    R lldb/packages/Python/lldbsuite/test/functionalities/modern-type-lookup/basic/Makefile
    R lldb/packages/Python/lldbsuite/test/functionalities/modern-type-lookup/basic/TestBasicModernTypeLookup.py
    R lldb/packages/Python/lldbsuite/test/functionalities/modern-type-lookup/basic/main.cpp
    R lldb/packages/Python/lldbsuite/test/functionalities/modern-type-lookup/libcxx/Makefile
    R lldb/packages/Python/lldbsuite/test/functionalities/modern-type-lookup/libcxx/TestLibCxxModernTypeLookup.py
    R lldb/packages/Python/lldbsuite/test/functionalities/modern-type-lookup/libcxx/main.cpp
    R lldb/packages/Python/lldbsuite/test/functionalities/modern-type-lookup/objc-modules/Makefile
    R lldb/packages/Python/lldbsuite/test/functionalities/modern-type-lookup/objc-modules/TestObjModulesModernTypeLookup.py
    R lldb/packages/Python/lldbsuite/test/functionalities/modern-type-lookup/objc-modules/main.m
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangDeclVendor.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.h
    M lldb/source/Symbol/ClangASTContext.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/TargetProperties.td

  Log Message:
  -----------
  [lldb] Remove modern-type-lookup

Summary:
As discussed on the mailing list [1] we have to make a decision for how to proceed with the modern-type-lookup.

This patch removes modern-type-lookup from LLDB. This just removes all the code behind the modern-type-lookup
setting but it does *not* remove any code from Clang (i.e., the ExternalASTMerger and the clang-import-test stay around
for now).

The motivation for this is that I don't think that the current approach of implementing modern-type-lookup
will work out. Especially creating a completely new lookup system behind some setting that is never turned on by anyone
and then one day make one big switch to the new system seems wrong. It doesn't fit into the way LLVM is developed and has
so far made the transition work much more complicated than it has to be.

A lot of the benefits that were supposed to come with the modern-type-lookup are related to having a better organization
in the way types move across LLDB and having less dependencies on unrelated LLDB code. By just looking at the current code (mostly
the ClangASTImporter) I think we can reach the same goals by just incrementally cleaning up, documenting, refactoring
and actually testing the existing code we have.

[1] http://lists.llvm.org/pipermail/lldb-dev/2019-December/015831.html

Reviewers: shafik, martong

Subscribers: rnkovacs, christof, arphaman, JDevlieghere, usaxena95, lldb-commits, friss

Tags: #lldb

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




More information about the All-commits mailing list