summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSean Callanan <scallanan@apple.com>2013-05-09 23:13:13 +0000
committerSean Callanan <scallanan@apple.com>2013-05-09 23:13:13 +0000
commitde9ce87f0368a2b0c753ecdeb7bd3738379c9c5c (patch)
treeee57499cb5cef2192ea93f5dc2a4421c9b941b4e
parentdd6a025986ac1f67f6635ff085dcd7fea9fb7789 (diff)
downloadbcm5719-llvm-de9ce87f0368a2b0c753ecdeb7bd3738379c9c5c.tar.gz
bcm5719-llvm-de9ce87f0368a2b0c753ecdeb7bd3738379c9c5c.zip
Don't completely drop methods we don't want to put
into a CXXRecordDecl on the ground; rather, put them into the translation unit as functions. <rdar://problem/13834404> llvm-svn: 181560
-rw-r--r--lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
index cbed4f22407..dd34a364c73 100644
--- a/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
+++ b/lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
@@ -6302,6 +6302,8 @@ SymbolFileDWARF::ParseType (const SymbolContext& sc, DWARFCompileUnit* dwarf_cu,
is_variadic,
type_quals);
+ bool ignore_containing_context = false;
+
if (type_name_cstr)
{
bool type_handled = false;
@@ -6520,7 +6522,7 @@ SymbolFileDWARF::ParseType (const SymbolContext& sc, DWARFCompileUnit* dwarf_cu,
}
else
{
- return TypeSP();
+ ignore_containing_context = true;
}
}
}
@@ -6562,7 +6564,7 @@ SymbolFileDWARF::ParseType (const SymbolContext& sc, DWARFCompileUnit* dwarf_cu,
if (!type_handled)
{
// We just have a function that isn't part of a class
- clang::FunctionDecl *function_decl = ast.CreateFunctionDeclaration (containing_decl_ctx,
+ clang::FunctionDecl *function_decl = ast.CreateFunctionDeclaration (ignore_containing_context ? GetClangASTContext().GetTranslationUnitDecl() : containing_decl_ctx,
type_name_cstr,
clang_type,
storage,
OpenPOWER on IntegriCloud