Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge upstream release/8.x branch #7

Merged
merged 126 commits into from
Feb 12, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
126 commits
Select commit Hold shift + click to select a range
18f9cee
Merging r351396:
rui314 Jan 16, 2019
cfa6241
Merging r351360:
zmodem Jan 17, 2019
bcabeb4
Merging r351340:
zmodem Jan 17, 2019
66303bc
Merging r351431:
zmodem Jan 17, 2019
9d7c270
Merging r351436:
zmodem Jan 17, 2019
2b727e7
Merging r351349:
zmodem Jan 17, 2019
ec0bc4c
Merging r351344:
zmodem Jan 17, 2019
edcbea9
Merging r351345:
zmodem Jan 17, 2019
f308f98
Merging r351351:
zmodem Jan 17, 2019
6f53381
Merging r351381:
zmodem Jan 17, 2019
37174c6
Merging r351326:
zmodem Jan 17, 2019
961b84b
Merging r351335:
zmodem Jan 17, 2019
3553f3e
Merging r351370:
zmodem Jan 17, 2019
2f1402b
Merging r351421:
zmodem Jan 17, 2019
8593d60
Merging r351475:
zmodem Jan 18, 2019
47149c4
Merging r351325:
zmodem Jan 18, 2019
c4fa34c
Merging r351457:
zmodem Jan 18, 2019
ad1624f
Merging r351459:
zmodem Jan 18, 2019
d4d3f77
Merging r351504:
zmodem Jan 18, 2019
6e751e8
Merging r351463, r351466, r351467, and r351468
zmodem Jan 18, 2019
e264dae
Merging r351426:
zmodem Jan 18, 2019
119d8a5
Merging r351580:
zmodem Jan 22, 2019
eb74b59
Merging r351686:
zmodem Jan 22, 2019
2bebfeb
Merging r351753:
zmodem Jan 22, 2019
ee231d0
Merging r351754:
zmodem Jan 22, 2019
642a173
Merging r351788:
zmodem Jan 22, 2019
a05d35f
[docs] Amend the release notes with more things I've contributed sinc…
mstorsjo Jan 22, 2019
78ecdd7
[docs] Add release notes for notable things I've contributed since la…
mstorsjo Jan 22, 2019
1e7e399
[docs] Add release notes for notable things I've contributed since la…
mstorsjo Jan 22, 2019
d0fae09
Merging r351531:
zmodem Jan 23, 2019
f669262
Merging r351738:
zmodem Jan 23, 2019
40cbc00
Merging r351898:
zmodem Jan 23, 2019
b00b2b8
Merging r351899:
zmodem Jan 23, 2019
17c9824
Merging r351670:
zmodem Jan 23, 2019
22c2b2b
Merging r351930 and r351932:
zmodem Jan 24, 2019
a008fbe
Merging r352040:
zmodem Jan 24, 2019
de8481e
Merging r352040:
zmodem Jan 24, 2019
400f8a3
Merging r352102:
zmodem Jan 24, 2019
24479b1
Merging r352116:
zmodem Jan 25, 2019
22f92b5
Merging r352082:
zmodem Jan 25, 2019
4474451
Merging r351485:
zmodem Jan 25, 2019
b7988f7
Merging r351579:
zmodem Jan 25, 2019
e25507d
Merging r352034:
zmodem Jan 25, 2019
af62a72
Merging r352068:
zmodem Jan 25, 2019
4ba28fc
Merging r352079:
zmodem Jan 25, 2019
9fbd743
Merging r352204:
zmodem Jan 25, 2019
30d3a54
Merging r352234:
zmodem Jan 25, 2019
f149bca
Merging r352257:
zmodem Jan 28, 2019
01ddd7c
Remove failing test expectations.
zmodem Jan 28, 2019
8f1376f
Merging r352302:
zmodem Jan 28, 2019
f86097d
Merging r352323:
zmodem Jan 28, 2019
246bce4
Merging r352099:
zmodem Jan 28, 2019
b73d705
Merging r352105:
zmodem Jan 28, 2019
1680cb5
Merging r352221 and r352222:
zmodem Jan 28, 2019
accabdd
Merging r352229:
zmodem Jan 28, 2019
d1ba949
Merging r352231:
zmodem Jan 28, 2019
be5f5b3
Merging r352413:
zmodem Jan 29, 2019
53ba53b
Merging r352381:
zmodem Jan 29, 2019
caadceb
Merging r352382:
zmodem Jan 29, 2019
84d97e3
Merging r352459:
zmodem Jan 29, 2019
71b117e
Merging r352374:
zmodem Jan 29, 2019
5751c2b
Merging r352374:
zmodem Jan 29, 2019
2cc5c39
Merging r352374:
zmodem Jan 29, 2019
c1d99f8
Merging r352374:
zmodem Jan 29, 2019
f103e43
Merging r351910:
zmodem Jan 29, 2019
3c554e2
Merging r352539:
zmodem Jan 29, 2019
88481d5
Merging r352610:
zmodem Jan 30, 2019
dbbe633
[docs][mips] Add MIPS specific release notes for LLD 8.0
atanasyan Jan 30, 2019
dfc033d
[docs][mips] Clang 8.0 Release notes
atanasyan Jan 30, 2019
8a11e14
[docs][mips] 8.0 Release notes
atanasyan Jan 30, 2019
6dcd982
Merging r352407:
zmodem Feb 1, 2019
9f0ae69
Merging r352435:
zmodem Feb 1, 2019
15decd1
Merging r352482:
zmodem Feb 1, 2019
538ee73
Merging r352606:
zmodem Feb 1, 2019
2a08347
Merging r352672:
zmodem Feb 1, 2019
e26a2f2
Merging r352822:
zmodem Feb 1, 2019
d4c2ff4
Merging r352770:
zmodem Feb 1, 2019
c081a5f
Merging r352156:
zmodem Feb 1, 2019
f66fbcf
Merging r352463:
zmodem Feb 1, 2019
61ff0b6
Merging r352246:
zmodem Feb 1, 2019
b96362f
[Hexagon] Update release notes with the changes to the Hexagon backend
Feb 1, 2019
36e9afb
Release Notes: Add Zig to External Open Source Projects Using LLVM 8
zmodem Feb 4, 2019
8cc77b4
Merging r352889:
zmodem Feb 4, 2019
44c7930
Merging r352307:
zmodem Feb 4, 2019
ca26c44
Merging r352928:
zmodem Feb 5, 2019
9c110d5
Merging r352929:
zmodem Feb 5, 2019
f7f9945
Merging r352945:
zmodem Feb 5, 2019
a10d2d2
Merging r353082:
zmodem Feb 5, 2019
a9a9c27
Merging r352555:
zmodem Feb 5, 2019
30ce79e
Merging rr353218:
rnk Feb 5, 2019
35f4f2f
Merging r353155:
zmodem Feb 6, 2019
5581990
Merging r352016:
zmodem Feb 6, 2019
a2f4603
Merging r353224:
zmodem Feb 6, 2019
7ec84db
Merging r353250:
zmodem Feb 6, 2019
f582206
Merging r353304:
zmodem Feb 7, 2019
238045f
lld-link: Add some entries to the 8.0 release notes
zmodem Feb 7, 2019
33fc712
Merging r353367:
zmodem Feb 7, 2019
7399f70
Merging r353327:
zmodem Feb 7, 2019
104c654
Merging r353393:
zmodem Feb 7, 2019
8c33d4f
Re-generate docs/ClangCommandLineReference.rst
zmodem Feb 7, 2019
cb2d048
Generate docs/AttributeReference.rst
zmodem Feb 7, 2019
829bb6f
[docs] Update the release notes for the backported feature with thunk…
mstorsjo Feb 7, 2019
ac29b65
Fix sphinx warning
zmodem Feb 7, 2019
98ebe74
Merging r353399:
zmodem Feb 7, 2019
2699311
Add external project LDC to release notes.
redstar Feb 7, 2019
ce52769
Merging r351387, r351765, and r353374:
zmodem Feb 8, 2019
22558d3
Merging r353463:
zmodem Feb 8, 2019
15f159c
- Update ReleaseNotes for lld 8.0.0.
rui314 Feb 8, 2019
62ead03
Minor update to lld/ReleaseNotes.
rui314 Feb 11, 2019
e055d7f
Merging r353495:
zmodem Feb 12, 2019
0cbe0b9
ReleaseNotes about the toolchain version cmake check
zmodem Feb 12, 2019
75ff7d0
Merging r353551 and r353809:
zmodem Feb 12, 2019
018cd5f
Merging r352607 r352608 r353015 r353061 r353138 r353141 r353334 r353489
zmodem Feb 12, 2019
e552366
Merging r353142:
zmodem Feb 12, 2019
2ccd8c1
Merging r353308 and r353383:
zmodem Feb 12, 2019
df368fd
Merging r353411:
zmodem Feb 12, 2019
e57cf6c
Merging r353431:
zmodem Feb 12, 2019
dfde9d6
Merging r353480:
zmodem Feb 12, 2019
eb0faeb
Merging r353493:
zmodem Feb 12, 2019
a576b44
Merging r353402:
zmodem Feb 12, 2019
ae61627
Merging r351322:
zmodem Feb 12, 2019
33e2530
Merging r353656:
zmodem Feb 12, 2019
ef182d5
[WebAssembly] Backport custom import name changes for lld to 8.0.
zmodem Feb 12, 2019
16b7c08
[WebAssembly] Backport custom import name changes for clang to 8.0.
zmodem Feb 12, 2019
33a2b52
[WebAssembly] Backport custom import name changes for LLVM to 8.0.
zmodem Feb 12, 2019
2ebc272
Merge remote-tracking branch 'llvm/release/8.x' into rustc/8.0-2019-0…
alexcrichton Feb 12, 2019
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
18 changes: 1 addition & 17 deletions clang-tools-extra/clang-tidy/ClangTidy.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -529,24 +529,8 @@ runClangTidy(clang::tidy::ClangTidyContext &Context,
return AdjustedArgs;
};

