Fix diagnostics on MacOS and duplicated bases.

This commit is contained in:
Chao Shen 2018-07-27 11:08:22 +08:00 committed by Fangrui Song
parent bde0e6d837
commit 8eeb1bb3af
3 changed files with 5 additions and 3 deletions

View File

@ -87,7 +87,7 @@ OUTPUT:
"kind": 3,
"declarations": ["3:20-3:23|17805385787823406700|2|1025"],
"alias_of": 0,
"bases": [17805385787823406700, 17805385787823406700, 17805385787823406700, 17805385787823406700],
"bases": [17805385787823406700],
"derived": [],
"types": [],
"funcs": [],
@ -105,7 +105,7 @@ OUTPUT:
"kind": 3,
"declarations": ["2:15-2:18|926793467007732869|2|1025"],
"alias_of": 0,
"bases": [926793467007732869, 926793467007732869, 926793467007732869, 926793467007732869],
"bases": [926793467007732869],
"derived": [14450849931009540802],
"types": [14450849931009540802],
"funcs": [],

View File

@ -85,7 +85,8 @@ std::unique_ptr<ClangTranslationUnit> ClangTranslationUnit::Create(
Unit.reset(ASTUnit::LoadFromCommandLine(
Args.data(), Args.data() + Args.size(),
/*PCHContainerOpts=*/ret->PCHCO, Diags,
/*ResourceFilePath=*/"", /*OnlyLocalDecls=*/false,
/*ResourceFilePath=*/g_config->clang.resourceDir,
/*OnlyLocalDecls=*/false,
/*CaptureDiagnostics=*/diagnostic, Remapped,
/*RemappedFilesKeepOriginalName=*/true, 1,
diagnostic ? TU_Complete : TU_Prefix,

View File

@ -1208,6 +1208,7 @@ std::vector<std::unique_ptr<IndexFile>> Index(
Uniquify(it.second.derived);
Uniquify(it.second.uses);
// e.g. declaration + out-of-line definition
Uniquify(it.second.def.bases);
Uniquify(it.second.def.funcs);
}
for (auto& it : entry->usr2var)