[Lldb-commits] [lldb] r180895 - Make our eliding of artificially-generated methods
Sean Callanan
scallanan at apple.com
Wed May 1 16:18:34 PDT 2013
Author: spyffe
Date: Wed May 1 18:18:34 2013
New Revision: 180895
URL: http://llvm.org/viewvc/llvm-project?rev=180895&view=rev
Log:
Make our eliding of artificially-generated methods
in debug information more aggressive. Emitting
classes containing these methods causes crashes in
Clang when dealing with complex code bases.
<rdar://problem/12640887>
Modified:
lldb/trunk/source/Symbol/ClangASTContext.cpp
Modified: lldb/trunk/source/Symbol/ClangASTContext.cpp
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/source/Symbol/ClangASTContext.cpp?rev=180895&r1=180894&r2=180895&view=diff
==============================================================================
--- lldb/trunk/source/Symbol/ClangASTContext.cpp (original)
+++ lldb/trunk/source/Symbol/ClangASTContext.cpp Wed May 1 18:18:34 2013
@@ -1769,6 +1769,9 @@ ClangASTContext::AddMethodToCXXRecordTyp
CXXDestructorDecl *cxx_dtor_decl(NULL);
CXXConstructorDecl *cxx_ctor_decl(NULL);
+ if (is_artificial)
+ return NULL; // skip everything artificial
+
if (name[0] == '~')
{
cxx_dtor_decl = CXXDestructorDecl::Create (*ast,
@@ -1783,9 +1786,6 @@ ClangASTContext::AddMethodToCXXRecordTyp
}
else if (decl_name == cxx_record_decl->getDeclName())
{
- if (is_artificial && method_function_prototype->getNumArgs() == 1)
- return NULL; // skip artificial copy constructors
-
cxx_ctor_decl = CXXConstructorDecl::Create (*ast,
cxx_record_decl,
SourceLocation(),
More information about the lldb-commits
mailing list