Author: kremenek
Date: Thu Jul 22 06:14:15 2010
New Revision: 109095
URL: http://llvm.org/viewvc/llvm-project?rev=109095&view=rev
Log:
Switch USR generation to use file offsets instead of line/columns for anonymous
symbols. Fixes <rdar://problem/8221557>.
Modified:
cfe/trunk/test/Index/usrs.m
cfe/trunk/tools/libclang/CIndexUSRs.cpp
Modified: cfe/trunk/test/Index/usrs.m
URL:
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Index/usrs.m?rev=109095&r1=109094&r2=109095&view=diff
==============================================================================
--- cfe/trunk/test/Index/usrs.m (original)
+++ cfe/trunk/test/Index/usrs.m Thu Jul 22 06:14:15 2010
@@ -57,19 +57,19 @@
@implementation CWithExt
@end
-// CHECK: usrs.m c:usr...@3:1...@f@my_helper Extent=[3:19 - 3:60]
-// CHECK: usrs.m c:usr...@3:2...@f@my_hel...@x Extent=[3:29 - 3:34]
-// CHECK: usrs.m c:usr...@3:3...@f@my_hel...@y Extent=[3:36 - 3:41]
-// CHECK: usrs.m c:usr...@5:1...@ea Extent=[5:1 - 8:2]
-// CHECK: usrs.m c:usr...@5:1...@ea@ABA Extent=[6:3 - 6:6]
-// CHECK: usrs.m c:usr...@5:1...@ea@CADABA Extent=[7:3 - 7:9]
-// CHECK: usrs.m c:usr...@10:1...@ea Extent=[10:1 - 13:2]
-// CHECK: usrs.m c:usr...@10:1...@ea@FOO Extent=[11:3 - 11:6]
-// CHECK: usrs.m c:usr...@10:1...@ea@BAR Extent=[12:3 - 12:6]
+// CHECK: usrs.m c:usr...@85@f...@my_helper Extent=[3:19 - 3:60]
+// CHECK: usrs.m c:usr...@95@f...@my_helper@x Extent=[3:29 - 3:34]
+// CHECK: usrs.m c:usr...@102@f...@my_helper@y Extent=[3:36 - 3:41]
+// CHECK: usrs.m c:usr...@128@Ea Extent=[5:1 - 8:2]
+// CHECK: usrs.m c:usr...@128@e...@aba Extent=[6:3 - 6:6]
+// CHECK: usrs.m c:usr...@128@e...@cadaba Extent=[7:3 - 7:9]
+// CHECK: usrs.m c:usr...@155@Ea Extent=[10:1 - 13:2]
+// CHECK: usrs.m c:usr...@155@e...@foo Extent=[11:3 - 11:6]
+// CHECK: usrs.m c:usr...@155@e...@bar Extent=[12:3 - 12:6]
// CHECK: usrs.m c:@s...@mystruct Extent=[15:9 - 18:2]
// CHECK: usrs.m c:@s...@mystruct@f...@wa Extent=[16:7 - 16:9]
// CHECK: usrs.m c:@s...@mystruct@f...@moo Extent=[17:7 - 17:10]
-// CHECK: usrs.m c:usr...@18:3...@t@MyStruct Extent=[18:3 - 18:11]
+// CHECK: usrs.m c:usr...@219@t...@mystruct Extent=[18:3 - 18:11]
// CHECK: usrs.m c:@e...@pizza Extent=[20:1 - 23:2]
// CHECK: usrs.m c:@e...@pizza@CHEESE Extent=[21:3 - 21:9]
// CHECK: usrs.m c:@e...@pizza@MUSHROOMS Extent=[22:3 - 22:12]
@@ -81,21 +81,22 @@
// CHECK: usrs.m c:objc(cs)Foo(cm)kingkong Extent=[30:1 - 30:17]
// CHECK: usrs.m c:objc(cs)Foo(im)d1 Extent=[31:15 - 31:17]
// CHECK: usrs.m c:objc(cs)Foo(im)setD1: Extent=[31:15 - 31:17]
-// CHECK: usrs.m c:usr...@31:15objc(cs)Foo(im)setD1:@d1 Extent=[31:15 - 31:17]
+// CHECK: usrs.m c:usr...@352objc(cs)Foo(im)setD1:@d1 Extent=[31:15 - 31:17]
// CHECK: usrs.m c:objc(cs)Foo Extent=[34:1 - 45:2]
// CHECK: usrs.m c:objc(cs)Foo(im)godzilla Extent=[35:1 - 39:2]
-// CHECK: usrs.m c:usr...@36:10objc(cs)Foo(im)godzi...@a Extent=[36:10 - 36:19]
+// CHECK: usrs.m c:usr...@409objc(cs)Foo(im)godzi...@a Extent=[36:10 - 36:19]
// CHECK: usrs.m c:objc(cs)Foo(im)godzi...@z Extent=[37:10 - 37:15]
// CHECK: usrs.m c:objc(cs)Foo(cm)kingkong Extent=[40:1 - 43:2]
-// CHECK: usrs.m c:usr...@41:3objc(cs)Foo(cm)kingk...@local_var Extent=[41:3 -
41:16]
+// CHECK: usrs.m c:usr...@470objc(cs)Foo(cm)kingk...@local_var Extent=[41:3 -
41:16]
// CHECK: usrs.m c:objc(cs)f...@d1 Extent=[44:13 - 44:15]
// CHECK: usrs.m c:objc(cs)Foo(py)d1 Extent=[44:1 - 44:15]
// CHECK: usrs.m c:@z Extent=[47:1 - 47:6]
-// CHECK: usrs.m c:usr...@49:1...@f@local_func Extent=[49:12 - 49:43]
-// CHECK: usrs.m c:usr...@49:2...@f@local_f...@x Extent=[49:23 - 49:28]
+// CHECK: usrs.m c:usr...@540@f...@local_func Extent=[49:12 - 49:43]
+// CHECK: usrs.m c:usr...@551@f...@local_func@x Extent=[49:23 - 49:28]
// CHECK: usrs.m c:objc(cs)CWithExt Extent=[51:1 - 52:5]
// CHECK: usrs.m c:objc(cy)CWithExt@ Extent=[53:1 - 54:5]
// CHECK: usrs.m c:objc(cy)CWithExt@ Extent=[55:1 - 56:5]
// CHECK: usrs.m c:objc(cs)CWithExt Extent=[57:1 - 58:2]
+
Modified: cfe/trunk/tools/libclang/CIndexUSRs.cpp
URL:
http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/CIndexUSRs.cpp?rev=109095&r1=109094&r2=109095&view=diff
==============================================================================
--- cfe/trunk/tools/libclang/CIndexUSRs.cpp (original)
+++ cfe/trunk/tools/libclang/CIndexUSRs.cpp Thu Jul 22 06:14:15 2010
@@ -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;
}
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits