Add clang_getNullCursor() and clang_equalCursors() (the latter for comparing cursors).


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89131 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/clang-c/Index.h b/include/clang-c/Index.h
index ccdddf6..85f7a6a 100644
--- a/include/clang-c/Index.h
+++ b/include/clang-c/Index.h
@@ -294,6 +294,8 @@
  */
 CINDEX_LINKAGE CXCursor clang_getCursor(CXTranslationUnit, const char *source_name, 
                          unsigned line, unsigned column);
+                         
+CINDEX_LINKAGE CXCursor clang_getNullCursor(void);
 
 CINDEX_LINKAGE enum CXCursorKind clang_getCursorKind(CXCursor);
 CINDEX_LINKAGE unsigned clang_isDeclaration(enum CXCursorKind);
@@ -301,6 +303,8 @@
 CINDEX_LINKAGE unsigned clang_isDefinition(enum CXCursorKind);
 CINDEX_LINKAGE unsigned clang_isInvalid(enum CXCursorKind);
 
+CINDEX_LINKAGE unsigned clang_equalCursors(CXCursor, CXCursor);
+
 CINDEX_LINKAGE unsigned clang_getCursorLine(CXCursor);
 CINDEX_LINKAGE unsigned clang_getCursorColumn(CXCursor);
 CINDEX_LINKAGE CXString clang_getCursorSpelling(CXCursor);
diff --git a/tools/CIndex/CIndex.cpp b/tools/CIndex/CIndex.cpp
index 2e0eafe..ebdba29 100644
--- a/tools/CIndex/CIndex.cpp
+++ b/tools/CIndex/CIndex.cpp
@@ -875,6 +875,18 @@
   return C;
 }
 
+CXCursor clang_getNullCursor(void) {
+  CXCursor C;
+  C.kind = CXCursor_InvalidFile;
+  C.decl = NULL;
+  C.stmt = NULL;
+  return C;
+}
+
+unsigned clang_equalCursors(CXCursor X, CXCursor Y) {
+  return X.kind == Y.kind && X.decl == Y.decl && X.stmt == Y.stmt;
+}
+  
 CXCursor clang_getCursorFromDecl(CXDecl AnonDecl)
 {
   assert(AnonDecl && "Passed null CXDecl");
diff --git a/tools/CIndex/CIndex.exports b/tools/CIndex/CIndex.exports
index df94c6a..2892ce5 100644
--- a/tools/CIndex/CIndex.exports
+++ b/tools/CIndex/CIndex.exports
@@ -5,6 +5,7 @@
 _clang_disposeIndex
 _clang_disposeString
 _clang_disposeTranslationUnit
+_clang_equalCursors
 _clang_getCompletionChunkCompletionString
 _clang_getCompletionChunkKind
 _clang_getCompletionChunkText
@@ -30,6 +31,7 @@
 _clang_getEntityFromDecl
 _clang_getFileName
 _clang_getFileTime
+_clang_getNullCursor
 _clang_getNumCompletionChunks
 _clang_getTranslationUnitSpelling
 _clang_getURI