// Remove plugins arguments.
ArgumentsAdjuster PluginArgumentsRemover =
[](const CommandLineArguments &Args, StringRef Filename) {
CommandLineArguments AdjustedArgs;
for (size_t I = 0, E = Args.size(); I < E; ++I) {
if (I + 4 < Args.size() && Args[I] == "-Xclang" &&
(Args[I + 1] == "-load" || Args[I + 1] == "-add-plugin" ||
StringRef(Args[I + 1]).startswith("-plugin-arg-")) &&
Args[I + 2] == "-Xclang") {
I += 3;
} else
AdjustedArgs.push_back(Args[I]);
}
return AdjustedArgs;
};

Tool.appendArgumentsAdjuster(PerFileExtraArgumentsInserter);
Tool.appendArgumentsAdjuster(PluginArgumentsRemover);
Tool.appendArgumentsAdjuster(getStripPluginsAdjuster());
Context.setEnableProfiling(EnableCheckProfile);
Context.setProfileStoragePrefix(StoreCheckProfile);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,8 @@ AST_MATCHER(CXXRecordDecl, hasMethods) {
return std::distance(Node.method_begin(), Node.method_end()) != 0;
}

AST_MATCHER(CXXRecordDecl, hasNonStaticMethod) {
return hasMethod(unless(isStaticStorageClass()))
AST_MATCHER(CXXRecordDecl, hasNonStaticNonImplicitMethod) {
return hasMethod(unless(anyOf(isStaticStorageClass(), isImplicit())))
.matches(Node, Finder, Builder);
}

Expand Down Expand Up @@ -67,10 +67,11 @@ void NonPrivateMemberVariablesInClassesCheck::registerMatchers(
IgnorePublicMemberVariables ? isProtected() : unless(isPrivate()));

// We only want the records that not only contain the mutable data (non-static
// member variables), but also have some logic (non-static member functions).
// We may optionally ignore records where all the member variables are public.
// member variables), but also have some logic (non-static, non-implicit
// member functions). We may optionally ignore records where all the member
// variables are public.
Finder->addMatcher(cxxRecordDecl(anyOf(isStruct(), isClass()), hasMethods(),
hasNonStaticMethod(),
hasNonStaticNonImplicitMethod(),
unless(ShouldIgnoreRecord),
forEach(InterestingField.bind("field")))
.bind("record"),
Expand Down
9 changes: 8 additions & 1 deletion clang-tools-extra/clang-tidy/modernize/AvoidCArraysCheck.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,12 @@ AST_MATCHER(clang::RecordDecl, isExternCContext) {
return Node.isExternCContext();
}

AST_MATCHER(clang::ParmVarDecl, isArgvOfMain) {
const clang::DeclContext *DC = Node.getDeclContext();
const auto *FD = llvm::dyn_cast<clang::FunctionDecl>(DC);
return FD ? FD->isMain() : false;
}

} // namespace

namespace clang {
Expand All @@ -44,7 +50,8 @@ void AvoidCArraysCheck::registerMatchers(MatchFinder *Finder) {

Finder->addMatcher(
typeLoc(hasValidBeginLoc(), hasType(arrayType()),
unless(anyOf(hasParent(varDecl(isExternC())),
unless(anyOf(hasParent(parmVarDecl(isArgvOfMain())),
hasParent(varDecl(isExternC())),
hasParent(fieldDecl(
hasParent(recordDecl(isExternCContext())))),
hasAncestor(functionDecl(isExternC())))))
Expand Down
3 changes: 2 additions & 1 deletion clang-tools-extra/clangd/ClangdLSPServer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -290,7 +290,8 @@ void ClangdLSPServer::onInitialize(const InitializeParams &Params,
if (UseDirBasedCDB)
BaseCDB = llvm::make_unique<DirectoryBasedGlobalCompilationDatabase>(
CompileCommandsDir);
CDB.emplace(BaseCDB.get(), Params.initializationOptions.fallbackFlags);
CDB.emplace(BaseCDB.get(), Params.initializationOptions.fallbackFlags,
ClangdServerOpts.ResourceDir);
Server.emplace(*CDB, FSProvider, static_cast<DiagnosticsConsumer &>(*this),
ClangdServerOpts);
applyConfiguration(Params.initializationOptions.ConfigSettings);
Expand Down
13 changes: 1 addition & 12 deletions clang-tools-extra/clangd/ClangdServer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,6 @@ namespace clang {
namespace clangd {
namespace {

std::string getStandardResourceDir() {
static int Dummy; // Just an address in this process.
return CompilerInvocation::GetResourcesPath("clangd", (void *)&Dummy);
}

class RefactoringResultCollector final
: public tooling::RefactoringResultConsumer {
public:
Expand Down Expand Up @@ -108,8 +103,6 @@ ClangdServer::ClangdServer(const GlobalCompilationDatabase &CDB,
DiagnosticsConsumer &DiagConsumer,
const Options &Opts)
: CDB(CDB), FSProvider(FSProvider),
ResourceDir(Opts.ResourceDir ? *Opts.ResourceDir
: getStandardResourceDir()),
DynamicIdx(Opts.BuildDynamicSymbolIndex
? new FileIndex(Opts.HeavyweightDynamicSymbolIndex)
: nullptr),
Expand Down Expand Up @@ -137,7 +130,7 @@ ClangdServer::ClangdServer(const GlobalCompilationDatabase &CDB,
AddIndex(Opts.StaticIndex);
if (Opts.BackgroundIndex) {
BackgroundIdx = llvm::make_unique<BackgroundIndex>(
Context::current().clone(), ResourceDir, FSProvider, CDB,
Context::current().clone(), FSProvider, CDB,
BackgroundIndexStorage::createDiskBackedStorageFactory(),
Opts.BackgroundIndexRebuildPeriodMs);
AddIndex(BackgroundIdx.get());
Expand Down Expand Up @@ -462,10 +455,6 @@ tooling::CompileCommand ClangdServer::getCompileCommand(PathRef File) {
llvm::Optional<tooling::CompileCommand> C = CDB.getCompileCommand(File);
if (!C) // FIXME: Suppress diagnostics? Let the user know?
C = CDB.getFallbackCommand(File);

// Inject the resource dir.
// FIXME: Don't overwrite it if it's already there.
C->CommandLine.push_back("-resource-dir=" + ResourceDir);
return std::move(*C);
}

Expand Down
4 changes: 3 additions & 1 deletion clang-tools-extra/clangd/ExpectedTypes.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,10 @@ static llvm::Optional<QualType>
typeOfCompletion(const CodeCompletionResult &R) {
auto *VD = dyn_cast_or_null<ValueDecl>(R.Declaration);
if (!VD)
return None; // We handle only variables and functions below.
return llvm::None; // We handle only variables and functions below.
auto T = VD->getType();
if (T.isNull())
return llvm::None;
if (auto FuncT = T->getAs<FunctionType>()) {
// Functions are a special case. They are completed as 'foo()' and we want
// to match their return type rather than the function type itself.
Expand Down
41 changes: 37 additions & 4 deletions clang-tools-extra/clangd/GlobalCompilationDatabase.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,36 @@

#include "GlobalCompilationDatabase.h"
#include "Logger.h"
#include "clang/Frontend/CompilerInvocation.h"
#include "clang/Tooling/ArgumentsAdjusters.h"
#include "clang/Tooling/CompilationDatabase.h"
#include "llvm/ADT/Optional.h"
#include "llvm/Support/FileSystem.h"
#include "llvm/Support/Path.h"

namespace clang {
namespace clangd {
namespace {

void adjustArguments(tooling::CompileCommand &Cmd,
llvm::StringRef ResourceDir) {
// Strip plugin related command line arguments. Clangd does
// not support plugins currently. Therefore it breaks if
// compiler tries to load plugins.
Cmd.CommandLine =
tooling::getStripPluginsAdjuster()(Cmd.CommandLine, Cmd.Filename);
// Inject the resource dir.
// FIXME: Don't overwrite it if it's already there.
if (!ResourceDir.empty())
Cmd.CommandLine.push_back(("-resource-dir=" + ResourceDir).str());
}

std::string getStandardResourceDir() {
static int Dummy; // Just an address in this process.
return CompilerInvocation::GetResourcesPath("clangd", (void *)&Dummy);
}

} // namespace

static std::string getFallbackClangPath() {
static int Dummy;
Expand Down Expand Up @@ -106,8 +130,11 @@ DirectoryBasedGlobalCompilationDatabase::getCDBForFile(
}

OverlayCDB::OverlayCDB(const GlobalCompilationDatabase *Base,
std::vector<std::string> FallbackFlags)
: Base(Base), FallbackFlags(std::move(FallbackFlags)) {
std::vector<std::string> FallbackFlags,
llvm::Optional<std::string> ResourceDir)
: Base(Base), ResourceDir(ResourceDir ? std::move(*ResourceDir)
: getStandardResourceDir()),
FallbackFlags(std::move(FallbackFlags)) {
if (Base)
BaseChanged = Base->watch([this](const std::vector<std::string> Changes) {
OnCommandChanged.broadcast(Changes);
Expand All @@ -116,16 +143,22 @@ OverlayCDB::OverlayCDB(const GlobalCompilationDatabase *Base,

llvm::Optional<tooling::CompileCommand>
OverlayCDB::getCompileCommand(PathRef File, ProjectInfo *Project) const {
llvm::Optional<tooling::CompileCommand> Cmd;
{
std::lock_guard<std::mutex> Lock(Mutex);
auto It = Commands.find(File);
if (It != Commands.end()) {
if (Project)
Project->SourceRoot = "";
return It->second;
Cmd = It->second;
}
}
return Base ? Base->getCompileCommand(File, Project) : None;
if (!Cmd && Base)
Cmd = Base->getCompileCommand(File, Project);
if (!Cmd)
return llvm::None;
adjustArguments(*Cmd, ResourceDir);
return Cmd;
}

tooling::CompileCommand OverlayCDB::getFallbackCommand(PathRef File) const {
Expand Down
5 changes: 4 additions & 1 deletion clang-tools-extra/clangd/GlobalCompilationDatabase.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@

#include "Function.h"
#include "Path.h"
#include "llvm/ADT/Optional.h"
#include "llvm/ADT/StringMap.h"
#include <memory>
#include <mutex>
Expand Down Expand Up @@ -98,7 +99,8 @@ class OverlayCDB : public GlobalCompilationDatabase {
// Base may be null, in which case no entries are inherited.
// FallbackFlags are added to the fallback compile command.
OverlayCDB(const GlobalCompilationDatabase *Base,
std::vector<std::string> FallbackFlags = {});
std::vector<std::string> FallbackFlags = {},
llvm::Optional<std::string> ResourceDir = llvm::None);

llvm::Optional<tooling::CompileCommand>
getCompileCommand(PathRef File, ProjectInfo * = nullptr) const override;
Expand All @@ -113,6 +115,7 @@ class OverlayCDB : public GlobalCompilationDatabase {
mutable std::mutex Mutex;
llvm::StringMap<tooling::CompileCommand> Commands; /* GUARDED_BY(Mut) */
const GlobalCompilationDatabase *Base;
std::string ResourceDir;
std::vector<std::string> FallbackFlags;
CommandChanged::Subscription BaseChanged;
};
Expand Down
10 changes: 4 additions & 6 deletions clang-tools-extra/clangd/index/Background.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -127,13 +127,12 @@ llvm::SmallString<128> getAbsolutePath(const tooling::CompileCommand &Cmd) {
} // namespace

BackgroundIndex::BackgroundIndex(
Context BackgroundContext, llvm::StringRef ResourceDir,
const FileSystemProvider &FSProvider, const GlobalCompilationDatabase &CDB,
Context BackgroundContext, const FileSystemProvider &FSProvider,
const GlobalCompilationDatabase &CDB,
BackgroundIndexStorage::Factory IndexStorageFactory,
size_t BuildIndexPeriodMs, size_t ThreadPoolSize)
: SwapIndex(llvm::make_unique<MemIndex>()), ResourceDir(ResourceDir),
FSProvider(FSProvider), CDB(CDB),
BackgroundContext(std::move(BackgroundContext)),
: SwapIndex(llvm::make_unique<MemIndex>()), FSProvider(FSProvider),
CDB(CDB), BackgroundContext(std::move(BackgroundContext)),
BuildIndexPeriodMs(BuildIndexPeriodMs),
SymbolsUpdatedSinceLastIndex(false),
IndexStorageFactory(std::move(IndexStorageFactory)),
Expand Down Expand Up @@ -230,7 +229,6 @@ void BackgroundIndex::enqueue(tooling::CompileCommand Cmd,
BackgroundIndexStorage *Storage) {
enqueueTask(Bind(
[this, Storage](tooling::CompileCommand Cmd) {
Cmd.CommandLine.push_back("-resource-dir=" + ResourceDir);
// We can't use llvm::StringRef here since we are going to
// move from Cmd during the call below.
const std::string FileName = Cmd.Filename;
Expand Down
5 changes: 1 addition & 4 deletions clang-tools-extra/clangd/index/Background.h
Original file line number Diff line number Diff line change
Expand Up @@ -68,9 +68,7 @@ class BackgroundIndex : public SwapIndex {
/// If BuildIndexPeriodMs is greater than 0, the symbol index will only be
/// rebuilt periodically (one per \p BuildIndexPeriodMs); otherwise, index is
/// rebuilt for each indexed file.
// FIXME: resource-dir injection should be hoisted somewhere common.
BackgroundIndex(Context BackgroundContext, llvm::StringRef ResourceDir,
const FileSystemProvider &,
BackgroundIndex(Context BackgroundContext, const FileSystemProvider &,
const GlobalCompilationDatabase &CDB,
BackgroundIndexStorage::Factory IndexStorageFactory,
size_t BuildIndexPeriodMs = 0,
Expand Down Expand Up @@ -99,7 +97,6 @@ class BackgroundIndex : public SwapIndex {
BackgroundIndexStorage *IndexStorage);

// configuration
std::string ResourceDir;
const FileSystemProvider &FSProvider;
const GlobalCompilationDatabase &CDB;
Context BackgroundContext;
Expand Down
Loading