mirror of
https://github.com/MaskRay/ccls.git
synced 2024-11-22 23:55:08 +00:00
Also log arguments when failing to create a translation unit
This commit is contained in:
parent
2b888b2a97
commit
2a2794da23
@ -24,8 +24,14 @@ namespace {
|
|||||||
// std::mutex g_parse_translation_unit_mutex;
|
// std::mutex g_parse_translation_unit_mutex;
|
||||||
// std::mutex g_reparse_translation_unit_mutex;
|
// std::mutex g_reparse_translation_unit_mutex;
|
||||||
|
|
||||||
void EmitDiagnostics(std::string path, CXTranslationUnit tu) {
|
void EmitDiagnostics(std::string path,
|
||||||
|
std::vector<const char*> args,
|
||||||
|
CXTranslationUnit tu) {
|
||||||
std::string output = "Fatal errors while trying to parse " + path + "\n";
|
std::string output = "Fatal errors while trying to parse " + path + "\n";
|
||||||
|
output +=
|
||||||
|
"Args: " +
|
||||||
|
StringJoinMap(args, [](const char* arg) { return std::string(arg); }) +
|
||||||
|
"\n";
|
||||||
|
|
||||||
size_t num_diagnostics = clang_getNumDiagnostics(tu);
|
size_t num_diagnostics = clang_getNumDiagnostics(tu);
|
||||||
for (unsigned i = 0; i < num_diagnostics; ++i) {
|
for (unsigned i = 0; i < num_diagnostics; ++i) {
|
||||||
@ -97,7 +103,7 @@ std::unique_ptr<ClangTranslationUnit> ClangTranslationUnit::Create(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (error_code != CXError_Success && cx_tu)
|
if (error_code != CXError_Success && cx_tu)
|
||||||
EmitDiagnostics(filepath, cx_tu);
|
EmitDiagnostics(filepath, args, cx_tu);
|
||||||
|
|
||||||
switch (error_code) {
|
switch (error_code) {
|
||||||
case CXError_Success:
|
case CXError_Success:
|
||||||
@ -136,7 +142,7 @@ std::unique_ptr<ClangTranslationUnit> ClangTranslationUnit::Reparse(
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (error_code != CXError_Success && tu->cx_tu)
|
if (error_code != CXError_Success && tu->cx_tu)
|
||||||
EmitDiagnostics("<unknown>", tu->cx_tu);
|
EmitDiagnostics("<unknown>", {}, tu->cx_tu);
|
||||||
|
|
||||||
switch (error_code) {
|
switch (error_code) {
|
||||||
case CXError_Success:
|
case CXError_Success:
|
||||||
|
Loading…
Reference in New Issue
Block a user