Close https://github.com/llvm/llvm-project/issues/60486.
When I look back at this problem again, it only appears if we specify it
with `-fmodule-file=<BMI-path>`. And it disappears after we specify it
as `-fmodule-file=<module-name>=<BMI-path>`. Since we want to depreacate
the form `-fmodule-file=<BMI-path>`, we can think the problem goes
away.
--- /dev/null
+// Address: https://github.com/llvm/llvm-project/issues/60486
+//
+// RUN: rm -rf %t
+// RUN: mkdir -p %t
+// RUN: split-file %s %t
+//
+// RUN: %clang_cc1 -std=c++20 %t/a.cppm -emit-module-interface -o %t/a.pcm
+// RUN: %clang_cc1 -std=c++20 -fmodule-file=a=%t/a.pcm %t/b.cppm -fsyntax-only -verify
+
+//--- foo.h
+template<typename = void>
+struct s {
+};
+
+template<typename>
+concept c = requires { s{}; };
+
+//--- a.cppm
+module;
+#include "foo.h"
+export module a;
+
+//--- b.cppm
+// expected-no-diagnostics
+module;
+#include "foo.h"
+export module b;
+import a;