[clang-tools-extra] [clangd] Support .clangd command line modifications for C++ modules (PR #122606)

kadir çetinkaya via cfe-commits cfe-commits at lists.llvm.org
Fri Jan 17 06:02:04 PST 2025


================
@@ -191,6 +211,29 @@ export module M;
   EXPECT_TRUE(MInfo->canReuse(*Invocation, FS.view(TestDir)));
 }
 
+TEST_F(PrerequisiteModulesTests, ModuleWithArgumentPatch) {
+  MockDirectoryCompilationDatabase CDB(TestDir, FS);
+
+  CDB.addExtraClangFlag("-invalid-unknown-flag");
+
+  CDB.addFile("Dep.cppm", R"cpp(
+export module Dep;
+  )cpp");
+
+  CDB.addFile("M.cppm", R"cpp(
+export module M;
+import Dep;
+  )cpp");
+
+  auto ProjectModules = CDB.getProjectModules(getFullPath("M.cppm"));
+  EXPECT_TRUE(
+      ProjectModules->getRequiredModules(getFullPath("M.cppm")).empty());
+
+  CDB.addExcludedFlag("-invalid-unknown-flag");
----------------
kadircet wrote:

instead of adding a new method/field to test fixture, i'd just call `ProjectModules.setCommandProvider` here.

https://github.com/llvm/llvm-project/pull/122606


More information about the cfe-commits mailing list