// RUN: c-index-test -test-load-source local %s 2>&1 | FileCheck %s
+// <rdar://problem/9123493>
+void test() {
+ goto exit;
+}
+
int foo;
int
-// CHECK: cindex-on-invalid.m:6:70: error: expected identifier or '('
\ No newline at end of file
+// CHECK: cindex-on-invalid.m:5:8: error: use of undeclared label 'exit'
+// CHECK: cindex-on-invalid.m:13:1: error: expected identifier or '('
+
if (clang_isStatement(C.kind)) {
Stmt *S = getCursorStmt(C);
if (GotoStmt *Goto = dyn_cast_or_null<GotoStmt>(S))
- return MakeCXCursor(Goto->getLabel()->getStmt(), getCursorDecl(C), tu);
+ if (LabelDecl *label = Goto->getLabel())
+ if (LabelStmt *labelS = label->getStmt())
+ return MakeCXCursor(labelS, getCursorDecl(C), tu);
return clang_getNullCursor();
}