diff options
author | Nikolai Kosjar <[email protected]> | 2013-12-02 15:47:36 +0100 |
---|---|---|
committer | Nikolai Kosjar <[email protected]> | 2013-12-03 09:53:26 +0100 |
commit | 796fcaf1d288267e93baba3d01927957c684758f (patch) | |
tree | e3ee777c7100475c2156963bd19034ae35b04468 /src/libs/cplusplus/pp-engine.cpp | |
parent | 132954f9f307f87de901519230c309e202c2b87f (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.cpp | 18 |
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; } } |