================ @@ -5834,9 +5834,13 @@ bool ASTReader::readASTFileControlBlock( break; case INPUT_FILE: bool Overridden = static_cast<bool>(Record[3]); + size_t FilenameLen = ModuleDir.size() + Record[7] + 1; auto Filename = ResolveImportedPath(PathBuf, Blob, ModuleDir); + StringRef FilenameAsRequested = Filename->substr(0, FilenameLen); + StringRef ExternalFilename = Filename->substr(FilenameLen); ---------------- jansvoboda11 wrote:
Ok, got it. What's confusing to me is that `Filename` is essentially `"<ModuleDir>/<FilenameAsRequested><Filename>"`, which doesn't mean anything. And `ExternalFilename` is just `<Filename>`, which is unresolved. Why don't we split `Blob` like we do elsewhere (`Blob.substr(0, AsRequestedLength)` and `Blob.substr(AsRequestedLength)`) and call `ResolveImportedPath()` on both? https://github.com/llvm/llvm-project/pull/132237 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits