libclang: Add clang_executeOnThread, for use in c-index-test (and only there,
preferably). Good thing c-index-test is written in C!!!!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@118223 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/include/clang-c/Index.h b/include/clang-c/Index.h
index 20c8c11..96b4088 100644
--- a/include/clang-c/Index.h
+++ b/include/clang-c/Index.h
@@ -2208,6 +2208,9 @@
                                           unsigned *endLine,
                                           unsigned *endColumn);
 CINDEX_LINKAGE void clang_enableStackTraces(void);
+CINDEX_LINKAGE void clang_executeOnThread(void (*fn)(void*), void *user_data,
+                                          unsigned stack_size);
+
 /**
  * @}
  */
diff --git a/tools/libclang/CIndex.cpp b/tools/libclang/CIndex.cpp
index 3afe300..0d660da 100644
--- a/tools/libclang/CIndex.cpp
+++ b/tools/libclang/CIndex.cpp
@@ -3562,6 +3562,11 @@
   llvm::sys::PrintStackTraceOnErrorSignal();
 }
 
+void clang_executeOnThread(void (*fn)(void*), void *user_data,
+                           unsigned stack_size) {
+  llvm::llvm_execute_on_thread(fn, user_data, stack_size);
+}
+
 } // end: extern "C"
 
 //===----------------------------------------------------------------------===//
diff --git a/tools/libclang/libclang.darwin.exports b/tools/libclang/libclang.darwin.exports
index e9d40d0..7d5ae8b 100644
--- a/tools/libclang/libclang.darwin.exports
+++ b/tools/libclang/libclang.darwin.exports
@@ -25,6 +25,7 @@
 _clang_disposeTokens
 _clang_disposeTranslationUnit
 _clang_enableStackTraces
+_clang_executeOnThread
 _clang_equalCursors
 _clang_equalLocations
 _clang_equalTypes
diff --git a/tools/libclang/libclang.exports b/tools/libclang/libclang.exports
index fd96be3..da7f9c8 100644
--- a/tools/libclang/libclang.exports
+++ b/tools/libclang/libclang.exports
@@ -25,6 +25,7 @@
 clang_disposeTokens
 clang_disposeTranslationUnit
 clang_enableStackTraces
+clang_executeOnThread
 clang_equalCursors
 clang_equalLocations
 clang_equalTypes