diff options
| author | Dimitry Andric <dim@FreeBSD.org> | 2015-09-06 15:21:47 +0000 |
|---|---|---|
| committer | Dimitry Andric <dim@FreeBSD.org> | 2015-09-06 15:21:47 +0000 |
| commit | b91a7dfcc6380a77b4b179ec63370af22b062b5d (patch) | |
| tree | 6dbe733cbb748d293bbaa2b7616e76faff7118d5 /contrib/llvm/tools/lldb/source/Expression/ClangExpressionDeclMap.cpp | |
| parent | 1757ba14bf2cc0c79974835dab55ef6615edf9b8 (diff) | |
| parent | 027f1c9655391dcb2b0117f931f720211ac933db (diff) | |
Update lldb to upstream trunk r242221.
Notes
svn path=/projects/clang-trunk/; revision=287505
Diffstat (limited to 'contrib/llvm/tools/lldb/source/Expression/ClangExpressionDeclMap.cpp')
| -rw-r--r-- | contrib/llvm/tools/lldb/source/Expression/ClangExpressionDeclMap.cpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/contrib/llvm/tools/lldb/source/Expression/ClangExpressionDeclMap.cpp b/contrib/llvm/tools/lldb/source/Expression/ClangExpressionDeclMap.cpp index 1013bb540601..2c66a0aa4278 100644 --- a/contrib/llvm/tools/lldb/source/Expression/ClangExpressionDeclMap.cpp +++ b/contrib/llvm/tools/lldb/source/Expression/ClangExpressionDeclMap.cpp @@ -1527,6 +1527,31 @@ ClangExpressionDeclMap::FindExternalVisibleDecls (NameSearchContext &context, context.m_found.function_with_type_info = true; context.m_found.function = true; } + else if (llvm::isa<clang::VarDecl>(decl_from_modules)) + { + if (log) + { + log->Printf(" CAS::FEVD[%u] Matching variable found for \"%s\" in the modules", + current_id, + name.GetCString()); + } + + clang::Decl *copied_decl = m_ast_importer->CopyDecl(m_ast_context, &decl_from_modules->getASTContext(), decl_from_modules); + clang::VarDecl *copied_var_decl = copied_decl ? dyn_cast_or_null<clang::VarDecl>(copied_decl) : nullptr; + + if (!copied_var_decl) + { + if (log) + log->Printf(" CAS::FEVD[%u] - Couldn't export a variable declaration from the modules", + current_id); + + break; + } + + context.AddNamedDecl(copied_var_decl); + + context.m_found.variable = true; + } } } while (0); } |
