@@ -1562,11 +1562,13 @@ static void has_include_1()
1562
1562
" #endif" ;
1563
1563
simplecpp::DUI dui;
1564
1564
dui.includePaths .push_back (testSourceDir);
1565
- dui.std = " c++17" ;
1566
- ASSERT_EQUALS (" \n\n A" , preprocess (code, dui));
1565
+ ASSERT_EQUALS (" \n\n A" , preprocess (code, dui)); // we default to latest standard internally
1567
1566
dui.std = " c++14" ;
1568
1567
ASSERT_EQUALS (" " , preprocess (code, dui));
1569
- ASSERT_EQUALS (" " , preprocess (code));
1568
+ dui.std = " c++17" ;
1569
+ ASSERT_EQUALS (" \n\n A" , preprocess (code, dui));
1570
+ dui.std = " c++20" ;
1571
+ ASSERT_EQUALS (" \n\n A" , preprocess (code, dui));
1570
1572
}
1571
1573
1572
1574
static void has_include_2 ()
@@ -1580,9 +1582,13 @@ static void has_include_2()
1580
1582
" #endif" ;
1581
1583
simplecpp::DUI dui;
1582
1584
dui.includePaths .push_back (testSourceDir);
1585
+ ASSERT_EQUALS (" \n\n A" , preprocess (code, dui)); // we default to latest standard internally
1586
+ dui.std = " c++14" ;
1587
+ ASSERT_EQUALS (" " , preprocess (code, dui));
1583
1588
dui.std = " c++17" ;
1584
1589
ASSERT_EQUALS (" \n\n A" , preprocess (code, dui));
1585
- ASSERT_EQUALS (" " , preprocess (code));
1590
+ dui.std = " c++20" ;
1591
+ ASSERT_EQUALS (" \n\n A" , preprocess (code, dui));
1586
1592
}
1587
1593
1588
1594
static void has_include_3 ()
@@ -1595,13 +1601,24 @@ static void has_include_3()
1595
1601
" #endif\n "
1596
1602
" #endif" ;
1597
1603
simplecpp::DUI dui;
1598
- dui. std = " c++17 " ;
1604
+
1599
1605
// Test file not found...
1606
+ ASSERT_EQUALS (" \n\n\n\n B" , preprocess (code, dui)); // we default to latest standard internally
1607
+ dui.std = " c++14" ;
1608
+ ASSERT_EQUALS (" " , preprocess (code, dui));
1609
+ dui.std = " c++17" ;
1600
1610
ASSERT_EQUALS (" \n\n\n\n B" , preprocess (code, dui));
1611
+
1601
1612
// Unless -I is set (preferably, we should differentiate -I and -isystem...)
1602
1613
dui.includePaths .push_back (testSourceDir + " /testsuite" );
1614
+ dui.std = " " ;
1615
+ ASSERT_EQUALS (" \n\n A" , preprocess (code, dui)); // we default to latest standard internally
1616
+ dui.std = " c++14" ;
1617
+ ASSERT_EQUALS (" " , preprocess (code, dui));
1618
+ dui.std = " c++17" ;
1619
+ ASSERT_EQUALS (" \n\n A" , preprocess (code, dui));
1620
+ dui.std = " c++20" ;
1603
1621
ASSERT_EQUALS (" \n\n A" , preprocess (code, dui));
1604
- ASSERT_EQUALS (" " , preprocess (code));
1605
1622
}
1606
1623
1607
1624
static void has_include_4 ()
@@ -1614,10 +1631,14 @@ static void has_include_4()
1614
1631
" #endif\n "
1615
1632
" #endif" ;
1616
1633
simplecpp::DUI dui;
1634
+ dui.includePaths .push_back (testSourceDir); // we default to latest standard internally
1635
+ ASSERT_EQUALS (" \n\n A" , preprocess (code, dui));
1636
+ dui.std = " c++14" ;
1637
+ ASSERT_EQUALS (" " , preprocess (code, dui));
1617
1638
dui.std = " c++17" ;
1618
- dui.includePaths .push_back (testSourceDir);
1619
1639
ASSERT_EQUALS (" \n\n A" , preprocess (code, dui));
1620
- ASSERT_EQUALS (" " , preprocess (code));
1640
+ dui.std = " c++20" ;
1641
+ ASSERT_EQUALS (" \n\n A" , preprocess (code, dui));
1621
1642
}
1622
1643
1623
1644
static void has_include_5 ()
@@ -1630,10 +1651,14 @@ static void has_include_5()
1630
1651
" #endif\n "
1631
1652
" #endif" ;
1632
1653
simplecpp::DUI dui;
1633
- dui. std = " c++17 " ;
1654
+ ASSERT_EQUALS ( " \n\n A " , preprocess (code, dui)); // we default to latest standard internally
1634
1655
dui.includePaths .push_back (testSourceDir);
1656
+ dui.std = " c++14" ;
1657
+ ASSERT_EQUALS (" " , preprocess (code, dui));
1658
+ dui.std = " c++17" ;
1659
+ ASSERT_EQUALS (" \n\n A" , preprocess (code, dui));
1660
+ dui.std = " c++20" ;
1635
1661
ASSERT_EQUALS (" \n\n A" , preprocess (code, dui));
1636
- ASSERT_EQUALS (" " , preprocess (code));
1637
1662
}
1638
1663
1639
1664
static void has_include_6 ()
@@ -1646,10 +1671,12 @@ static void has_include_6()
1646
1671
" #endif\n "
1647
1672
" #endif" ;
1648
1673
simplecpp::DUI dui;
1649
- dui.std = " gnu99" ;
1650
1674
dui.includePaths .push_back (testSourceDir);
1675
+ ASSERT_EQUALS (" \n\n A" , preprocess (code, dui)); // we default to latest standard internally
1676
+ dui.std = " c++99" ;
1677
+ ASSERT_EQUALS (" " , preprocess (code, dui));
1678
+ dui.std = " gnu99" ;
1651
1679
ASSERT_EQUALS (" \n\n A" , preprocess (code, dui));
1652
- ASSERT_EQUALS (" " , preprocess (code));
1653
1680
}
1654
1681
1655
1682
static void strict_ansi_1 ()
@@ -2983,6 +3010,7 @@ static void stdcVersionDefine()
2983
3010
" __STDC_VERSION__\n "
2984
3011
" #endif\n " ;
2985
3012
simplecpp::DUI dui;
3013
+ ASSERT_EQUALS (" " , preprocess (code, dui));
2986
3014
dui.std = " c11" ;
2987
3015
ASSERT_EQUALS (" \n 201112L" , preprocess (code, dui));
2988
3016
}
@@ -2993,6 +3021,7 @@ static void cpluscplusDefine()
2993
3021
" __cplusplus\n "
2994
3022
" #endif\n " ;
2995
3023
simplecpp::DUI dui;
3024
+ ASSERT_EQUALS (" " , preprocess (code, dui));
2996
3025
dui.std = " c++11" ;
2997
3026
ASSERT_EQUALS (" \n 201103L" , preprocess (code, dui));
2998
3027
}
0 commit comments