llvm-project/lldb/source/Expression
Stephane Sezer 9901e9c6c8 Fix resolution of certain recursive types.
Summary:
If a struct type S has a member T that has a member that is a function that
returns a typedef of S* the respective field would be duplicated, which caused
an assert down the line in RecordLayoutBuilder. This patch adds a check that
removes the possibility of trying to resolve the same type twice within the
same callstack.

This commit also adds unit tests for these failures.

Fixes https://llvm.org/bugs/show_bug.cgi?id=20486.

Patch by Cristian Hancila.

Test Plan: Run unit tests.

Reviewers: clayborg spyffe

Subscribers: lldb-commits

Differential Revision: http://reviews.llvm.org/D8561

llvm-svn: 234441
2015-04-08 21:52:45 +00:00
..
ASTDumper.cpp Huge change to clean up types. 2013-07-11 22:46:58 +00:00
ASTResultSynthesizer.cpp In commit clang r226096, DefinitionRequired has been removed. Do the same in lldb implementation 2015-01-15 11:50:50 +00:00
ASTStructExtractor.cpp In commit clang r226096, DefinitionRequired has been removed. Do the same in lldb implementation 2015-01-15 11:50:50 +00:00
CMakeLists.txt Added CMake support so all the Clang modules code 2014-12-05 01:31:55 +00:00
ClangASTSource.cpp Fix resolution of certain recursive types. 2015-04-08 21:52:45 +00:00
ClangExpressionDeclMap.cpp We have an issue where if you use a C function right now that has no prototype, it isn't marked as extern "C" and the name to lookup is some C++ mangled form of the name. 2015-04-06 17:14:02 +00:00
ClangExpressionParser.cpp Fix type detection for 'char' variables 2015-03-31 10:21:50 +00:00
ClangExpressionVariable.cpp Add the ability for an SBValue to create a persisted version of itself. 2014-12-08 23:13:56 +00:00
ClangFunction.cpp ClangFunction: Fix destruction order of parser and execution unit 2014-12-10 04:59:18 +00:00
ClangModulesDeclVendor.cpp Fixed a problem where the second @import statement 2015-04-07 17:02:02 +00:00
ClangPersistentVariables.cpp I have brought LLDB up-to-date with top of tree 2012-02-04 08:49:35 +00:00
ClangUserExpression.cpp Don't #include clang headers from BreakpointLocation.h 2015-03-04 17:43:00 +00:00
ClangUtilityFunction.cpp Reverse out r219169 related to quote handling. 2014-10-10 01:11:39 +00:00
DWARFExpression.cpp Move lldb-log.cpp to core/Logging.cpp 2015-03-18 18:20:42 +00:00
ExpressionSourceCode.cpp Update ExpressionSourceCode::GetText() to match the 2015-01-22 06:31:58 +00:00
IRDynamicChecks.cpp Revert "Update for LLVM API change in r221024" 2014-11-12 01:59:53 +00:00
IRExecutionUnit.cpp Fix -Wformat-pedantic warnings 2015-04-08 20:23:52 +00:00
IRForTarget.cpp Fix -Wformat-pedantic warnings 2015-04-08 20:23:52 +00:00
IRInterpreter.cpp remove trailing whitespace + remove some useless comments 2014-07-06 17:54:58 +00:00
IRMemoryMap.cpp Dont' use a random probe & alloc strategy for the IRMemoryMap. 2014-07-09 16:42:27 +00:00
Makefile remove trailing whitespace + remove some useless comments 2014-07-06 17:54:58 +00:00
Materializer.cpp Don't #include ClangPersistentVariables.h from Process.h 2015-03-03 21:05:17 +00:00