mirror of
https://github.com/MaskRay/ccls.git
synced 2024-11-26 01:21:57 +00:00
Adapt llvmorg-18-init-4877-g62e576b454e1: getLangOpts
This commit is contained in:
parent
ee2d4f5b9a
commit
7b17426b9f
@ -163,10 +163,16 @@ buildCompilerInvocation(const std::string &main, std::vector<const char *> args,
|
|||||||
ci->getFrontendOpts().DisableFree = false;
|
ci->getFrontendOpts().DisableFree = false;
|
||||||
// Enable IndexFrontendAction::shouldSkipFunctionBody.
|
// Enable IndexFrontendAction::shouldSkipFunctionBody.
|
||||||
ci->getFrontendOpts().SkipFunctionBodies = true;
|
ci->getFrontendOpts().SkipFunctionBodies = true;
|
||||||
|
#if LLVM_VERSION_MAJOR >= 18
|
||||||
|
ci->getLangOpts().SpellChecking = false;
|
||||||
|
ci->getLangOpts().RecoveryAST = true;
|
||||||
|
ci->getLangOpts().RecoveryASTType = true;
|
||||||
|
#else
|
||||||
ci->getLangOpts()->SpellChecking = false;
|
ci->getLangOpts()->SpellChecking = false;
|
||||||
#if LLVM_VERSION_MAJOR >= 11
|
#if LLVM_VERSION_MAJOR >= 11
|
||||||
ci->getLangOpts()->RecoveryAST = true;
|
ci->getLangOpts()->RecoveryAST = true;
|
||||||
ci->getLangOpts()->RecoveryASTType = true;
|
ci->getLangOpts()->RecoveryASTType = true;
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
auto &isec = ci->getFrontendOpts().Inputs;
|
auto &isec = ci->getFrontendOpts().Inputs;
|
||||||
if (isec.size())
|
if (isec.size())
|
||||||
|
@ -1294,9 +1294,15 @@ index(SemaManager *manager, WorkingFiles *wfiles, VFS *vfs,
|
|||||||
ok = false;
|
ok = false;
|
||||||
// -fparse-all-comments enables documentation in the indexer and in
|
// -fparse-all-comments enables documentation in the indexer and in
|
||||||
// code completion.
|
// code completion.
|
||||||
|
#if LLVM_VERSION_MAJOR >= 18
|
||||||
|
ci->getLangOpts().CommentOpts.ParseAllComments =
|
||||||
|
g_config->index.comments > 1;
|
||||||
|
ci->getLangOpts().RetainCommentsFromSystemHeaders = true;
|
||||||
|
#else
|
||||||
ci->getLangOpts()->CommentOpts.ParseAllComments =
|
ci->getLangOpts()->CommentOpts.ParseAllComments =
|
||||||
g_config->index.comments > 1;
|
g_config->index.comments > 1;
|
||||||
ci->getLangOpts()->RetainCommentsFromSystemHeaders = true;
|
ci->getLangOpts()->RetainCommentsFromSystemHeaders = true;
|
||||||
|
#endif
|
||||||
std::string buf = wfiles->getContent(main);
|
std::string buf = wfiles->getContent(main);
|
||||||
std::vector<std::unique_ptr<llvm::MemoryBuffer>> bufs;
|
std::vector<std::unique_ptr<llvm::MemoryBuffer>> bufs;
|
||||||
if (buf.size())
|
if (buf.size())
|
||||||
|
@ -368,8 +368,12 @@ void buildPreamble(Session &session, CompilerInvocation &ci,
|
|||||||
std::unique_ptr<llvm::MemoryBuffer> buf =
|
std::unique_ptr<llvm::MemoryBuffer> buf =
|
||||||
llvm::MemoryBuffer::getMemBuffer(content);
|
llvm::MemoryBuffer::getMemBuffer(content);
|
||||||
#if LLVM_VERSION_MAJOR >= 12
|
#if LLVM_VERSION_MAJOR >= 12
|
||||||
|
#if LLVM_VERSION_MAJOR >= 18
|
||||||
|
auto bounds = ComputePreambleBounds(ci.getLangOpts(), *buf, 0);
|
||||||
|
#else
|
||||||
// llvmorg-12-init-11522-g4c55c3b66de
|
// llvmorg-12-init-11522-g4c55c3b66de
|
||||||
auto bounds = ComputePreambleBounds(*ci.getLangOpts(), *buf, 0);
|
auto bounds = ComputePreambleBounds(*ci.getLangOpts(), *buf, 0);
|
||||||
|
#endif
|
||||||
// llvmorg-12-init-17739-gf4d02fbe418d
|
// llvmorg-12-init-17739-gf4d02fbe418d
|
||||||
if (!task.from_diag && oldP &&
|
if (!task.from_diag && oldP &&
|
||||||
oldP->preamble.CanReuse(ci, *buf, bounds, *fs))
|
oldP->preamble.CanReuse(ci, *buf, bounds, *fs))
|
||||||
@ -387,8 +391,13 @@ void buildPreamble(Session &session, CompilerInvocation &ci,
|
|||||||
ws.erase(std::remove(ws.begin(), ws.end(), "error"), ws.end());
|
ws.erase(std::remove(ws.begin(), ws.end(), "error"), ws.end());
|
||||||
ci.getDiagnosticOpts().IgnoreWarnings = false;
|
ci.getDiagnosticOpts().IgnoreWarnings = false;
|
||||||
ci.getFrontendOpts().SkipFunctionBodies = true;
|
ci.getFrontendOpts().SkipFunctionBodies = true;
|
||||||
|
#if LLVM_VERSION_MAJOR >= 18
|
||||||
|
ci.getLangOpts().CommentOpts.ParseAllComments = g_config->index.comments > 1;
|
||||||
|
ci.getLangOpts().RetainCommentsFromSystemHeaders = true;
|
||||||
|
#else
|
||||||
ci.getLangOpts()->CommentOpts.ParseAllComments = g_config->index.comments > 1;
|
ci.getLangOpts()->CommentOpts.ParseAllComments = g_config->index.comments > 1;
|
||||||
ci.getLangOpts()->RetainCommentsFromSystemHeaders = true;
|
ci.getLangOpts()->RetainCommentsFromSystemHeaders = true;
|
||||||
|
#endif
|
||||||
|
|
||||||
StoreDiags dc(task.path);
|
StoreDiags dc(task.path);
|
||||||
IntrusiveRefCntPtr<DiagnosticsEngine> de =
|
IntrusiveRefCntPtr<DiagnosticsEngine> de =
|
||||||
@ -498,12 +507,19 @@ void *completionMain(void *manager_) {
|
|||||||
fOpts.CodeCompletionAt.FileName = task->path;
|
fOpts.CodeCompletionAt.FileName = task->path;
|
||||||
fOpts.CodeCompletionAt.Line = task->position.line + 1;
|
fOpts.CodeCompletionAt.Line = task->position.line + 1;
|
||||||
fOpts.CodeCompletionAt.Column = task->position.character + 1;
|
fOpts.CodeCompletionAt.Column = task->position.character + 1;
|
||||||
|
#if LLVM_VERSION_MAJOR >= 18
|
||||||
|
ci->getLangOpts().CommentOpts.ParseAllComments = true;
|
||||||
|
#else
|
||||||
ci->getLangOpts()->CommentOpts.ParseAllComments = true;
|
ci->getLangOpts()->CommentOpts.ParseAllComments = true;
|
||||||
|
#endif
|
||||||
|
|
||||||
DiagnosticConsumer dc;
|
DiagnosticConsumer dc;
|
||||||
std::string content = manager->wfiles->getContent(task->path);
|
std::string content = manager->wfiles->getContent(task->path);
|
||||||
auto buf = llvm::MemoryBuffer::getMemBuffer(content);
|
auto buf = llvm::MemoryBuffer::getMemBuffer(content);
|
||||||
#if LLVM_VERSION_MAJOR >= 12 // llvmorg-12-init-11522-g4c55c3b66de
|
#if LLVM_VERSION_MAJOR >= 18
|
||||||
|
PreambleBounds bounds =
|
||||||
|
ComputePreambleBounds(ci->getLangOpts(), *buf, 0);
|
||||||
|
#elif LLVM_VERSION_MAJOR >= 12 // llvmorg-12-init-11522-g4c55c3b66de
|
||||||
PreambleBounds bounds =
|
PreambleBounds bounds =
|
||||||
ComputePreambleBounds(*ci->getLangOpts(), *buf, 0);
|
ComputePreambleBounds(*ci->getLangOpts(), *buf, 0);
|
||||||
#else
|
#else
|
||||||
@ -601,7 +617,10 @@ void *diagnosticMain(void *manager_) {
|
|||||||
if (!rebuild) {
|
if (!rebuild) {
|
||||||
std::string content = manager->wfiles->getContent(task.path);
|
std::string content = manager->wfiles->getContent(task.path);
|
||||||
auto buf = llvm::MemoryBuffer::getMemBuffer(content);
|
auto buf = llvm::MemoryBuffer::getMemBuffer(content);
|
||||||
#if LLVM_VERSION_MAJOR >= 12 // llvmorg-12-init-11522-g4c55c3b66de
|
#if LLVM_VERSION_MAJOR >= 18
|
||||||
|
PreambleBounds bounds =
|
||||||
|
ComputePreambleBounds(ci->getLangOpts(), *buf, 0);
|
||||||
|
#elif LLVM_VERSION_MAJOR >= 12 // llvmorg-12-init-11522-g4c55c3b66de
|
||||||
PreambleBounds bounds =
|
PreambleBounds bounds =
|
||||||
ComputePreambleBounds(*ci->getLangOpts(), *buf, 0);
|
ComputePreambleBounds(*ci->getLangOpts(), *buf, 0);
|
||||||
#else
|
#else
|
||||||
@ -622,7 +641,11 @@ void *diagnosticMain(void *manager_) {
|
|||||||
ci->getDiagnosticOpts().Warnings.push_back("no-unused-function");
|
ci->getDiagnosticOpts().Warnings.push_back("no-unused-function");
|
||||||
ci->getDiagnosticOpts().IgnoreWarnings = false;
|
ci->getDiagnosticOpts().IgnoreWarnings = false;
|
||||||
ci->getFrontendOpts().SkipFunctionBodies = false;
|
ci->getFrontendOpts().SkipFunctionBodies = false;
|
||||||
|
#if LLVM_VERSION_MAJOR >= 18
|
||||||
|
ci->getLangOpts().SpellChecking = g_config->diagnostics.spellChecking;
|
||||||
|
#else
|
||||||
ci->getLangOpts()->SpellChecking = g_config->diagnostics.spellChecking;
|
ci->getLangOpts()->SpellChecking = g_config->diagnostics.spellChecking;
|
||||||
|
#endif
|
||||||
StoreDiags dc(task.path);
|
StoreDiags dc(task.path);
|
||||||
std::string content = manager->wfiles->getContent(task.path);
|
std::string content = manager->wfiles->getContent(task.path);
|
||||||
auto buf = llvm::MemoryBuffer::getMemBuffer(content);
|
auto buf = llvm::MemoryBuffer::getMemBuffer(content);
|
||||||
|
Loading…
Reference in New Issue
Block a user