Skip to content

Commit 511165b

Browse files
committed
test.cpp: do not unconditionally remove comments
1 parent 538c5c4 commit 511165b

File tree

1 file changed

+16
-9
lines changed

1 file changed

+16
-9
lines changed

test.cpp

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,8 @@ static std::string preprocess(const char code[], const simplecpp::DUI &dui, simp
102102
std::vector<std::string> files;
103103
simplecpp::FileDataCache cache;
104104
simplecpp::TokenList tokens = makeTokenList(code,files);
105-
tokens.removeComments();
105+
if (dui.removeComments)
106+
tokens.removeComments();
106107
simplecpp::TokenList tokens2(files);
107108
simplecpp::preprocess(tokens2, tokens, files, cache, dui, outputList);
108109
simplecpp::cleanup(cache);
@@ -432,33 +433,36 @@ static void comment()
432433

433434
static void comment_multiline()
434435
{
436+
simplecpp::DUI dui;
437+
dui.removeComments = true;
438+
435439
const char code[] = "#define ABC {// \\\n"
436440
"}\n"
437441
"void f() ABC\n";
438-
ASSERT_EQUALS("\n\nvoid f ( ) {", preprocess(code));
442+
ASSERT_EQUALS("\n\nvoid f ( ) {", preprocess(code, dui));
439443

440444
const char code1[] = "#define ABC {// \\\r\n"
441445
"}\n"
442446
"void f() ABC\n";
443-
ASSERT_EQUALS("\n\nvoid f ( ) {", preprocess(code1));
447+
ASSERT_EQUALS("\n\nvoid f ( ) {", preprocess(code1, dui));
444448

445449
const char code2[] = "#define A 1// \\\r"
446450
"\r"
447451
"2\r"
448452
"A\r";
449-
ASSERT_EQUALS("\n\n2\n1", preprocess(code2));
453+
ASSERT_EQUALS("\n\n2\n1", preprocess(code2, dui));
450454

451455
const char code3[] = "void f() {// \\ \n}\n";
452-
ASSERT_EQUALS("void f ( ) {", preprocess(code3));
456+
ASSERT_EQUALS("void f ( ) {", preprocess(code3, dui));
453457

454458
const char code4[] = "void f() {// \\\\\\\t\t\n}\n";
455-
ASSERT_EQUALS("void f ( ) {", preprocess(code4));
459+
ASSERT_EQUALS("void f ( ) {", preprocess(code4, dui));
456460

457461
const char code5[] = "void f() {// \\\\\\a\n}\n";
458-
ASSERT_EQUALS("void f ( ) {\n}", preprocess(code5));
462+
ASSERT_EQUALS("void f ( ) {\n}", preprocess(code5, dui));
459463

460464
const char code6[] = "void f() {// \\\n\n\n}\n";
461-
ASSERT_EQUALS("void f ( ) {\n\n\n}", preprocess(code6));
465+
ASSERT_EQUALS("void f ( ) {\n\n\n}", preprocess(code6, dui));
462466

463467
// #471 ensure there is newline in comment so that line-splicing can be detected by tools
464468
ASSERT_EQUALS("// abc\ndef", readfile("// abc\\\ndef"));
@@ -565,9 +569,12 @@ static void define6()
565569

566570
static void define7()
567571
{
572+
simplecpp::DUI dui;
573+
dui.removeComments = true;
574+
568575
const char code[] = "#define A(X) X+1\n"
569576
"A(1 /*23*/)";
570-
ASSERT_EQUALS("\n1 + 1", preprocess(code));
577+
ASSERT_EQUALS("\n1 + 1", preprocess(code, dui));
571578
}
572579

573580
static void define8() // 6.10.3.10

0 commit comments

Comments
 (0)