summaryrefslogtreecommitdiffstats
path: root/clang/lib/Basic/SourceManager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Basic/SourceManager.cpp')
-rw-r--r--clang/lib/Basic/SourceManager.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/lib/Basic/SourceManager.cpp b/clang/lib/Basic/SourceManager.cpp
index 3ecab1d8c16..3fb52a100b9 100644
--- a/clang/lib/Basic/SourceManager.cpp
+++ b/clang/lib/Basic/SourceManager.cpp
@@ -1170,15 +1170,20 @@ bool SourceManager::isBeforeInTranslationUnit(SourceLocation LHS,
if (LOffs.first == ROffs.first)
return LOffs.second < ROffs.second;
+#if 0
// If we are comparing a source location with multiple locations in the same
// file, we get a big win by caching the result.
+ // FIXME: This caching is wrong, but I don't know enough about this code
+ // to immediately fix it. There are cases where passing the same input
+ // values to this method causes it to return different results.
if (LastLFIDForBeforeTUCheck == LOffs.first &&
LastRFIDForBeforeTUCheck == ROffs.first)
return LastResForBeforeTUCheck;
LastLFIDForBeforeTUCheck = LOffs.first;
LastRFIDForBeforeTUCheck = ROffs.first;
+#endif
// "Traverse" the include/instantiation stacks of both locations and try to
// find a common "ancestor".
OpenPOWER on IntegriCloud