diff --git a/simplecpp.cpp b/simplecpp.cpp index af9a8ce..1dbf026 100755 --- a/simplecpp.cpp +++ b/simplecpp.cpp @@ -2617,7 +2617,7 @@ static void simplifySizeof(simplecpp::TokenList &expr, const std::map= "201703L"); + return std_ver.empty() || (std_ver >= "201703L"); } static std::string openHeader(std::ifstream &f, const simplecpp::DUI &dui, const std::string &sourcefile, const std::string &header, bool systemheader); diff --git a/test.cpp b/test.cpp index d00658a..53beac7 100644 --- a/test.cpp +++ b/test.cpp @@ -1373,7 +1373,8 @@ static void has_include_1() ASSERT_EQUALS("\n\nA", preprocess(code, dui)); dui.std = "c++14"; ASSERT_EQUALS("", preprocess(code, dui)); - ASSERT_EQUALS("", preprocess(code)); + // we default to latest standard + ASSERT_EQUALS("\n\nA", preprocess(code)); } static void has_include_2() @@ -1388,7 +1389,6 @@ static void has_include_2() simplecpp::DUI dui; dui.std = "c++17"; ASSERT_EQUALS("\n\nA", preprocess(code, dui)); - ASSERT_EQUALS("", preprocess(code)); } static void has_include_3() @@ -1407,7 +1407,6 @@ static void has_include_3() // Unless -I is set (preferably, we should differentiate -I and -isystem...) dui.includePaths.push_back("./testsuite"); ASSERT_EQUALS("\n\nA", preprocess(code, dui)); - ASSERT_EQUALS("", preprocess(code)); } static void has_include_4() @@ -1422,7 +1421,6 @@ static void has_include_4() simplecpp::DUI dui; dui.std = "c++17"; ASSERT_EQUALS("\n\nA", preprocess(code, dui)); - ASSERT_EQUALS("", preprocess(code)); } static void has_include_5() @@ -1437,7 +1435,6 @@ static void has_include_5() simplecpp::DUI dui; dui.std = "c++17"; ASSERT_EQUALS("\n\nA", preprocess(code, dui)); - ASSERT_EQUALS("", preprocess(code)); } static void ifdef1() @@ -2647,6 +2644,7 @@ static void stdcVersionDefine() simplecpp::DUI dui; dui.std = "c11"; ASSERT_EQUALS("\n201112L", preprocess(code, dui)); + ASSERT_EQUALS("\n202311L", preprocess(code)); // default to latest } static void cpluscplusDefine() @@ -2657,6 +2655,7 @@ static void cpluscplusDefine() simplecpp::DUI dui; dui.std = "c++11"; ASSERT_EQUALS("\n201103L", preprocess(code, dui)); + ASSERT_EQUALS("\n202400L", preprocess(code)); // default to latest } static void invalidStd()