The test case otherwise fails an assertion in Diagnostic::getArgKind():
clang++: /home/tbaeder/code/llvm-project/clang/include/clang/Basic/Diagnostic.h:1571: clang::DiagnosticsEngine::ArgumentKind clang::Diagnostic::getArgKind(unsigned int) const: Assertion `Idx < getNumArgs() && "Argument index out of range!"' failed. PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash backtrace, preprocessed source, and associated run script. Stack dump: 0. Program arguments: bin/clang++ module_import.cpp -std=c++20 -fmodules -fimplicit-module-maps -I. -stdlib=libc++ -fsyntax-only 1. module_import.cpp:1:20: current parser token ';' ...
Also, does this test require -fmodules-cache-path=%t or -fimplicit-module-maps?