Switch USR generation to use file offsets instead of line/columns for anonymous symbols. Fixes <rdar://problem/8221557>.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@109095 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/libclang/CIndexUSRs.cpp b/tools/libclang/CIndexUSRs.cpp
index e98fd26..602a0c7 100644
--- a/tools/libclang/CIndexUSRs.cpp
+++ b/tools/libclang/CIndexUSRs.cpp
@@ -368,10 +368,10 @@
IgnoreResults = true;
return true;
}
- Out << '@'
- << SM.getLineNumber(Decomposed.first, Decomposed.second) << ':'
- << SM.getColumnNumber(Decomposed.first, Decomposed.second);
-
+ // Use the offest into the FileID to represent the location. Using
+ // a line/column can cause us to look back at the original source file,
+ // which is expensive.
+ Out << '@' << Decomposed.second;
return IgnoreResults;
}