diff --git a/src/plugins/cpptools/rpp/pp-engine.cpp b/src/plugins/cpptools/rpp/pp-engine.cpp index 5128b4ce37d4c1a2550c2a06c517a7af2b95adaa..a061b2942a97141a11de81678ef00ab26f83a980 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 0b224d8eea96c387d7796cbfdd6b0bf346f7e55d..6b569eb132feea2bbde069809ca9e293666be378 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('"');