diff --git a/clang/lib/Basic/SourceManager.cpp b/clang/lib/Basic/SourceManager.cpp index dfd2a1baf4e6..0de5129a358f 100644 --- a/clang/lib/Basic/SourceManager.cpp +++ b/clang/lib/Basic/SourceManager.cpp @@ -2043,7 +2043,7 @@ bool SourceManager::isBeforeInTranslationUnit(SourceLocation LHS, // is a serialized one referring to a file that was removed after we loaded // the PCH. if (LOffs.first.isInvalid() || ROffs.first.isInvalid()) - return LOffs.first.isInvalid(); + return LOffs.first.isInvalid() && !ROffs.first.isInvalid(); // If the source locations are in the same file, just compare offsets. if (LOffs.first == ROffs.first)