[Lldb-commits] [PATCH] D71562: [lldb] Remove modern-type-lookup

Raphael Isemann via Phabricator via lldb-commits lldb-commits at lists.llvm.org
Mon Dec 16 11:58:23 PST 2019


teemperor created this revision.
teemperor added reviewers: shafik, martong.
Herald added subscribers: lldb-commits, usaxena95, JDevlieghere, arphaman, christof, rnkovacs.
Herald added a project: LLDB.
teemperor added a comment.

@martong I added you as a reviewer because I assume you were interested in that development. I'm curious what you think should happen to the clang-import-test. We could either rewrite the tests as unit tests in the ASTImporterTest you guys are already using or we move the necessary parts of the ExternalASTMerger into the clang-import-test (which will mostly likely just be the lookup code). I leave it up to you guys to decide what should happen with that testing code.


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


Repository:
  rLLDB LLDB

https://reviews.llvm.org/D71562

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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D71562.234106.patch
Type: text/x-patch
Size: 32985 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/lldb-commits/attachments/20191216/2e2c06b0/attachment-0001.bin>


More information about the lldb-commits mailing list