diff --git a/clang-tools-extra/clangd/ConfigCompile.cpp b/clang-tools-extra/clangd/ConfigCompile.cpp --- a/clang-tools-extra/clangd/ConfigCompile.cpp +++ b/clang-tools-extra/clangd/ConfigCompile.cpp @@ -63,7 +63,8 @@ std::vector> Conditions; // Mutations that this fragment will apply to the configuration. // These are invoked only if the conditions are satisfied. - std::vector> Apply; + std::vector> + Apply; bool operator()(const Params &P, Config &C) const { for (const auto &C : Conditions) { @@ -74,7 +75,7 @@ } dlog("Config fragment {0}: applying {1} rules", this, Apply.size()); for (const auto &A : Apply) - A(C); + A(P, C); return true; } }; @@ -211,7 +212,7 @@ for (auto &A : F.Remove) Remove->strip(*A); Out.Apply.push_back([Remove(std::shared_ptr( - std::move(Remove)))](Config &C) { + std::move(Remove)))](const Params &, Config &C) { C.CompileFlags.Edits.push_back( [Remove](std::vector &Args) { Remove->process(Args); @@ -223,7 +224,7 @@ std::vector Add; for (auto &A : F.Add) Add.push_back(std::move(*A)); - Out.Apply.push_back([Add(std::move(Add))](Config &C) { + Out.Apply.push_back([Add(std::move(Add))](const Params &, Config &C) { C.CompileFlags.Edits.push_back([Add](std::vector &Args) { Args.insert(Args.end(), Add.begin(), Add.end()); }); @@ -238,7 +239,8 @@ .map("Build", Config::BackgroundPolicy::Build) .map("Skip", Config::BackgroundPolicy::Skip) .value()) - Out.Apply.push_back([Val](Config &C) { C.Index.Background = *Val; }); + Out.Apply.push_back( + [Val](const Params &, Config &C) { C.Index.Background = *Val; }); } } @@ -253,7 +255,8 @@ FullyQualifiedNamespaces.push_back(Namespace.str()); } Out.Apply.push_back([FullyQualifiedNamespaces( - std::move(FullyQualifiedNamespaces))](Config &C) { + std::move(FullyQualifiedNamespaces))]( + const Params &, Config &C) { C.Style.FullyQualifiedNamespaces.insert( C.Style.FullyQualifiedNamespaces.begin(), FullyQualifiedNamespaces.begin(), FullyQualifiedNamespaces.end());