summaryrefslogtreecommitdiffstats
path: root/tools/c-index-test/c-index-test.c
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2016-01-06 20:02:26 +0000
committerdim <dim@FreeBSD.org>2016-01-06 20:02:26 +0000
commitfc74ff5a0792641885551a63d9ddf8cbfdf76e3c (patch)
tree955a1295c3fd4378a49478ad5835ca21b769417e /tools/c-index-test/c-index-test.c
parent3176e97f130184ece0e1a21352c8124cc83ff24a (diff)
downloadFreeBSD-src-fc74ff5a0792641885551a63d9ddf8cbfdf76e3c.zip
FreeBSD-src-fc74ff5a0792641885551a63d9ddf8cbfdf76e3c.tar.gz
Vendor import of clang trunk r256945:
https://llvm.org/svn/llvm-project/cfe/trunk@256945
Diffstat (limited to 'tools/c-index-test/c-index-test.c')
-rw-r--r--tools/c-index-test/c-index-test.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/tools/c-index-test/c-index-test.c b/tools/c-index-test/c-index-test.c
index 48f22eb..8336491 100644
--- a/tools/c-index-test/c-index-test.c
+++ b/tools/c-index-test/c-index-test.c
@@ -1593,6 +1593,8 @@ int perform_test_load_source(int argc, const char **argv,
int num_unsaved_files = 0;
enum CXErrorCode Err;
int result;
+ unsigned Repeats = 0;
+ unsigned I;
Idx = clang_createIndex(/* excludeDeclsFromPCH */
(!strcmp(filter, "local") ||
@@ -1609,6 +1611,9 @@ int perform_test_load_source(int argc, const char **argv,
return -1;
}
+ if (getenv("CINDEXTEST_EDITING"))
+ Repeats = 5;
+
Err = clang_parseTranslationUnit2(Idx, 0,
argv + num_unsaved_files,
argc - num_unsaved_files,
@@ -1622,6 +1627,22 @@ int perform_test_load_source(int argc, const char **argv,
return 1;
}
+ for (I = 0; I != Repeats; ++I) {
+ if (checkForErrors(TU) != 0)
+ return -1;
+
+ if (Repeats > 1) {
+ Err = clang_reparseTranslationUnit(TU, num_unsaved_files, unsaved_files,
+ clang_defaultReparseOptions(TU));
+ if (Err != CXError_Success) {
+ describeLibclangFailure(Err);
+ free_remapped_files(unsaved_files, num_unsaved_files);
+ clang_disposeIndex(Idx);
+ return 1;
+ }
+ }
+ }
+
result = perform_test_load(Idx, TU, filter, NULL, Visitor, PV,
CommentSchemaFile);
free_remapped_files(unsaved_files, num_unsaved_files);
OpenPOWER on IntegriCloud