Compare commits

..

1 Commits

Author SHA1 Message Date
Fangrui Song
d78587c18d pipeline: escape log command line 2024-12-06 17:58:39 -08:00
3 changed files with 9 additions and 41 deletions

View File

@ -377,17 +377,10 @@ const Decl *getAdjustedDecl(const Decl *d) {
if (!s->isExplicitSpecialization()) {
llvm::PointerUnion<ClassTemplateDecl *, ClassTemplatePartialSpecializationDecl *> result =
s->getSpecializedTemplateOrPartial();
#if LLVM_VERSION_MAJOR >= 21
if (auto *ctd = dyn_cast<ClassTemplateDecl *>(result))
d = ctd;
else
d = cast<ClassTemplatePartialSpecializationDecl *>(result);
#else
if (isa<ClassTemplateDecl *>(result))
if (result.is<ClassTemplateDecl *>())
d = result.get<ClassTemplateDecl *>();
else
d = result.get<ClassTemplatePartialSpecializationDecl *>();
#endif
continue;
}
} else if (auto *d1 = r->getInstantiatedFromMemberClass()) {
@ -971,17 +964,10 @@ public:
else if (auto *sd = dyn_cast<ClassTemplateSpecializationDecl>(rd)) {
llvm::PointerUnion<ClassTemplateDecl *, ClassTemplatePartialSpecializationDecl *> result =
sd->getSpecializedTemplateOrPartial();
#if LLVM_VERSION_MAJOR >= 21
if (auto *ctd = dyn_cast<ClassTemplateDecl *>(result))
d1 = ctd;
else
d1 = cast<ClassTemplatePartialSpecializationDecl *>(result);
#else
if (result.is<ClassTemplateDecl *>())
d1 = result.get<ClassTemplateDecl *>();
else
d1 = result.get<ClassTemplatePartialSpecializationDecl *>();
#endif
} else
d1 = rd->getInstantiatedFromMemberClass();
@ -1255,23 +1241,15 @@ IndexResult index(SemaManager *manager, WorkingFiles *wfiles, VFS *vfs, const st
}
IndexDiags dc;
#if LLVM_VERSION_MAJOR >= 21
auto clang = std::make_unique<CompilerInstance>(std::move(ci), pch);
#else
auto clang = std::make_unique<CompilerInstance>(pch);
clang->setInvocation(std::move(ci));
#endif
clang->createDiagnostics(
#if LLVM_VERSION_MAJOR >= 20
*fs,
#endif
&dc, false);
clang->getDiagnostics().setIgnoreAllWarnings(true);
#if LLVM_VERSION_MAJOR >= 21
clang->setTarget(TargetInfo::CreateTargetInfo(clang->getDiagnostics(), clang->getTargetOpts()));
#else
clang->setTarget(TargetInfo::CreateTargetInfo(clang->getDiagnostics(), clang->getInvocation().TargetOpts));
#endif
if (!clang->hasTarget())
return {};
clang->getPreprocessorOpts().RetainRemappedFileBuffers = true;

View File

@ -364,8 +364,14 @@ bool indexer_Parse(SemaManager *completion, WorkingFiles *wfiles, Project *proje
msg += " error:" + std::to_string(n_errs) + ' ' + first_error;
if (LOG_V_ENABLED(1)) {
msg += "\n ";
for (const char *arg : entry.args)
(msg += ' ') += arg;
for (const char *arg_c : entry.args) {
msg += ' ';
std::string_view arg(arg_c);
if (arg.find_first_of("\"()<>") != std::string::npos)
((msg += "'") += arg) += "'";
else
msg += arg;
}
}
LOG_S(INFO) << std::string_view(msg.data(), msg.size());
}
@ -684,14 +690,6 @@ void mainLoop() {
path2backlog[ex.path].push_back(&backlog.back());
}
// If the "exit" notification has been received, clear all index requests
// to make indexers stop in time.
if (g_quit.load(std::memory_order_relaxed)) {
index_request->apply([&](std::deque<IndexRequest> &q) {
q.clear();
});
}
bool indexed = false;
for (int i = 20; i--;) {
std::optional<IndexUpdate> update = on_indexed->tryPopFront();

View File

@ -261,22 +261,14 @@ std::unique_ptr<CompilerInstance> buildCompilerInstance(Session &session, std::u
else
ci->getPreprocessorOpts().addRemappedFile(main, buf.get());
#if LLVM_VERSION_MAJOR >= 21
auto clang = std::make_unique<CompilerInstance>(std::move(ci), session.pch);
#else
auto clang = std::make_unique<CompilerInstance>(session.pch);
clang->setInvocation(std::move(ci));
#endif
clang->createDiagnostics(
#if LLVM_VERSION_MAJOR >= 20
*fs,
#endif
&dc, false);
#if LLVM_VERSION_MAJOR >= 21
clang->setTarget(TargetInfo::CreateTargetInfo(clang->getDiagnostics(), clang->getTargetOpts()));
#else
clang->setTarget(TargetInfo::CreateTargetInfo(clang->getDiagnostics(), clang->getInvocation().TargetOpts));
#endif
if (!clang->hasTarget())
return nullptr;
clang->getPreprocessorOpts().RetainRemappedFileBuffers = true;