[clang-tools-extra] [clangd] Support .clangd command line modifications for C++ modules (PR #122606)
Mikael Holmén via cfe-commits
cfe-commits at lists.llvm.org
Wed Jan 22 04:22:18 PST 2025
================
@@ -830,6 +830,16 @@ bool OverlayCDB::setCompileCommand(PathRef File,
return true;
}
+std::unique_ptr<ProjectModules>
+OverlayCDB::getProjectModules(PathRef File) const {
+ auto MDB = DelegatingCDB::getProjectModules(File);
+ MDB->setCommandMangler([&Mangler = Mangler](tooling::CompileCommand &Command,
+ PathRef CommandPath) {
+ Mangler(Command, CommandPath);
+ });
+ return std::move(MDB);
----------------
mikaelholmen wrote:
Hi @petr-polezhaev
I see that clang (18.1.8) complains on this move:
```
12:29:43 ../llvm-project/clang-tools-extra/clangd/GlobalCompilationDatabase.cpp:840:10: error: moving a local object in a return statement prevents copy elision [-Werror,-Wpessimizing-move]
12:29:43 840 | return std::move(MDB);
12:29:43 | ^
12:29:43 ../llvm-project/clang-tools-extra/clangd/GlobalCompilationDatabase.cpp:840:10: note: remove std::move call here
12:29:43 840 | return std::move(MDB);
12:29:43 | ^~~~~~~~~~ ~
12:29:43 1 error generated.
```
https://github.com/llvm/llvm-project/pull/122606
More information about the cfe-commits
mailing list