diff options
author | Leandro Melo <leandro.melo@nokia.com> | 2011-10-31 10:55:06 +0100 |
---|---|---|
committer | Leandro T. C. Melo <leandro.melo@nokia.com> | 2011-10-31 11:52:39 +0100 |
commit | 19b1a06ec8421d6e81ccaa7527d9ae6ec0ff3497 (patch) | |
tree | d1724369b6844b5fb8540fbdacba10597b968455 /src/libs/cplusplus/pp-macro-expander.cpp | |
parent | 494fbdb0d2d486ba43dd655e2fa126bfa881f44b (diff) | |
download | qt-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.cpp | 11 |
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); |