summaryrefslogtreecommitdiff
path: root/src/libs/cplusplus/pp-macro-expander.cpp
diff options
context:
space:
mode:
authorLeandro Melo <leandro.melo@nokia.com>2011-10-31 10:55:06 +0100
committerLeandro T. C. Melo <leandro.melo@nokia.com>2011-10-31 11:52:39 +0100
commit19b1a06ec8421d6e81ccaa7527d9ae6ec0ff3497 (patch)
treed1724369b6844b5fb8540fbdacba10597b968455 /src/libs/cplusplus/pp-macro-expander.cpp
parent494fbdb0d2d486ba43dd655e2fa126bfa881f44b (diff)
downloadqt-creator-19b1a06ec8421d6e81ccaa7527d9ae6ec0ff3497.tar.gz
C++: Handle multi-line if/elif directives
Task-number: QTCREATORBUG-5843 Change-Id: Ie32ed9daadf70f3b972a96fb53edcde9b1debb6c Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com>
Diffstat (limited to 'src/libs/cplusplus/pp-macro-expander.cpp')
-rw-r--r--src/libs/cplusplus/pp-macro-expander.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/libs/cplusplus/pp-macro-expander.cpp b/src/libs/cplusplus/pp-macro-expander.cpp
index 74457244a3..9efc8c91f7 100644
--- a/src/libs/cplusplus/pp-macro-expander.cpp
+++ b/src/libs/cplusplus/pp-macro-expander.cpp
@@ -180,6 +180,17 @@ const char *MacroExpander::expand(const char *__first, const char *__last,
__result->append(__first, next_pos - __first);
__first = next_pos;
}
+ else if (*__first == '\\')
+ {
+ ++__first;
+ if (__first != __last && *__first == '\n')
+ {
+ ++lines;
+ ++__first;
+ } else {
+ __result->append('\\');
+ }
+ }
else if (comment_p (__first, __last))
{
__first = skip_comment_or_divop (__first, __last);