summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorErik Verbruggen <erikjv@me.com>2012-04-12 10:11:59 +0000
committerErik Verbruggen <erikjv@me.com>2012-04-12 10:11:59 +0000
commit6a91d385618ea4d28236c496f540a26877c95525 (patch)
tree519b6349002f939312dbf362c992bd0507211beb /tools
parentf33d549b16a4d2f7325a099eee0ab7ee50c9528f (diff)
Added a flag to the parser to skip method bodies.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@154584 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'tools')
-rw-r--r--tools/c-index-test/c-index-test.c2
-rw-r--r--tools/libclang/CIndex.cpp4
2 files changed, 5 insertions, 1 deletions
diff --git a/tools/c-index-test/c-index-test.c b/tools/c-index-test/c-index-test.c
index 04e7a506e2..573e6dc314 100644
--- a/tools/c-index-test/c-index-test.c
+++ b/tools/c-index-test/c-index-test.c
@@ -39,6 +39,8 @@ static unsigned getDefaultParsingOptions() {
options |= CXTranslationUnit_CacheCompletionResults;
if (getenv("CINDEXTEST_COMPLETION_NO_CACHING"))
options &= ~CXTranslationUnit_CacheCompletionResults;
+ if (getenv("CINDEXTEST_SKIP_FUNCTION_BODIES"))
+ options |= CXTranslationUnit_SkipFunctionBodies;
return options;
}
diff --git a/tools/libclang/CIndex.cpp b/tools/libclang/CIndex.cpp
index 808de3d253..ece91ce20e 100644
--- a/tools/libclang/CIndex.cpp
+++ b/tools/libclang/CIndex.cpp
@@ -2521,7 +2521,8 @@ static void clang_parseTranslationUnit_Impl(void *UserData) {
= (options & CXTranslationUnit_Incomplete)? TU_Prefix : TU_Complete;
bool CacheCodeCompetionResults
= options & CXTranslationUnit_CacheCompletionResults;
-
+ bool SkipFunctionBodies = options & CXTranslationUnit_SkipFunctionBodies;
+
// Configure the diagnostics.
DiagnosticOptions DiagOpts;
IntrusiveRefCntPtr<DiagnosticsEngine>
@@ -2605,6 +2606,7 @@ static void clang_parseTranslationUnit_Impl(void *UserData) {
TUKind,
CacheCodeCompetionResults,
/*AllowPCHWithCompilerErrors=*/true,
+ SkipFunctionBodies,
&ErrUnit));
if (NumErrors != Diags->getClient()->getNumErrors()) {