From ceb73b720b32e3ab11000174b6fe744ba19b5b8e Mon Sep 17 00:00:00 2001 From: Roberto Raggi <qtc-committer@nokia.com> Date: Tue, 2 Dec 2008 15:33:07 +0100 Subject: [PATCH] Reduced the number of generated #line directives. --- src/plugins/cpptools/rpp/pp-engine.cpp | 16 ++++------------ src/plugins/cpptools/rpp/pp-macro-expander.cpp | 3 +-- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/src/plugins/cpptools/rpp/pp-engine.cpp b/src/plugins/cpptools/rpp/pp-engine.cpp index 5128b4ce37d..a061b2942a9 100644 --- a/src/plugins/cpptools/rpp/pp-engine.cpp +++ b/src/plugins/cpptools/rpp/pp-engine.cpp @@ -515,8 +515,7 @@ void pp::operator()(const QByteArray &source, QByteArray *result) while (true) { if (env.currentLine != _dot->lineno) { if (env.currentLine > _dot->lineno) { - result->append('\n'); - result->append('#'); + result->append("\n# "); result->append(QByteArray::number(_dot->lineno)); result->append(' '); result->append('"'); @@ -564,16 +563,6 @@ void pp::operator()(const QByteArray &source, QByteArray *result) } else { if (_dot->joined) result->append("\\\n"); - else if (_dot->newline) { - result->append('\n'); - result->append('#'); - result->append(QByteArray::number(_dot->lineno)); - result->append(' '); - result->append('"'); - result->append(env.current_file); - result->append('"'); - result->append('\n'); - } else if (_dot->whitespace) result->append(' '); @@ -861,11 +850,14 @@ void pp::processDefine(TokenIterator firstToken, TokenIterator lastToken) if (isQtWord) macro.definition = macroId; else { + // ### make me fast! const char *startOfDefinition = startOfToken(*tk); const char *endOfDefinition = startOfToken(*lastToken); macro.definition.append(startOfDefinition, endOfDefinition - startOfDefinition); macro.definition.replace("\\\n", " "); + macro.definition.replace('\n', ' '); + macro.definition = macro.definition.trimmed(); } env.bind(macro); diff --git a/src/plugins/cpptools/rpp/pp-macro-expander.cpp b/src/plugins/cpptools/rpp/pp-macro-expander.cpp index 0b224d8eea9..6b569eb132f 100644 --- a/src/plugins/cpptools/rpp/pp-macro-expander.cpp +++ b/src/plugins/cpptools/rpp/pp-macro-expander.cpp @@ -69,8 +69,7 @@ const char *MacroExpander::operator () (const char *__first, const char *__last, { if (*__first == '\n') { - __result->append('\n'); - __result->append('#'); + __result->append("\n# "); __result->append(QByteArray::number(env.currentLine)); __result->append(' '); __result->append('"'); -- GitLab