summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoerg Bornemann <joerg.bornemann@digia.com>2013-01-02 13:50:27 +0100
committerJoerg Bornemann <joerg.bornemann@digia.com>2013-01-02 19:25:50 +0100
commit95150aae29d1660c36e96d22b87b84c1120733db (patch)
tree4f888d265a76bda8d462137974a39979b2905b33
parentccbe175f3ae5aa9fab470437a30cf776e26e3f32 (diff)
ignore macro assignments in inline files
FOO=BAR in an inline file is not supposed to alter FOO. Task-number: QTCREATORBUG-8452 Change-Id: I3ce0d6fc89a10b6062903fd9e8d769375e811a18 Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
-rw-r--r--src/jomlib/preprocessor.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/jomlib/preprocessor.cpp b/src/jomlib/preprocessor.cpp
index ad7b12e..b69a05a 100644
--- a/src/jomlib/preprocessor.cpp
+++ b/src/jomlib/preprocessor.cpp
@@ -121,9 +121,14 @@ bool Preprocessor::internalOpenFile(QString fileName)
QString Preprocessor::readLine()
{
QString line;
- do {
+ for (;;) {
basicReadLine(line);
- } while (parseMacro(line) || parsePreprocessingDirective(line));
+ if (!m_bInlineFileMode && parseMacro(line))
+ continue;
+ if (parsePreprocessingDirective(line))
+ continue;
+ break;
+ }
return line;
}