================ @@ -1307,6 +1307,9 @@ void ModuleMap::setInferredModuleAllowedBy(Module *M, std::error_code ModuleMap::canonicalizeModuleMapPath(SmallVectorImpl<char> &Path) { + FileManager &FM = SourceMgr.getFileManager(); + FM.makeAbsolutePath(Path); ---------------- jansvoboda11 wrote:
> Is the idea that because the paths used by the scanner is now indirected > through the (implicit) pcm that whatever ASTWriter does to make the path > relative will apply to the explicit module invocation? No, because `ASTReader::ReadPath()` does the inverse of `ASTWriter::AddPath()`. I think we were both talking about different situations. You mean the explicit module invocations generated by the scanner? The canonical module map path would now be absolute. Previously, we'd generate relative paths for module maps found through a relative search paths, or besides includers that themselves were found through a relative path. I'd be curious about the use-case for this, can you elaborate? Is it being able to reuse the same invocation in directories with different paths, potentially on different machines? https://github.com/llvm/llvm-project/pull/66389 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits