@@ -102,7 +102,8 @@ static std::string preprocess(const char code[], const simplecpp::DUI &dui, simp
102
102
std::vector<std::string> files;
103
103
simplecpp::FileDataCache cache;
104
104
simplecpp::TokenList tokens = makeTokenList (code,files);
105
- tokens.removeComments ();
105
+ if (dui.removeComments )
106
+ tokens.removeComments ();
106
107
simplecpp::TokenList tokens2 (files);
107
108
simplecpp::preprocess (tokens2, tokens, files, cache, dui, outputList);
108
109
simplecpp::cleanup (cache);
@@ -432,33 +433,36 @@ static void comment()
432
433
433
434
static void comment_multiline ()
434
435
{
436
+ simplecpp::DUI dui;
437
+ dui.removeComments = true ;
438
+
435
439
const char code[] = " #define ABC {// \\\n "
436
440
" }\n "
437
441
" void f() ABC\n " ;
438
- ASSERT_EQUALS (" \n\n void f ( ) {" , preprocess (code));
442
+ ASSERT_EQUALS (" \n\n void f ( ) {" , preprocess (code, dui ));
439
443
440
444
const char code1[] = " #define ABC {// \\\r\n "
441
445
" }\n "
442
446
" void f() ABC\n " ;
443
- ASSERT_EQUALS (" \n\n void f ( ) {" , preprocess (code1));
447
+ ASSERT_EQUALS (" \n\n void f ( ) {" , preprocess (code1, dui ));
444
448
445
449
const char code2[] = " #define A 1// \\\r "
446
450
" \r "
447
451
" 2\r "
448
452
" A\r " ;
449
- ASSERT_EQUALS (" \n\n 2\n 1" , preprocess (code2));
453
+ ASSERT_EQUALS (" \n\n 2\n 1" , preprocess (code2, dui ));
450
454
451
455
const char code3[] = " void f() {// \\ \n }\n " ;
452
- ASSERT_EQUALS (" void f ( ) {" , preprocess (code3));
456
+ ASSERT_EQUALS (" void f ( ) {" , preprocess (code3, dui ));
453
457
454
458
const char code4[] = " void f() {// \\\\\\\t\t\n }\n " ;
455
- ASSERT_EQUALS (" void f ( ) {" , preprocess (code4));
459
+ ASSERT_EQUALS (" void f ( ) {" , preprocess (code4, dui ));
456
460
457
461
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 ));
459
463
460
464
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 ));
462
466
463
467
// #471 ensure there is newline in comment so that line-splicing can be detected by tools
464
468
ASSERT_EQUALS (" // abc\n def" , readfile (" // abc\\\n def" ));
@@ -565,9 +569,12 @@ static void define6()
565
569
566
570
static void define7 ()
567
571
{
572
+ simplecpp::DUI dui;
573
+ dui.removeComments = true ;
574
+
568
575
const char code[] = " #define A(X) X+1\n "
569
576
" A(1 /*23*/)" ;
570
- ASSERT_EQUALS (" \n 1 + 1" , preprocess (code));
577
+ ASSERT_EQUALS (" \n 1 + 1" , preprocess (code, dui ));
571
578
}
572
579
573
580
static void define8 () // 6.10.3.10
0 commit comments