summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2014-02-04 22:23:27 +0200
committerOrgad Shaneh <orgads@gmail.com>2014-02-24 21:56:23 +0100
commit6133920bfe7aa8d8370fdb53f176a1ccdd97273d (patch)
treeb057ba67607d9785fbc01e4a7b3e8d1da1e26574
parent466eb0b0f8f0a5cb4f1ec28bd63bb0c360e795a5 (diff)
downloadqt-creator-6133920bfe7aa8d8370fdb53f176a1ccdd97273d.tar.gz
Preprocessor: Adjust lines also for multiline C++ comments
Change-Id: I87d6e76be3030e617603209c3a1b8b3c476cf1f6 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
-rw-r--r--src/libs/cplusplus/pp-engine.cpp2
-rw-r--r--tests/auto/cplusplus/preprocessor/tst_preprocessor.cpp16
2 files changed, 17 insertions, 1 deletions
diff --git a/src/libs/cplusplus/pp-engine.cpp b/src/libs/cplusplus/pp-engine.cpp
index 8197b7ef5a..c17d36555d 100644
--- a/src/libs/cplusplus/pp-engine.cpp
+++ b/src/libs/cplusplus/pp-engine.cpp
@@ -1300,7 +1300,7 @@ void Preprocessor::trackExpansionCycles(PPToken *tk)
static void adjustForCommentOrStringNewlines(unsigned *currentLine, const PPToken &tk)
{
- if (tk.is(T_COMMENT) || tk.is(T_DOXY_COMMENT) || tk.isStringLiteral())
+ if (tk.isComment() || tk.isStringLiteral())
(*currentLine) += tk.asByteArrayRef().count('\n');
}
diff --git a/tests/auto/cplusplus/preprocessor/tst_preprocessor.cpp b/tests/auto/cplusplus/preprocessor/tst_preprocessor.cpp
index 13d85d8a5b..380de2e861 100644
--- a/tests/auto/cplusplus/preprocessor/tst_preprocessor.cpp
+++ b/tests/auto/cplusplus/preprocessor/tst_preprocessor.cpp
@@ -1368,6 +1368,22 @@ void tst_Preprocessor::comments_within_data()
" ) {}\n"
"}\n"
);
+
+ QTest::newRow("joined") << _(
+ "// comment \\\n"
+ "\n"
+ "int foo = 4;"
+ ) << _(
+ "# 1 \"<stdin>\"\n"
+ "\n"
+ "\n"
+ "int foo = 4;"
+ ) << _(
+ "# 1 \"<stdin>\"\n"
+ "// comment \\\n"
+ "\n"
+ "int foo = 4;"
+ );
}
void tst_Preprocessor::comments_before_args()