summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/builtinindexingsupport.cpp
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2015-02-15 23:43:26 +0200
committerOrgad Shaneh <orgads@gmail.com>2015-02-20 12:54:49 +0000
commitf3a2795c3bfc892695a46621e6bc97a2742d8766 (patch)
treef98bce607c287fb4bd077641632a71e77f89711c /src/plugins/cpptools/builtinindexingsupport.cpp
parent97cbfb95bbcebe06484edaeb446e52bec04626f3 (diff)
downloadqt-creator-f3a2795c3bfc892695a46621e6bc97a2742d8766.tar.gz
C++: Use correct features for document parsing
Task-number: QTCREATORBUG-8007 Change-Id: Ic96aaa433442812a99bac9d16bb9124d66762e8c Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
Diffstat (limited to 'src/plugins/cpptools/builtinindexingsupport.cpp')
-rw-r--r--src/plugins/cpptools/builtinindexingsupport.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/plugins/cpptools/builtinindexingsupport.cpp b/src/plugins/cpptools/builtinindexingsupport.cpp
index a35a5413a9..9d75998816 100644
--- a/src/plugins/cpptools/builtinindexingsupport.cpp
+++ b/src/plugins/cpptools/builtinindexingsupport.cpp
@@ -208,6 +208,8 @@ void index(QFutureInterface<void> &future, const ParseParams params)
CppModelManager *cmm = CppModelManager::instance();
const ProjectPart::HeaderPaths fallbackHeaderPaths = cmm->headerPaths();
+ const CPlusPlus::LanguageFeatures defaultFeatures =
+ CPlusPlus::LanguageFeatures::defaultFeatures();
for (int i = 0; i < files.size(); ++i) {
if (future.isPaused())
future.waitForResume();
@@ -216,6 +218,11 @@ void index(QFutureInterface<void> &future, const ParseParams params)
break;
const QString fileName = files.at(i);
+ const QList<ProjectPart::Ptr> parts = cmm->projectPart(fileName);
+ const CPlusPlus::LanguageFeatures languageFeatures = parts.isEmpty()
+ ? defaultFeatures
+ : parts.first()->languageFeatures;
+ sourceProcessor->setLanguageFeatures(languageFeatures);
const bool isSourceFile = i < sourceCount;
if (isSourceFile) {
@@ -226,7 +233,6 @@ void index(QFutureInterface<void> &future, const ParseParams params)
processingHeaders = true;
}
- QList<ProjectPart::Ptr> parts = cmm->projectPart(fileName);
ProjectPart::HeaderPaths headerPaths = parts.isEmpty()
? fallbackHeaderPaths
: parts.first()->headerPaths;