[cfe-commits] r121247 - in /cfe/trunk: test/Index/annotate-tokens.cpp tools/libclang/CIndex.cpp

Francois Pichet pichet2000 at gmail.com
Wed Dec 8 01:11:05 PST 2010


Author: fpichet
Date: Wed Dec  8 03:11:05 2010
New Revision: 121247

URL: http://llvm.org/viewvc/llvm-project?rev=121247&view=rev
Log:
Fix bug where annotate tokens was not working for BinaryTypeTraitExpr.
CIndex's EnqueueVisitor must visit elements backward apparently.

Modified:
    cfe/trunk/test/Index/annotate-tokens.cpp
    cfe/trunk/tools/libclang/CIndex.cpp

Modified: cfe/trunk/test/Index/annotate-tokens.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Index/annotate-tokens.cpp?rev=121247&r1=121246&r2=121247&view=diff
==============================================================================
--- cfe/trunk/test/Index/annotate-tokens.cpp (original)
+++ cfe/trunk/test/Index/annotate-tokens.cpp Wed Dec  8 03:11:05 2010
@@ -1,9 +1,10 @@
 struct bonk { };
 void test(bonk X) {
     X = X;
+    __is_base_of(bonk, bonk);
 }
 
-// RUN: c-index-test -test-annotate-tokens=%s:1:1:5:5 %s | FileCheck %s
+// RUN: c-index-test -test-annotate-tokens=%s:1:1:6:5 %s | FileCheck %s
 // CHECK: Keyword: "struct" [1:1 - 1:7] StructDecl=bonk:1:8 (Definition)
 // CHECK: Identifier: "bonk" [1:8 - 1:12] StructDecl=bonk:1:8 (Definition)
 // CHECK: Punctuation: "{" [1:13 - 1:14] StructDecl=bonk:1:8 (Definition)
@@ -20,4 +21,11 @@
 // CHECK: Punctuation: "=" [3:7 - 3:8] CallExpr=operator=:1:8
 // CHECK: Identifier: "X" [3:9 - 3:10] DeclRefExpr=X:2:16
 // CHECK: Punctuation: ";" [3:10 - 3:11] UnexposedStmt=
-// CHECK: Punctuation: "}" [4:1 - 4:2] UnexposedStmt=
+// CHECK: Keyword: "__is_base_of" [4:5 - 4:17] UnexposedExpr=
+// CHECK: Punctuation: "(" [4:17 - 4:18] UnexposedExpr=
+// CHECK: Identifier: "bonk" [4:18 - 4:22] TypeRef=struct bonk:1:8
+// CHECK: Punctuation: "," [4:22 - 4:23] UnexposedExpr=
+// CHECK: Identifier: "bonk" [4:24 - 4:28] TypeRef=struct bonk:1:8
+// CHECK: Punctuation: ")" [4:28 - 4:29] UnexposedExpr=
+// CHECK: Punctuation: ";" [4:29 - 4:30] UnexposedStmt=
+// CHECK: Punctuation: "}" [5:1 - 5:2] UnexposedStmt=
\ No newline at end of file

Modified: cfe/trunk/tools/libclang/CIndex.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/CIndex.cpp?rev=121247&r1=121246&r2=121247&view=diff
==============================================================================
--- cfe/trunk/tools/libclang/CIndex.cpp (original)
+++ cfe/trunk/tools/libclang/CIndex.cpp Wed Dec  8 03:11:05 2010
@@ -1893,8 +1893,8 @@
 }
 
 void EnqueueVisitor::VisitBinaryTypeTraitExpr(BinaryTypeTraitExpr *E) {
-  AddTypeLoc(E->getLhsTypeSourceInfo());
   AddTypeLoc(E->getRhsTypeSourceInfo());
+  AddTypeLoc(E->getLhsTypeSourceInfo());
 }
 
 void EnqueueVisitor::VisitUnresolvedMemberExpr(UnresolvedMemberExpr *U) {





More information about the cfe-commits mailing list