summaryrefslogtreecommitdiffstats
path: root/clang/tools/c-index-test/c-index-test.c
diff options
context:
space:
mode:
authorErik Verbruggen <erikjv@me.com>2017-05-30 14:25:54 +0000
committerErik Verbruggen <erikjv@me.com>2017-05-30 14:25:54 +0000
commit346066b68cacc3aea124b9765bd8723ae73c66dd (patch)
tree375b1417b9446edbb6d2d4c7c9d0182e26e18332 /clang/tools/c-index-test/c-index-test.c
parent6d5ac7af4a66ede67807268fd9ee9b2793532c1f (diff)
downloadbcm5719-llvm-346066b68cacc3aea124b9765bd8723ae73c66dd.tar.gz
bcm5719-llvm-346066b68cacc3aea124b9765bd8723ae73c66dd.zip
[libclang] Allow to suspend a translation unit.
A suspended translation unit uses significantly less memory but on the other side does not support any other calls than clang_reparseTranslationUnit to resume it or clang_disposeTranslationUnit to dispose it completely. This helps IDEs to reduce the memory footprint. The data that is freed by a call to clang_suspendTranslationUnit will be re-generated on the next (re)parse anyway. Used with a preamble, this allows pretty fast resumption of the translation unit for further use (compared to disposal of the translation unit and a parse from scratch). Patch by Nikolai Kosjar! llvm-svn: 304212
Diffstat (limited to 'clang/tools/c-index-test/c-index-test.c')
-rw-r--r--clang/tools/c-index-test/c-index-test.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/clang/tools/c-index-test/c-index-test.c b/clang/tools/c-index-test/c-index-test.c
index 1f5d6044319..31ad828a2f1 100644
--- a/clang/tools/c-index-test/c-index-test.c
+++ b/clang/tools/c-index-test/c-index-test.c
@@ -1742,6 +1742,8 @@ int perform_test_load_source(int argc, const char **argv,
return -1;
if (Repeats > 1) {
+ clang_suspendTranslationUnit(TU);
+
Err = clang_reparseTranslationUnit(TU, num_unsaved_files, unsaved_files,
clang_defaultReparseOptions(TU));
if (Err != CXError_Success) {
OpenPOWER on IntegriCloud