@@ -1562,11 +1562,13 @@ static void has_include_1()
15621562 " #endif" ;
15631563 simplecpp::DUI dui;
15641564 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
15671566 dui.std = " c++14" ;
15681567 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));
15701572}
15711573
15721574static void has_include_2 ()
@@ -1580,9 +1582,13 @@ static void has_include_2()
15801582 " #endif" ;
15811583 simplecpp::DUI dui;
15821584 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));
15831588 dui.std = " c++17" ;
15841589 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));
15861592}
15871593
15881594static void has_include_3 ()
@@ -1595,13 +1601,24 @@ static void has_include_3()
15951601 " #endif\n "
15961602 " #endif" ;
15971603 simplecpp::DUI dui;
1598- dui. std = " c++17 " ;
1604+
15991605 // 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" ;
16001610 ASSERT_EQUALS (" \n\n\n\n B" , preprocess (code, dui));
1611+
16011612 // Unless -I is set (preferably, we should differentiate -I and -isystem...)
16021613 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" ;
16031621 ASSERT_EQUALS (" \n\n A" , preprocess (code, dui));
1604- ASSERT_EQUALS (" " , preprocess (code));
16051622}
16061623
16071624static void has_include_4 ()
@@ -1614,10 +1631,14 @@ static void has_include_4()
16141631 " #endif\n "
16151632 " #endif" ;
16161633 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));
16171638 dui.std = " c++17" ;
1618- dui.includePaths .push_back (testSourceDir);
16191639 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));
16211642}
16221643
16231644static void has_include_5 ()
@@ -1630,10 +1651,14 @@ static void has_include_5()
16301651 " #endif\n "
16311652 " #endif" ;
16321653 simplecpp::DUI dui;
1633- dui. std = " c++17 " ;
1654+ ASSERT_EQUALS ( " \n\n A " , preprocess (code, dui)); // we default to latest standard internally
16341655 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" ;
16351661 ASSERT_EQUALS (" \n\n A" , preprocess (code, dui));
1636- ASSERT_EQUALS (" " , preprocess (code));
16371662}
16381663
16391664static void has_include_6 ()
@@ -1646,10 +1671,12 @@ static void has_include_6()
16461671 " #endif\n "
16471672 " #endif" ;
16481673 simplecpp::DUI dui;
1649- dui.std = " gnu99" ;
16501674 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" ;
16511679 ASSERT_EQUALS (" \n\n A" , preprocess (code, dui));
1652- ASSERT_EQUALS (" " , preprocess (code));
16531680}
16541681
16551682static void strict_ansi_1 ()
@@ -2983,6 +3010,7 @@ static void stdcVersionDefine()
29833010 " __STDC_VERSION__\n "
29843011 " #endif\n " ;
29853012 simplecpp::DUI dui;
3013+ ASSERT_EQUALS (" " , preprocess (code, dui));
29863014 dui.std = " c11" ;
29873015 ASSERT_EQUALS (" \n 201112L" , preprocess (code, dui));
29883016}
@@ -2993,6 +3021,7 @@ static void cpluscplusDefine()
29933021 " __cplusplus\n "
29943022 " #endif\n " ;
29953023 simplecpp::DUI dui;
3024+ ASSERT_EQUALS (" " , preprocess (code, dui));
29963025 dui.std = " c++11" ;
29973026 ASSERT_EQUALS (" \n 201103L" , preprocess (code, dui));
29983027}
0 commit comments