@@ -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
433434static 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\n void f ( ) {" , preprocess (code));
442+ ASSERT_EQUALS (" \n\n void f ( ) {" , preprocess (code, dui ));
439443
440444 const char code1[] = " #define ABC {// \\\r\n "
441445 " }\n "
442446 " void f() ABC\n " ;
443- ASSERT_EQUALS (" \n\n void f ( ) {" , preprocess (code1));
447+ ASSERT_EQUALS (" \n\n void 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\n 2\n 1" , preprocess (code2));
453+ ASSERT_EQUALS (" \n\n 2\n 1" , 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\n def" , readfile (" // abc\\\n def" ));
@@ -565,9 +569,12 @@ static void define6()
565569
566570static 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 (" \n 1 + 1" , preprocess (code));
577+ ASSERT_EQUALS (" \n 1 + 1" , preprocess (code, dui ));
571578}
572579
573580static void define8 () // 6.10.3.10
0 commit comments