[cfe-commits] r109095 - in /cfe/trunk: test/Index/usrs.m tools/libclang/CIndexUSRs.cpp

Ted Kremenek kremenek at apple.com
Thu Jul 22 04:14:15 PDT 2010


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:usrs.m at 3:19 at F@my_helper Extent=[3:19 - 3:60]
-// CHECK: usrs.m c:usrs.m at 3:29 at F@my_helper at x Extent=[3:29 - 3:34]
-// CHECK: usrs.m c:usrs.m at 3:36 at F@my_helper at y Extent=[3:36 - 3:41]
-// CHECK: usrs.m c:usrs.m at 5:1 at Ea Extent=[5:1 - 8:2]
-// CHECK: usrs.m c:usrs.m at 5:1 at Ea@ABA Extent=[6:3 - 6:6]
-// CHECK: usrs.m c:usrs.m at 5:1 at Ea@CADABA Extent=[7:3 - 7:9]
-// CHECK: usrs.m c:usrs.m at 10:1 at Ea Extent=[10:1 - 13:2]
-// CHECK: usrs.m c:usrs.m at 10:1 at Ea@FOO Extent=[11:3 - 11:6]
-// CHECK: usrs.m c:usrs.m at 10:1 at Ea@BAR Extent=[12:3 - 12:6]
+// CHECK: usrs.m c:usrs.m at 85@F at my_helper Extent=[3:19 - 3:60]
+// CHECK: usrs.m c:usrs.m at 95@F at my_helper@x Extent=[3:29 - 3:34]
+// CHECK: usrs.m c:usrs.m at 102@F at my_helper@y Extent=[3:36 - 3:41]
+// CHECK: usrs.m c:usrs.m at 128@Ea Extent=[5:1 - 8:2]
+// CHECK: usrs.m c:usrs.m at 128@Ea at ABA Extent=[6:3 - 6:6]
+// CHECK: usrs.m c:usrs.m at 128@Ea at CADABA Extent=[7:3 - 7:9]
+// CHECK: usrs.m c:usrs.m at 155@Ea Extent=[10:1 - 13:2]
+// CHECK: usrs.m c:usrs.m at 155@Ea at FOO Extent=[11:3 - 11:6]
+// CHECK: usrs.m c:usrs.m at 155@Ea at BAR Extent=[12:3 - 12:6]
 // CHECK: usrs.m c:@SA at MyStruct Extent=[15:9 - 18:2]
 // CHECK: usrs.m c:@SA at MyStruct@FI at wa Extent=[16:7 - 16:9]
 // CHECK: usrs.m c:@SA at MyStruct@FI at moo Extent=[17:7 - 17:10]
-// CHECK: usrs.m c:usrs.m at 18:3 at T@MyStruct Extent=[18:3 - 18:11]
+// CHECK: usrs.m c:usrs.m at 219@T at MyStruct Extent=[18:3 - 18:11]
 // CHECK: usrs.m c:@E at Pizza Extent=[20:1 - 23:2]
 // CHECK: usrs.m c:@E at Pizza@CHEESE Extent=[21:3 - 21:9]
 // CHECK: usrs.m c:@E at 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:usrs.m at 31:15objc(cs)Foo(im)setD1:@d1 Extent=[31:15 - 31:17]
+// CHECK: usrs.m c:usrs.m at 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:usrs.m at 36:10objc(cs)Foo(im)godzilla at a Extent=[36:10 - 36:19]
+// CHECK: usrs.m c:usrs.m at 409objc(cs)Foo(im)godzilla at a Extent=[36:10 - 36:19]
 // CHECK: usrs.m c:objc(cs)Foo(im)godzilla at z Extent=[37:10 - 37:15]
 // CHECK: usrs.m c:objc(cs)Foo(cm)kingkong Extent=[40:1 - 43:2]
-// CHECK: usrs.m c:usrs.m at 41:3objc(cs)Foo(cm)kingkong at local_var Extent=[41:3 - 41:16]
+// CHECK: usrs.m c:usrs.m at 470objc(cs)Foo(cm)kingkong at local_var Extent=[41:3 - 41:16]
 // CHECK: usrs.m c:objc(cs)Foo at 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:usrs.m at 49:12 at F@local_func Extent=[49:12 - 49:43]
-// CHECK: usrs.m c:usrs.m at 49:23 at F@local_func at x Extent=[49:23 - 49:28]
+// CHECK: usrs.m c:usrs.m at 540@F at local_func Extent=[49:12 - 49:43]
+// CHECK: usrs.m c:usrs.m at 551@F at 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;
 }
 





More information about the cfe-commits mailing list