summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaphael Isemann <teemperor@gmail.com>2019-10-10 13:43:37 +0000
committerRaphael Isemann <teemperor@gmail.com>2019-10-10 13:43:37 +0000
commitccd54a1349fc67f1ffbc298e8dadc5c6a0f215ce (patch)
tree6ab758ba45648902804d18707088b62fcb013225
parent48edae336bc701054e28e4723ff70d45af9fbfc2 (diff)
downloadbcm5719-llvm-ccd54a1349fc67f1ffbc298e8dadc5c6a0f215ce.tar.gz
bcm5719-llvm-ccd54a1349fc67f1ffbc298e8dadc5c6a0f215ce.zip
[lldb] Add log output for the support files we pass to the CppModuleConfiguration
CppModuleConfiguration is the most likely point of failure when we have weird setups where we fail to load a C++ module. With this logging it should be easier to figure out why we can't find a valid configuration as the configuration only depends on the list of file paths. llvm-svn: 374350
-rw-r--r--lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp b/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
index 31c85d20874..da1ca785635 100644
--- a/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
+++ b/lldb/source/Plugins/ExpressionParser/Clang/ClangUserExpression.cpp
@@ -444,6 +444,8 @@ static CppModuleConfiguration LogConfigError(const std::string &msg) {
CppModuleConfiguration GetModuleConfig(lldb::LanguageType language,
ExecutionContext &exe_ctx) {
+ Log *log(lldb_private::GetLogIfAllCategoriesSet(LIBLLDB_LOG_EXPRESSIONS));
+
// Don't do anything if this is not a C++ module configuration.
if (!SupportsCxxModuleImport(language))
return LogConfigError("Language doesn't support C++ modules");
@@ -483,6 +485,15 @@ CppModuleConfiguration GetModuleConfig(lldb::LanguageType language,
}
}
});
+
+ LLDB_LOG(log, "[C++ module config] Found {0} support files to analyze",
+ files.GetSize());
+ if (log && log->GetVerbose()) {
+ for (const FileSpec &f : files)
+ LLDB_LOGV(log, "[C++ module config] Analyzing support file: {0}",
+ f.GetPath());
+ }
+
// Try to create a configuration from the files. If there is no valid
// configuration possible with the files, this just returns an invalid
// configuration.
OpenPOWER on IntegriCloud