]> granicus.if.org Git - clang/commitdiff
[libclang] for c-index-test, check for CINDEXTEST_FAILONERROR when doing -test-load...
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Sun, 13 Nov 2011 22:08:33 +0000 (22:08 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Sun, 13 Nov 2011 22:08:33 +0000 (22:08 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144509 91177308-0d34-0410-b5e6-96231b3b80d8

tools/c-index-test/c-index-test.c

index ac2ab4fdd97c873b04cf483af54d0c705e664d6e..8ab7f9410d9092c6700f5c6a7099445ace4b1532 100644 (file)
@@ -45,6 +45,8 @@ static unsigned getDefaultParsingOptions() {
   return options;
 }
 
+static int checkForErrors(CXTranslationUnit TU);
+
 static void PrintExtent(FILE *out, unsigned begin_line, unsigned begin_column,
                         unsigned end_line, unsigned end_column) {
   fprintf(out, "[%d:%d - %d:%d]", begin_line, begin_column,
@@ -802,6 +804,9 @@ int perform_test_reparse_source(int argc, const char **argv, int trials,
     return 1;
   }
   
+  if (checkForErrors(TU) != 0)
+    return -1;
+
   if (getenv("CINDEXTEST_REMAP_AFTER_TRIAL")) {
     remap_after_trial =
         strtol(getenv("CINDEXTEST_REMAP_AFTER_TRIAL"), &endptr, 10);
@@ -818,9 +823,16 @@ int perform_test_reparse_source(int argc, const char **argv, int trials,
       clang_disposeIndex(Idx);
       return -1;      
     }
+
+    if (checkForErrors(TU) != 0)
+      return -1;
   }
   
   result = perform_test_load(Idx, TU, filter, NULL, Visitor, PV);
+
+  if (checkForErrors(TU) != 0)
+    return -1;
+
   free_remapped_files(unsaved_files, num_unsaved_files);
   clang_disposeIndex(Idx);
   return result;