From f8531cc833313dfccd578b0c3c2df3d6de6389c0 Mon Sep 17 00:00:00 2001 From: Roberto Raggi Date: Mon, 29 Jun 2009 09:59:55 +0200 Subject: Merge the environment from the previous parse. --- src/libs/cplusplus/FastPreprocessor.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'src/libs/cplusplus/FastPreprocessor.cpp') diff --git a/src/libs/cplusplus/FastPreprocessor.cpp b/src/libs/cplusplus/FastPreprocessor.cpp index e1e0bd8c50..481e2c715a 100644 --- a/src/libs/cplusplus/FastPreprocessor.cpp +++ b/src/libs/cplusplus/FastPreprocessor.cpp @@ -38,10 +38,20 @@ FastPreprocessor::FastPreprocessor(const Snapshot &snapshot) QByteArray FastPreprocessor::run(QString fileName, const QString &source) { + if (Document::Ptr doc = _snapshot.value(fileName)) { + _merged.insert(fileName); + + foreach (const Document::Include &i, doc->includes()) + mergeEnvironment(i.fileName()); + } + const QByteArray preprocessed = _preproc(fileName, source); return preprocessed; } +void FastPreprocessor::sourceNeeded(QString &fileName, IncludeType, unsigned) +{ mergeEnvironment(fileName); } + void FastPreprocessor::mergeEnvironment(const QString &fileName) { if (! _merged.contains(fileName)) { -- cgit v1.2.1