libclang: Execute clang_codeCompleteAt() inside a crash recovery context.
 - Test case is disabled for now, because something isn't write with file
   remapping.

llvm-svn: 111581
diff --git a/clang/tools/libclang/CIndex.cpp b/clang/tools/libclang/CIndex.cpp
index 8134971..27d5ab2 100644
--- a/clang/tools/libclang/CIndex.cpp
+++ b/clang/tools/libclang/CIndex.cpp
@@ -1221,7 +1221,7 @@
   unsigned options;
   CXTranslationUnit result;
 };
-void clang_parseTranslationUnit_Impl(void *UserData) {
+static void clang_parseTranslationUnit_Impl(void *UserData) {
   ParseTranslationUnitInfo *PTUI =
     static_cast<ParseTranslationUnitInfo*>(UserData);
   CXIndex CIdx = PTUI->CIdx;
@@ -1491,7 +1491,7 @@
   llvm::CrashRecoveryContext CRC;
 
   if (!CRC.RunSafely(clang_parseTranslationUnit_Impl, &PTUI)) {
-    // FIXME: Find a way to report the crash.
+    fprintf(stderr, "libclang: crash detected during parsing");
     return 0;
   }
 
@@ -1532,7 +1532,7 @@
   unsigned options;
   int result;
 };
-void clang_reparseTranslationUnit_Impl(void *UserData) {
+static void clang_reparseTranslationUnit_Impl(void *UserData) {
   ReparseTranslationUnitInfo *RTUI =
     static_cast<ReparseTranslationUnitInfo*>(UserData);
   CXTranslationUnit TU = RTUI->TU;
@@ -1567,7 +1567,7 @@
   llvm::CrashRecoveryContext CRC;
 
   if (!CRC.RunSafely(clang_reparseTranslationUnit_Impl, &RTUI)) {
-    // FIXME: Find a way to report the crash.
+    fprintf(stderr, "libclang: crash detected during reparsing\n");
     static_cast<ASTUnit *>(TU)->setUnsafeToFree(true);
     return 1;
   }