[Lldb-commits] [PATCH] D71372: [lldb] Add additional validation on return address in 'thread step-out'
mossberg added a comment. I wanted to also mention that this patch won't address buggy behavior if, for example, the stub takes a function pointer on the stack (vs a normal data pointer). In this case, the executable check will succeed, and the breakpoint will be written, but to a potentially arbitrary code address. This may or may not lead to the debugger "randomly" breaking out later in a debug session if or when that code happens to be executed (I've reproduced this, but also seen some very confusing behavior where in some situations the breakpoint logging will say a breakpoint is written, but it doesn't seem like this was actually the case.) Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D71372/new/ https://reviews.llvm.org/D71372 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [PATCH] D71398: [lldb] Remove RTTI in ClangExternalASTSourceCommon based on a global map of known instances
teemperor updated this revision to Diff 233984. teemperor added a comment. - Rebased. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D71398/new/ https://reviews.llvm.org/D71398 Files: lldb/include/lldb/Symbol/ClangExternalASTSourceCommon.h lldb/source/Symbol/ClangASTContext.cpp lldb/source/Symbol/ClangExternalASTSourceCommon.cpp Index: lldb/source/Symbol/ClangExternalASTSourceCommon.cpp === --- lldb/source/Symbol/ClangExternalASTSourceCommon.cpp +++ lldb/source/Symbol/ClangExternalASTSourceCommon.cpp @@ -13,43 +13,9 @@ using namespace lldb_private; -typedef llvm::DenseMap -ASTSourceMap; +char ClangExternalASTSourceCommon::ID; -static ASTSourceMap &GetSourceMap(std::unique_lock &guard) { - // Intentionally leaked to avoid problems with global destructors. - static ASTSourceMap *s_source_map = new ASTSourceMap; - static std::mutex s_mutex; - std::unique_lock locked_guard(s_mutex); - guard.swap(locked_guard); - return *s_source_map; -} - -ClangExternalASTSourceCommon * -ClangExternalASTSourceCommon::Lookup(clang::ExternalASTSource *source) { - std::unique_lock guard; - ASTSourceMap &source_map = GetSourceMap(guard); - - ASTSourceMap::iterator iter = source_map.find(source); - - if (iter != source_map.end()) { -return iter->second; - } else { -return nullptr; - } -} - -ClangExternalASTSourceCommon::ClangExternalASTSourceCommon() -: clang::ExternalASTSource() { - std::unique_lock guard; - GetSourceMap(guard)[this] = this; -} - -ClangExternalASTSourceCommon::~ClangExternalASTSourceCommon() { - std::unique_lock guard; - GetSourceMap(guard).erase(this); -} +ClangExternalASTSourceCommon::~ClangExternalASTSourceCommon() {} ClangASTMetadata * ClangExternalASTSourceCommon::GetMetadata(const clang::Decl *object) { Index: lldb/source/Symbol/ClangASTContext.cpp === --- lldb/source/Symbol/ClangASTContext.cpp +++ lldb/source/Symbol/ClangASTContext.cpp @@ -2414,41 +2414,31 @@ void ClangASTContext::SetMetadata(const clang::Decl *object, ClangASTMetadata &metadata) { - ClangExternalASTSourceCommon *external_source = - ClangExternalASTSourceCommon::Lookup( - getASTContext()->getExternalSource()); - - if (external_source) -external_source->SetMetadata(object, metadata); + if (auto *A = llvm::dyn_cast_or_null( + getASTContext()->getExternalSource())) +A->SetMetadata(object, metadata); } void ClangASTContext::SetMetadata(const clang::Type *object, ClangASTMetadata &metadata) { - ClangExternalASTSourceCommon *external_source = - ClangExternalASTSourceCommon::Lookup( - getASTContext()->getExternalSource()); - - if (external_source) -external_source->SetMetadata(object, metadata); + if (auto *A = llvm::dyn_cast_or_null( + getASTContext()->getExternalSource())) +A->SetMetadata(object, metadata); } ClangASTMetadata *ClangASTContext::GetMetadata(clang::ASTContext *ast, const clang::Decl *object) { - ClangExternalASTSourceCommon *external_source = - ClangExternalASTSourceCommon::Lookup(ast->getExternalSource()); - - if (external_source) -return external_source->GetMetadata(object); + if (auto *A = llvm::dyn_cast_or_null( + ast->getExternalSource())) +return A->GetMetadata(object); return nullptr; } ClangASTMetadata *ClangASTContext::GetMetadata(clang::ASTContext *ast, const clang::Type *object) { - ClangExternalASTSourceCommon *external_source = - ClangExternalASTSourceCommon::Lookup(ast->getExternalSource()); - - if (external_source) -return external_source->GetMetadata(object); + if (auto *A = llvm::dyn_cast_or_null( + ast->getExternalSource())) +return A->GetMetadata(object); return nullptr; } Index: lldb/include/lldb/Symbol/ClangExternalASTSourceCommon.h === --- lldb/include/lldb/Symbol/ClangExternalASTSourceCommon.h +++ lldb/include/lldb/Symbol/ClangExternalASTSourceCommon.h @@ -122,8 +122,11 @@ }; class ClangExternalASTSourceCommon : public clang::ExternalASTSource { + + /// LLVM-style RTTI. + static char ID; + public: - ClangExternalASTSourceCommon(); ~ClangExternalASTSourceCommon() override; ClangASTMetadata *GetMetadata(const clang::Decl *object); @@ -138,8 +141,13 @@ m_type_metadata[object] = metadata; } - static ClangExternalASTSourceCommon *Lookup(clang::ExternalASTSource *source); - + /// LLVM-style RTTI. + /// \{ + bool isA(const void *ClassID) const override { +return ClassID == &ID || ExternalASTSource::isA(ClassID); + } + static bool classof(const ExternalASTSource *S) { return S->isA(&ID); } + /// \} private: typedef llvm::Dense
[Lldb-commits] [lldb] 8280896 - [lldb] Remove RTTI in ClangExternalASTSourceCommon based on a global map of known instances
Author: Raphael Isemann Date: 2019-12-15T22:39:50+01:00 New Revision: 8280896bd1b055a192d9e7d482b0ffa14ee88e3a URL: https://github.com/llvm/llvm-project/commit/8280896bd1b055a192d9e7d482b0ffa14ee88e3a DIFF: https://github.com/llvm/llvm-project/commit/8280896bd1b055a192d9e7d482b0ffa14ee88e3a.diff LOG: [lldb] Remove RTTI in ClangExternalASTSourceCommon based on a global map of known instances Summary: Currently we do our RTTI check for ClangExternalASTSourceCommon by using this global map of ClangExternalASTSourceCommon where every instance is registering and deregistering itself on creation/destruction. Then we can do the RTTI check by looking up in this map from ClangASTContext. This patch removes this whole thing and just adds LLVM-style RTTI support to ClangExternalASTSourceCommon which is possible with D71397. Reviewers: labath, aprantl Reviewed By: labath Subscribers: JDevlieghere, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D71398 Added: Modified: lldb/include/lldb/Symbol/ClangExternalASTSourceCommon.h lldb/source/Symbol/ClangASTContext.cpp lldb/source/Symbol/ClangExternalASTSourceCommon.cpp Removed: diff --git a/lldb/include/lldb/Symbol/ClangExternalASTSourceCommon.h b/lldb/include/lldb/Symbol/ClangExternalASTSourceCommon.h index e7dd94d28286..5da486540bb9 100644 --- a/lldb/include/lldb/Symbol/ClangExternalASTSourceCommon.h +++ b/lldb/include/lldb/Symbol/ClangExternalASTSourceCommon.h @@ -122,8 +122,11 @@ class ClangASTMetadata { }; class ClangExternalASTSourceCommon : public clang::ExternalASTSource { + + /// LLVM-style RTTI. + static char ID; + public: - ClangExternalASTSourceCommon(); ~ClangExternalASTSourceCommon() override; ClangASTMetadata *GetMetadata(const clang::Decl *object); @@ -138,8 +141,13 @@ class ClangExternalASTSourceCommon : public clang::ExternalASTSource { m_type_metadata[object] = metadata; } - static ClangExternalASTSourceCommon *Lookup(clang::ExternalASTSource *source); - + /// LLVM-style RTTI. + /// \{ + bool isA(const void *ClassID) const override { +return ClassID == &ID || ExternalASTSource::isA(ClassID); + } + static bool classof(const ExternalASTSource *S) { return S->isA(&ID); } + /// \} private: typedef llvm::DenseMap DeclMetadataMap; typedef llvm::DenseMap TypeMetadataMap; diff --git a/lldb/source/Symbol/ClangASTContext.cpp b/lldb/source/Symbol/ClangASTContext.cpp index 2576a372076c..ed613528a2f4 100644 --- a/lldb/source/Symbol/ClangASTContext.cpp +++ b/lldb/source/Symbol/ClangASTContext.cpp @@ -2414,41 +2414,31 @@ void ClangASTContext::SetMetadataAsUserID(const clang::Type *type, void ClangASTContext::SetMetadata(const clang::Decl *object, ClangASTMetadata &metadata) { - ClangExternalASTSourceCommon *external_source = - ClangExternalASTSourceCommon::Lookup( - getASTContext()->getExternalSource()); - - if (external_source) -external_source->SetMetadata(object, metadata); + if (auto *A = llvm::dyn_cast_or_null( + getASTContext()->getExternalSource())) +A->SetMetadata(object, metadata); } void ClangASTContext::SetMetadata(const clang::Type *object, ClangASTMetadata &metadata) { - ClangExternalASTSourceCommon *external_source = - ClangExternalASTSourceCommon::Lookup( - getASTContext()->getExternalSource()); - - if (external_source) -external_source->SetMetadata(object, metadata); + if (auto *A = llvm::dyn_cast_or_null( + getASTContext()->getExternalSource())) +A->SetMetadata(object, metadata); } ClangASTMetadata *ClangASTContext::GetMetadata(clang::ASTContext *ast, const clang::Decl *object) { - ClangExternalASTSourceCommon *external_source = - ClangExternalASTSourceCommon::Lookup(ast->getExternalSource()); - - if (external_source) -return external_source->GetMetadata(object); + if (auto *A = llvm::dyn_cast_or_null( + ast->getExternalSource())) +return A->GetMetadata(object); return nullptr; } ClangASTMetadata *ClangASTContext::GetMetadata(clang::ASTContext *ast, const clang::Type *object) { - ClangExternalASTSourceCommon *external_source = - ClangExternalASTSourceCommon::Lookup(ast->getExternalSource()); - - if (external_source) -return external_source->GetMetadata(object); + if (auto *A = llvm::dyn_cast_or_null( + ast->getExternalSource())) +return A->GetMetadata(object); return nullptr; } diff --git a/lldb/source/Symbol/ClangExternalASTSourceCommon.cpp b/lldb/source/Symbol/ClangExternalASTSourceCommon.cpp index 66fb4f3b3f05..be015da872d0 100644 --- a/lldb/source/Symbol/ClangExternalASTSourceCommon.cpp +++ b/lldb/source/Symbol/ClangExternalASTSourceCommon.cp
[Lldb-commits] [PATCH] D71398: [lldb] Remove RTTI in ClangExternalASTSourceCommon based on a global map of known instances
This revision was automatically updated to reflect the committed changes. Closed by commit rG8280896bd1b0: [lldb] Remove RTTI in ClangExternalASTSourceCommon based on a global map of… (authored by teemperor). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D71398/new/ https://reviews.llvm.org/D71398 Files: lldb/include/lldb/Symbol/ClangExternalASTSourceCommon.h lldb/source/Symbol/ClangASTContext.cpp lldb/source/Symbol/ClangExternalASTSourceCommon.cpp Index: lldb/source/Symbol/ClangExternalASTSourceCommon.cpp === --- lldb/source/Symbol/ClangExternalASTSourceCommon.cpp +++ lldb/source/Symbol/ClangExternalASTSourceCommon.cpp @@ -13,43 +13,9 @@ using namespace lldb_private; -typedef llvm::DenseMap -ASTSourceMap; +char ClangExternalASTSourceCommon::ID; -static ASTSourceMap &GetSourceMap(std::unique_lock &guard) { - // Intentionally leaked to avoid problems with global destructors. - static ASTSourceMap *s_source_map = new ASTSourceMap; - static std::mutex s_mutex; - std::unique_lock locked_guard(s_mutex); - guard.swap(locked_guard); - return *s_source_map; -} - -ClangExternalASTSourceCommon * -ClangExternalASTSourceCommon::Lookup(clang::ExternalASTSource *source) { - std::unique_lock guard; - ASTSourceMap &source_map = GetSourceMap(guard); - - ASTSourceMap::iterator iter = source_map.find(source); - - if (iter != source_map.end()) { -return iter->second; - } else { -return nullptr; - } -} - -ClangExternalASTSourceCommon::ClangExternalASTSourceCommon() -: clang::ExternalASTSource() { - std::unique_lock guard; - GetSourceMap(guard)[this] = this; -} - -ClangExternalASTSourceCommon::~ClangExternalASTSourceCommon() { - std::unique_lock guard; - GetSourceMap(guard).erase(this); -} +ClangExternalASTSourceCommon::~ClangExternalASTSourceCommon() {} ClangASTMetadata * ClangExternalASTSourceCommon::GetMetadata(const clang::Decl *object) { Index: lldb/source/Symbol/ClangASTContext.cpp === --- lldb/source/Symbol/ClangASTContext.cpp +++ lldb/source/Symbol/ClangASTContext.cpp @@ -2414,41 +2414,31 @@ void ClangASTContext::SetMetadata(const clang::Decl *object, ClangASTMetadata &metadata) { - ClangExternalASTSourceCommon *external_source = - ClangExternalASTSourceCommon::Lookup( - getASTContext()->getExternalSource()); - - if (external_source) -external_source->SetMetadata(object, metadata); + if (auto *A = llvm::dyn_cast_or_null( + getASTContext()->getExternalSource())) +A->SetMetadata(object, metadata); } void ClangASTContext::SetMetadata(const clang::Type *object, ClangASTMetadata &metadata) { - ClangExternalASTSourceCommon *external_source = - ClangExternalASTSourceCommon::Lookup( - getASTContext()->getExternalSource()); - - if (external_source) -external_source->SetMetadata(object, metadata); + if (auto *A = llvm::dyn_cast_or_null( + getASTContext()->getExternalSource())) +A->SetMetadata(object, metadata); } ClangASTMetadata *ClangASTContext::GetMetadata(clang::ASTContext *ast, const clang::Decl *object) { - ClangExternalASTSourceCommon *external_source = - ClangExternalASTSourceCommon::Lookup(ast->getExternalSource()); - - if (external_source) -return external_source->GetMetadata(object); + if (auto *A = llvm::dyn_cast_or_null( + ast->getExternalSource())) +return A->GetMetadata(object); return nullptr; } ClangASTMetadata *ClangASTContext::GetMetadata(clang::ASTContext *ast, const clang::Type *object) { - ClangExternalASTSourceCommon *external_source = - ClangExternalASTSourceCommon::Lookup(ast->getExternalSource()); - - if (external_source) -return external_source->GetMetadata(object); + if (auto *A = llvm::dyn_cast_or_null( + ast->getExternalSource())) +return A->GetMetadata(object); return nullptr; } Index: lldb/include/lldb/Symbol/ClangExternalASTSourceCommon.h === --- lldb/include/lldb/Symbol/ClangExternalASTSourceCommon.h +++ lldb/include/lldb/Symbol/ClangExternalASTSourceCommon.h @@ -122,8 +122,11 @@ }; class ClangExternalASTSourceCommon : public clang::ExternalASTSource { + + /// LLVM-style RTTI. + static char ID; + public: - ClangExternalASTSourceCommon(); ~ClangExternalASTSourceCommon() override; ClangASTMetadata *GetMetadata(const clang::Decl *object); @@ -138,8 +141,13 @@ m_type_metadata[object] = metadata; } - static ClangExternalASTSourceCommon *Lookup(clang::ExternalASTSource *source); - + /// LLVM-style RTTI. + /// \{ + bool isA(const void *ClassID) const override { +return ClassID == &
[Lldb-commits] [PATCH] D71487: [LLDB] Fix address computation for member function linked with lld
clayborg added a comment. Can you attach a paste of the DWARF that is emitted by lld and the symbol table and annotate which one should be picked. I am having trouble understanding what the right solution for this fix would be. It makes me nervous to require a symbol in the symbol table since symbol tables can be stripped from binaries. Comment at: lldb/source/Expression/IRExecutionUnit.cpp:833-835 +// Keep looking for a function entry with a symbol. +if (candidate_sc.function && !candidate_sc.symbol) +continue; Debug info can be in an executable and the symbol can be stripped. Not sure this is safe to require a symbol? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D71487/new/ https://reviews.llvm.org/D71487 ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] e2d4761 - [lldb][NFC] Replace ClangASTImporter's use of map/set with SmallPtrSet and DenseMap
Author: Raphael Isemann Date: 2019-12-16T08:29:14+01:00 New Revision: e2d47614a81d0805a869e6141512e0136da9 URL: https://github.com/llvm/llvm-project/commit/e2d47614a81d0805a869e6141512e0136da9 DIFF: https://github.com/llvm/llvm-project/commit/e2d47614a81d0805a869e6141512e0136da9.diff LOG: [lldb][NFC] Replace ClangASTImporter's use of map/set with SmallPtrSet and DenseMap We have several pointer->pointer mappings in the ClangASTImporter implemented using STL data structures. This moves these variables to the appropriate LLVM data structures that are intended for mapping pointers. Added: Modified: lldb/include/lldb/Symbol/ClangASTImporter.h lldb/source/Symbol/ClangASTImporter.cpp Removed: diff --git a/lldb/include/lldb/Symbol/ClangASTImporter.h b/lldb/include/lldb/Symbol/ClangASTImporter.h index a67b698ef490..098091f7167f 100644 --- a/lldb/include/lldb/Symbol/ClangASTImporter.h +++ b/lldb/include/lldb/Symbol/ClangASTImporter.h @@ -182,7 +182,7 @@ class ClangASTImporter { clang::Decl *decl; }; - typedef std::map OriginMap; + typedef llvm::DenseMap OriginMap; /// Listener interface used by the ASTImporterDelegate to inform other code /// about decls that have been imported the first time. @@ -262,7 +262,7 @@ class ClangASTImporter { /// ASTContext. Used by the CxxModuleHandler to mark declarations that /// were created from the 'std' C++ module to prevent that the Importer /// tries to sync them with the broken equivalent in the debug info AST. -std::set m_decls_to_ignore; +llvm::SmallPtrSet m_decls_to_ignore; ClangASTImporter &m_master; clang::ASTContext *m_source_ctx; CxxModuleHandler *m_std_handler = nullptr; @@ -271,8 +271,8 @@ class ClangASTImporter { }; typedef std::shared_ptr ImporterDelegateSP; - typedef std::map DelegateMap; - typedef std::map + typedef llvm::DenseMap DelegateMap; + typedef llvm::DenseMap NamespaceMetaMap; struct ASTContextMetadata { @@ -289,7 +289,7 @@ class ClangASTImporter { }; typedef std::shared_ptr ASTContextMetadataSP; - typedef std::map + typedef llvm::DenseMap ContextMetadataMap; ContextMetadataMap m_metadata_map; diff --git a/lldb/source/Symbol/ClangASTImporter.cpp b/lldb/source/Symbol/ClangASTImporter.cpp index 8b1c6c8f815e..80c5c4a6f345 100644 --- a/lldb/source/Symbol/ClangASTImporter.cpp +++ b/lldb/source/Symbol/ClangASTImporter.cpp @@ -121,7 +121,7 @@ class DeclContextOverride { clang::DeclContext *lexical_decl_context; }; - std::map m_backups; + llvm::DenseMap m_backups; void OverrideOne(clang::Decl *decl) { if (m_backups.find(decl) != m_backups.end()) { @@ -228,10 +228,8 @@ namespace { /// imported while completing the original Decls). class CompleteTagDeclsScope : public ClangASTImporter::NewDeclListener { ClangASTImporter::ImporterDelegateSP m_delegate; - // FIXME: Investigate how many decls we usually have in these sets and - // see if we can use SmallPtrSet instead here. - std::set m_decls_to_complete; - std::set m_decls_already_completed; + llvm::SmallPtrSet m_decls_to_complete; + llvm::SmallPtrSet m_decls_already_completed; clang::ASTContext *m_dst_ctx; clang::ASTContext *m_src_ctx; ClangASTImporter &importer; ___ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits
[Lldb-commits] [lldb] 0683250 - [lldb][NFC] Remove unnecessary includes in source/Commands
Author: Raphael Isemann Date: 2019-12-16T08:59:08+01:00 New Revision: 068325012796bf2da527612ea6fdc61531c8beb3 URL: https://github.com/llvm/llvm-project/commit/068325012796bf2da527612ea6fdc61531c8beb3 DIFF: https://github.com/llvm/llvm-project/commit/068325012796bf2da527612ea6fdc61531c8beb3.diff LOG: [lldb][NFC] Remove unnecessary includes in source/Commands Summary: This removes most of unnecessary includes in the `source/Commands` directory. This was generated by IWYU and a script that fixed all the bogus reports from IWYU. Patch is tested on Linux and macOS. Reviewers: JDevlieghere Reviewed By: JDevlieghere Subscribers: krytarowski, lldb-commits Tags: #lldb Differential Revision: https://reviews.llvm.org/D71489 Added: Modified: lldb/source/Commands/CommandCompletions.cpp lldb/source/Commands/CommandObjectApropos.cpp lldb/source/Commands/CommandObjectBreakpoint.cpp lldb/source/Commands/CommandObjectBreakpoint.h lldb/source/Commands/CommandObjectBreakpointCommand.cpp lldb/source/Commands/CommandObjectBreakpointCommand.h lldb/source/Commands/CommandObjectCommands.cpp lldb/source/Commands/CommandObjectCommands.h lldb/source/Commands/CommandObjectDisassemble.cpp lldb/source/Commands/CommandObjectExpression.cpp lldb/source/Commands/CommandObjectExpression.h lldb/source/Commands/CommandObjectFrame.cpp lldb/source/Commands/CommandObjectFrame.h lldb/source/Commands/CommandObjectGUI.cpp lldb/source/Commands/CommandObjectHelp.cpp lldb/source/Commands/CommandObjectLanguage.cpp lldb/source/Commands/CommandObjectLanguage.h lldb/source/Commands/CommandObjectLog.cpp lldb/source/Commands/CommandObjectLog.h lldb/source/Commands/CommandObjectMemory.cpp lldb/source/Commands/CommandObjectMultiword.cpp lldb/source/Commands/CommandObjectPlatform.cpp lldb/source/Commands/CommandObjectPlatform.h lldb/source/Commands/CommandObjectPlugin.cpp lldb/source/Commands/CommandObjectPlugin.h lldb/source/Commands/CommandObjectProcess.cpp lldb/source/Commands/CommandObjectRegister.cpp lldb/source/Commands/CommandObjectReproducer.cpp lldb/source/Commands/CommandObjectReproducer.h lldb/source/Commands/CommandObjectSettings.h lldb/source/Commands/CommandObjectSource.cpp lldb/source/Commands/CommandObjectSource.h lldb/source/Commands/CommandObjectStats.cpp lldb/source/Commands/CommandObjectStats.h lldb/source/Commands/CommandObjectTarget.cpp lldb/source/Commands/CommandObjectTarget.h lldb/source/Commands/CommandObjectThread.cpp lldb/source/Commands/CommandObjectType.cpp lldb/source/Commands/CommandObjectType.h lldb/source/Commands/CommandObjectVersion.cpp lldb/source/Commands/CommandObjectWatchpoint.cpp lldb/source/Commands/CommandObjectWatchpoint.h lldb/source/Commands/CommandObjectWatchpointCommand.cpp lldb/source/Commands/CommandObjectWatchpointCommand.h Removed: diff --git a/lldb/source/Commands/CommandCompletions.cpp b/lldb/source/Commands/CommandCompletions.cpp index b382e26e2b70..d9bee66b442a 100644 --- a/lldb/source/Commands/CommandCompletions.cpp +++ b/lldb/source/Commands/CommandCompletions.cpp @@ -6,11 +6,6 @@ // //===--===// -#include -#if defined(__APPLE__) || defined(__linux__) -#include -#endif - #include "llvm/ADT/SmallString.h" #include "llvm/ADT/StringSet.h" @@ -23,13 +18,10 @@ #include "lldb/Interpreter/OptionValueProperties.h" #include "lldb/Symbol/CompileUnit.h" #include "lldb/Symbol/Variable.h" -#include "lldb/Target/Target.h" -#include "lldb/Utility/Args.h" #include "lldb/Utility/FileSpec.h" #include "lldb/Utility/StreamString.h" #include "lldb/Utility/TildeExpressionResolver.h" -#include "llvm/ADT/SmallString.h" #include "llvm/Support/FileSystem.h" #include "llvm/Support/Path.h" diff --git a/lldb/source/Commands/CommandObjectApropos.cpp b/lldb/source/Commands/CommandObjectApropos.cpp index 7ba0b250fbd5..15a20737273d 100644 --- a/lldb/source/Commands/CommandObjectApropos.cpp +++ b/lldb/source/Commands/CommandObjectApropos.cpp @@ -10,7 +10,6 @@ #include "CommandObjectApropos.h" #include "lldb/Interpreter/CommandInterpreter.h" #include "lldb/Interpreter/CommandReturnObject.h" -#include "lldb/Interpreter/Options.h" #include "lldb/Interpreter/Property.h" #include "lldb/Utility/Args.h" diff --git a/lldb/source/Commands/CommandObjectBreakpoint.cpp b/lldb/source/Commands/CommandObjectBreakpoint.cpp index 380f753ea339..7c4c50ecf3f9 100644 --- a/lldb/source/Commands/CommandObjectBreakpoint.cpp +++ b/lldb/source/Commands/CommandObjectBreakpoint.cpp @@ -12,7 +12,6 @@ #include "lldb/Breakpoint/BreakpointIDList.h" #include "lldb/Breakpoint/BreakpointLocation.h" #include "lldb/Host/OptionParser.h" -#include "lldb/Interpreter/CommandCompletions.h