diff options
| author | Sean Callanan <scallanan@apple.com> | 2013-05-09 23:13:13 +0000 |
|---|---|---|
| committer | Sean Callanan <scallanan@apple.com> | 2013-05-09 23:13:13 +0000 |
| commit | de9ce87f0368a2b0c753ecdeb7bd3738379c9c5c (patch) | |
| tree | ee57499cb5cef2192ea93f5dc2a4421c9b941b4e | |
| parent | dd6a025986ac1f67f6635ff085dcd7fea9fb7789 (diff) | |
| download | bcm5719-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.cpp | 6 |
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, |

