From 6133920bfe7aa8d8370fdb53f176a1ccdd97273d Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Tue, 4 Feb 2014 22:23:27 +0200 Subject: Preprocessor: Adjust lines also for multiline C++ comments Change-Id: I87d6e76be3030e617603209c3a1b8b3c476cf1f6 Reviewed-by: Nikolai Kosjar --- src/libs/cplusplus/pp-engine.cpp | 2 +- tests/auto/cplusplus/preprocessor/tst_preprocessor.cpp | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) 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 \"\"\n" + "\n" + "\n" + "int foo = 4;" + ) << _( + "# 1 \"\"\n" + "// comment \\\n" + "\n" + "int foo = 4;" + ); } void tst_Preprocessor::comments_before_args() -- cgit v1.2.1