================
@@ -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

Reply via email to