llvm-project/lldb/source/Symbol
Raphael Isemann 77da826eda [lldb] Make CompleteTagDeclsScope completion order deterministic
Summary:
We iterate over `m_decls_to_complete` to complete declarations. As
`m_decls_to_complete` is a set the iteration order can be non-deterministic.
The order is currently only non-deterministic when we have
a large set of decls that need to be completed (i.e. more than 32 decls,
as otherwise the SmallPtrSet is just a linear-searched list).

This doesn't really fix any specific bug or has any really observable
change in behavior as the order in which we import should not influence
any semantics. However the order we create decls/types is now always
deterministic which should make debugging easier.

Reviewers: labath, mib, shafik, davide

Reviewed By: shafik, davide

Subscribers: davide, abidh, JDevlieghere, lldb-commits, mgrang

Tags: #lldb

Differential Revision: https://reviews.llvm.org/D72495
2020-01-10 21:19:04 +01:00
..
ArmUnwindInfo.cpp Support Linux signal return trampolines in frame initialization 2019-07-19 14:05:55 +00:00
Block.cpp [lldb][NFC] Move Address and AddressRange functions out of Stream and let them take raw_ostream 2019-12-05 14:41:33 +01:00
CMakeLists.txt [lldb][NFC] Remove ClangExternalASTSourceCommon 2019-12-24 13:17:27 +01:00
ClangASTContext.cpp Data formatters: Look through array element typedefs 2020-01-10 11:45:24 +01:00
ClangASTImporter.cpp [lldb] Make CompleteTagDeclsScope completion order deterministic 2020-01-10 21:19:04 +01:00
ClangASTMetadata.cpp [lldb][NFC] Move definition of ClangASTMetadata out of ClangExternalASTSourceCommon.h 2019-12-16 10:52:31 +01:00
ClangExternalASTSourceCallbacks.cpp [lldb][NFC] Simplify ClangExternalASTSourceCallbacks 2019-12-23 13:22:29 +01:00
ClangUtil.cpp [lldb] Remove lldb's own ASTDumper 2019-11-25 13:27:51 +01:00
CompactUnwindInfo.cpp Add arm64_32 support to lldb, an ILP32 codegen 2019-10-16 19:14:49 +00:00
CompileUnit.cpp [lldb] Don't put compile unit name into the support file list and support DWARF5 line tables 2019-12-05 11:37:18 +01:00
CompilerDecl.cpp [lldb][NFC] Remove CompilerDeclContext::IsClang 2019-11-28 15:54:11 +01:00
CompilerDeclContext.cpp [lldb][NFC] Delete all 'else return ...' in CompilerDeclContext.cpp 2019-12-23 11:49:35 +01:00
CompilerType.cpp [lldb][NFC] Simplify CompilerType constructors/destructors and fix unused variable warning 2020-01-01 22:56:16 +01:00
CxxModuleHandler.cpp [lldb] Fix crash in CxxModuleHandler when std module is empty 2019-10-11 08:42:22 +00:00
DWARFCallFrameInfo.cpp [Logging] Replace Log::Printf with LLDB_LOG macro (NFC) 2019-07-24 17:56:10 +00:00
DebugMacros.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
DeclVendor.cpp [Symbol] Decouple clang from DeclVendor 2019-08-23 06:11:32 +00:00
Declaration.cpp [lldb] s/FileSpec::Equal/FileSpec::Match 2019-12-04 10:42:32 +01:00
FuncUnwinders.cpp [lldb] Initialize some bitfields in FuncUnwinders.cpp 2020-01-07 18:01:59 +01:00
Function.cpp [lldb] Remove various dead Compare functions 2020-01-08 18:05:33 -08:00
LineEntry.cpp [lldb][NFC] Migrate FileSpec::Dump to raw_ostream 2019-12-06 09:40:42 +01:00
LineTable.cpp [lldb] Use llvm range functions in LineTable.cpp 2019-12-03 16:22:52 +01:00
LocateSymbolFile.cpp [lldb] Remove FileSpec(FileSpec*) constructor 2019-12-04 10:49:25 +01:00
LocateSymbolFileMacOSX.cpp [lldb] Fix macOS build by replacing nullptr with FileSpec() 2019-12-04 14:37:10 +01:00
ObjectFile.cpp [LLDB] [PECOFF] Make sure to set the address byte size in m_data after parsing headers 2019-12-10 13:55:38 +02:00
PostfixExpression.cpp Postfix: move more code out of the PDB plugin 2019-08-26 11:44:14 +00:00
Symbol.cpp [lldb] Add -m option to 'target modules dump symtab' to disable demangling 2019-11-07 15:47:01 +01:00
SymbolContext.cpp [lldb][NFC] Migrate FileSpec::Dump to raw_ostream 2019-12-06 09:40:42 +01:00
SymbolFile.cpp Add RTTI support to the SymbolFile class hierarchy 2019-11-15 11:52:13 -08:00
SymbolVendor.cpp SymbolVendor: Remove passthrough methods 2019-08-06 09:12:42 +00:00
Symtab.cpp [lldb][NFC] Use llvm::StringRef instead of C-strings as multimap key 2019-11-28 14:05:47 +01:00
Type.cpp [lldb] Remove various dead Compare functions 2020-01-08 18:05:33 -08:00
TypeList.cpp [NFC] Remove ASCII lines from comments 2019-04-10 20:48:55 +00:00
TypeMap.cpp [Symbol][NFC] Remove references to clang in TypeMap 2019-08-20 20:44:36 +00:00
TypeSystem.cpp [lldb] Support for DWARF-5 atomic types 2019-12-09 10:46:26 +01:00
UnwindPlan.cpp Unwind: Add a stack scanning mechanism to support win32 unwinding 2019-09-27 12:10:06 +00:00
UnwindTable.cpp [Windows] Use information from the PE32 exceptions directory to construct unwind plans 2019-10-11 09:03:29 +00:00
Variable.cpp [lldb][NFC] Make some checks more readable in Variable::PrivateAutoComplete 2020-01-01 18:47:44 +01:00
VariableList.cpp [NFC] Remove ASCII lines from comments 2019-04-10 20:48:55 +00:00