diff options
author | Steve Naroff <snaroff@apple.com> | 2009-10-20 16:36:34 +0000 |
---|---|---|
committer | Steve Naroff <snaroff@apple.com> | 2009-10-20 16:36:34 +0000 |
commit | b4ece6377d95e35a8df01cd010d910c34d690f67 (patch) | |
tree | 6f28cf751c3fba69e2057fdb5f0ebe09654b86a0 | |
parent | e56b4baeba5097852e04bc41ca2e0396cf729955 (diff) |
Add an example to help claify the process/assumptions...
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@84642 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/clang-c/Index.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/include/clang-c/Index.h b/include/clang-c/Index.h index 4f0751da08..4e7f0a0fa9 100644 --- a/include/clang-c/Index.h +++ b/include/clang-c/Index.h @@ -113,6 +113,30 @@ typedef void *CXEntity; * * - displayDiagnostics: when non-zero, diagnostics will be output. If zero, * diagnostics will be ignored. + * + * Here is an example: + * + * // excludeDeclsFromPCH = 1, displayDiagnostics = 1 + * Idx = clang_createIndex(1, 1); + * + * // IndexTest.pch was produced with the following command: + * // "clang -x c IndexTest.h -emit-ast -o IndexTest.pch" + * TU = clang_createTranslationUnit(Idx, "IndexTest.pch"); + * + * // This will load all the symbols from 'IndexTest.pch' + * clang_loadTranslationUnit(TU, TranslationUnitVisitor, 0); + * clang_disposeTranslationUnit(TU); + * + * // This will load all the symbols from 'IndexTest.c', excluding symbols + * // from 'IndexTest.pch'. + * char *args[] = { "-Xclang", "-include-pch=IndexTest.pch", 0 }; + * TU = clang_createTranslationUnitFromSourceFile(Idx, "IndexTest.c", 2, args); + * clang_loadTranslationUnit(TU, TranslationUnitVisitor, 0); + * clang_disposeTranslationUnit(TU); + * + * This process of creating the 'pch', loading it separately, and using it (via + * -include-pch) allows 'excludeDeclsFromPCH' to remove redundant callbacks + * (which gives the indexer the same performance benefit as the compiler). */ CXIndex clang_createIndex(int excludeDeclarationsFromPCH, int displayDiagnostics); |