================
@@ -542,14 +580,27 @@ FileID SourceManager::createFileID(FileEntryRef
SourceFile,
SourceLocation::UIntTy LoadedOffset) {
SrcMgr::ContentCache &IR = getOrCreateContentCache(SourceFile,
isSystem(FileCharacter));
+ SrcMgr::ContentCache *Cache = &IR;
+ StringRef Filename = SourceFile.getName();
+
+ if (IR.OrigEntry && !IR.OrigEntry->isSameRef(SourceFile)) {
+ if (referencesDistinctFilePaths(getFileManager(), *IR.OrigEntry,
+ SourceFile)) {
+ Cache = cloneContentCache(ContentCacheAlloc, IR);
+ Cache->OrigEntry = SourceFile;
+ FileIDContentCaches.push_back(Cache);
+ } else {
+ Filename = IR.OrigEntry->getName();
----------------
jansvoboda11 wrote:
I'd rather not special-case Windows path separators here.
https://github.com/llvm/llvm-project/pull/189475
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits