aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/cplusplus/pp-engine.cpp
diff options
context:
space:
mode:
authorNikolai Kosjar <[email protected]>2013-12-02 15:47:36 +0100
committerNikolai Kosjar <[email protected]>2013-12-03 09:53:26 +0100
commit796fcaf1d288267e93baba3d01927957c684758f (patch)
treee3ee777c7100475c2156963bd19034ae35b04468 /src/libs/cplusplus/pp-engine.cpp
parent132954f9f307f87de901519230c309e202c2b87f (diff)
Revert "C++: Fix highlighting for lines with predefined macros"
This takes too much memory. For qtcreator.pro the numbers are as follows: Patch applied: ~ 1600MB (RES) Patch reverted: ~ 510MB (RES) This reverts commit 4c2daa90ce558c3b4287edc97127471486a411d9. Task-number: QTCREATORBUG-10973 Change-Id: I843bd7c1ea4a26a1ec55ddc14c2a34a98d040922 Reviewed-by: hjk <[email protected]> Reviewed-by: Robert Loehning <[email protected]> Reviewed-by: Eike Ziller <[email protected]> Reviewed-by: Orgad Shaneh <[email protected]> Reviewed-by: Erik Verbruggen <[email protected]>
Diffstat (limited to 'src/libs/cplusplus/pp-engine.cpp')
-rw-r--r--src/libs/cplusplus/pp-engine.cpp18
1 files changed, 8 insertions, 10 deletions
diff --git a/src/libs/cplusplus/pp-engine.cpp b/src/libs/cplusplus/pp-engine.cpp
index 4bbb229734b..05a7a083d38 100644
--- a/src/libs/cplusplus/pp-engine.cpp
+++ b/src/libs/cplusplus/pp-engine.cpp
@@ -917,21 +917,23 @@ bool Preprocessor::handleIdentifier(PPToken *tk)
&& macroNameRef[0] == '_'
&& macroNameRef[1] == '_') {
PPToken newTk;
- QByteArray txt;
if (macroNameRef == ppLine) {
- txt = QByteArray::number(tk->lineno);
+ QByteArray txt = QByteArray::number(tk->lineno);
newTk = generateToken(T_STRING_LITERAL, txt.constData(), txt.size(), tk->lineno, false);
} else if (macroNameRef == ppFile) {
+ QByteArray txt;
txt.append('"');
txt.append(m_env->currentFileUtf8);
txt.append('"');
newTk = generateToken(T_STRING_LITERAL, txt.constData(), txt.size(), tk->lineno, false);
} else if (macroNameRef == ppDate) {
+ QByteArray txt;
txt.append('"');
txt.append(QDate::currentDate().toString().toUtf8());
txt.append('"');
newTk = generateToken(T_STRING_LITERAL, txt.constData(), txt.size(), tk->lineno, false);
} else if (macroNameRef == ppTime) {
+ QByteArray txt;
txt.append('"');
txt.append(QTime::currentTime().toString().toUtf8());
txt.append('"');
@@ -939,14 +941,10 @@ bool Preprocessor::handleIdentifier(PPToken *tk)
}
if (newTk.hasSource()) {
- Macro macro;
- macro.setName(macroNameRef.toByteArray());
- macro.setFileName(m_env->currentFile);
- macro.setPredefined(true);
- macro.setDefinition(txt, QVector<PPToken>() << newTk);
- m_env->bind(macro);
- if (m_client)
- m_client->macroAdded(macro);
+ newTk.f.newline = tk->newline();
+ newTk.f.whitespace = tk->whitespace();
+ *tk = newTk;
+ return false;
}
}