@@ -1436,6 +1436,30 @@ static void error6()
14361436 ASSERT_EQUALS (" file0,1,#error,#error \n " , toString (outputList));
14371437}
14381438
1439+ static void error7 ()
1440+ {
1441+ const char code[] = " #error bla\\\n bla\n " ;
1442+ std::vector<std::string> files;
1443+ simplecpp::FileDataCache cache;
1444+ simplecpp::OutputList outputList;
1445+ simplecpp::TokenList tokens2 (files);
1446+ const simplecpp::TokenList rawtokens = makeTokenList (code, sizeof (code),files," test.c" );
1447+ simplecpp::preprocess (tokens2, rawtokens, files, cache, simplecpp::DUI (), &outputList);
1448+ ASSERT_EQUALS (" file0,1,#error,#error blabla\n " , toString (outputList));
1449+ }
1450+
1451+ static void error8 ()
1452+ {
1453+ const char code[] = " #error bla\\\r\n bla\n " ;
1454+ std::vector<std::string> files;
1455+ simplecpp::FileDataCache cache;
1456+ simplecpp::OutputList outputList;
1457+ simplecpp::TokenList tokens2 (files);
1458+ const simplecpp::TokenList rawtokens = makeTokenList (code, sizeof (code),files," test.c" );
1459+ simplecpp::preprocess (tokens2, rawtokens, files, cache, simplecpp::DUI (), &outputList);
1460+ ASSERT_EQUALS (" file0,1,#error,#error blabla\n " , toString (outputList));
1461+ }
1462+
14391463static void garbage ()
14401464{
14411465 simplecpp::OutputList outputList;
@@ -3947,6 +3971,8 @@ static void runTests(int argc, char **argv, Input input)
39473971 TEST_CASE (error4);
39483972 TEST_CASE (error5);
39493973 TEST_CASE (error6);
3974+ TEST_CASE (error7);
3975+ TEST_CASE (error8);
39503976
39513977 TEST_CASE (garbage);
39523978 TEST_CASE (garbage_endif);
0 commit comments