]> granicus.if.org Git - clang/commitdiff
c-index-test's printing of linkage was completely broken, as was the
authorDouglas Gregor <dgregor@apple.com>
Thu, 4 Mar 2010 19:36:27 +0000 (19:36 +0000)
committerDouglas Gregor <dgregor@apple.com>
Thu, 4 Mar 2010 19:36:27 +0000 (19:36 +0000)
test of this functionality. The API worked great, though! :)

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@97736 91177308-0d34-0410-b5e6-96231b3b80d8

test/Index/linkage.c
tools/c-index-test/c-index-test.c

index b597c263a03c8143459ed3243fab863f90a252dc..d1f1c5bca541fdfad1fb0df55cbd3d9eac37eee4 100644 (file)
@@ -9,15 +9,18 @@ void bar(int y) {
   int k;
 }
 extern int n;
+static int wibble(int);
 
 // CHECK: EnumDecl=Baz:3:6 (Definition)linkage=External
 // CHECK: EnumConstantDecl=Qux:3:12 (Definition)linkage=External
 // CHECK: VarDecl=x:4:5linkage=External
 // CHECK: FunctionDecl=foo:5:6linkage=External
-// CHECK: VarDecl=w:6:12linkage=External
+// CHECK: VarDecl=w:6:12linkage=Internal
 // CHECK: FunctionDecl=bar:7:6 (Definition)linkage=External
-// CHECK: ParmDecl=y:7:14 (Definition)linkage=External
-// CHECK: VarDecl=z:8:14 (Definition)linkage=External
-// CHECK: VarDecl=k:9:7 (Definition)linkage=External
-// CHECK: VarDecl=n:11:12
+// CHECK: ParmDecl=y:7:14 (Definition)linkage=NoLinkage
+// CHECK: VarDecl=z:8:14 (Definition)linkage=NoLinkage
+// CHECK: VarDecl=k:9:7 (Definition)linkage=NoLinkage
+// CHECK: VarDecl=n:11:12linkage=External
+// CHECK: FunctionDecl=wibble:12:12linkage=Internal
+// CHECL: ParmDecl=:12:22 (Definition)linkage=NoLinkage
 
index 967afb76343026458ded233a4df14d77ef7e9188..38c8811ab81ede44680ef4ffc4ce5960c6a60e0b 100644 (file)
@@ -431,10 +431,10 @@ static enum CXChildVisitResult PrintLinkage(CXCursor cursor, CXCursor p,
 
   switch (clang_getCursorLinkage(cursor)) {
     case CXLinkage_Invalid: break;
-    case CXLinkage_NoLinkage: linkage = "NoLinkage";
-    case CXLinkage_Internal: linkage = "Internal";
-    case CXLinkage_UniqueExternal: linkage = "UniqueExternal";
-    case CXLinkage_External: linkage = "External";
+    case CXLinkage_NoLinkage: linkage = "NoLinkage"; break;
+    case CXLinkage_Internal: linkage = "Internal"; break;
+    case CXLinkage_UniqueExternal: linkage = "UniqueExternal"; break;
+    case CXLinkage_External: linkage = "External"; break;
   }
 
   if (linkage) {