llvm-project/lldb
Greg Clayton 23c12ca922 Make sure that we succeed in starting a definition before we complete it and emit an error if we fail to start the definition.
ClangASTContext::StartTagDeclarationDefinition(...) was starting definitions for any TagType instances that have TagDecl, but ClangASTContext::CompleteTagDeclarationDefinition(...) was getting the type to a CXXRecordDecl with:

    clang::CXXRecordDecl *cxx_record_decl = qual_type->getAsCXXRecordDecl();
    
The problem is that getAsCXXRecordDecl() might dig a bit deeper into a type and dig out a different decl, which means we might call ClangASTContext::StartTagDeclarationDefinition(...), but it might not do anything, and then we might call ClangASTContext::CompleteTagDeclarationDefinition(...) and it might try to complete something that didn't have its definition started and this will crash.

This change fixes that, and also makes sure that starting a definition succeeds before any calls to ClangASTContext::CompleteTagDeclarationDefinition().
                                                    
<rdar://problem/24091798>

llvm-svn: 270891
2016-05-26 19:24:02 +00:00
..
cmake [cmake] Remove the LLDB versions of the exception-controlling variables 2016-05-26 16:11:04 +00:00
docs test commit 2016-04-25 19:02:05 +00:00
examples Another little example use of scripted thread plans. 2016-05-03 00:14:52 +00:00
include/lldb Include <mutex> in Process.h - Jim's change in r270593 added a std::mutex 2016-05-25 05:14:16 +00:00
lit Replace hardcoded comment at 'lit.site.cfg.in' 2016-04-16 07:14:05 +00:00
lldb.xcodeproj add cmake files to Xcode project 2016-05-23 18:56:05 +00:00
lldb.xcworkspace Working on getting the OSX build green 2015-05-12 02:20:27 +00:00
packages/Python/lldbsuite Add "-gmodules" support to the test suite. 2016-05-26 13:57:03 +00:00
resources Bump the lldb version # in the xcode project files from 2016-03-15 04:36:11 +00:00
scripts Look for CMake.app when searching for cmake 2016-05-16 22:29:15 +00:00
source Make sure that we succeed in starting a definition before we complete it and emit an error if we fail to start the definition. 2016-05-26 19:24:02 +00:00
test Always rerun all tests on Windows. 2016-05-23 17:32:04 +00:00
third_party/Python/module Put progress.py back, apparently this can't be deleted. 2015-12-09 21:32:28 +00:00
tools [cmake] Add ability to customize (and skip) debugserver codesign 2016-05-26 08:38:10 +00:00
unittests Add unit tests for ModuleCache 2016-05-25 10:48:16 +00:00
utils Python 3: Modernize exception raising syntax. 2015-11-03 21:01:45 +00:00
www Update the website with lots of new info about building / testing. 2016-02-24 22:19:23 +00:00
.arcconfig
.clang-format Update .clang-format file to support break after return type. 2015-12-28 22:09:29 +00:00
.gitignore modify Xcode build to use cmake/ninja for internal llvm/clang 2016-01-28 07:36:44 +00:00
CMakeLists.txt Fix NetBSD build with CMake 3.5.2 2016-05-01 10:23:24 +00:00
CODE_OWNERS.txt Added myself to the CODE_OWNERS.txt list for a few subsystems. 2015-11-09 01:24:36 +00:00
INSTALL.txt Revert the patch to Test Commit Access 2015-07-06 11:26:51 +00:00
LICENSE.TXT
use_lldb_suite_root.py Preparation for turning lldbsuite into a Python package. 2015-10-27 22:33:47 +00:00