Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 8 additions & 3 deletions test.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -102,11 +102,11 @@ static std::string readfile(const char code[], std::size_t size, simplecpp::Outp
return makeTokenList(code,size,files,std::string(),outputList).stringify();
}

static std::string preprocess(const char code[], const simplecpp::DUI &dui, simplecpp::OutputList *outputList)
static std::string preprocess(const char code[], const simplecpp::DUI &dui, simplecpp::OutputList *outputList, const std::string &file = std::string())
{
std::vector<std::string> files;
simplecpp::FileDataCache cache;
simplecpp::TokenList tokens = makeTokenList(code,files);
simplecpp::TokenList tokens = makeTokenList(code,files, file);
if (dui.removeComments)
tokens.removeComments();
simplecpp::TokenList tokens2(files);
Expand All @@ -120,6 +120,11 @@ static std::string preprocess(const char code[])
return preprocess(code, simplecpp::DUI(), nullptr);
}

static std::string preprocess(const char code[], const std::string &file)
{
return preprocess(code, simplecpp::DUI(), nullptr, file);
}

static std::string preprocess(const char code[], const simplecpp::DUI &dui)
{
return preprocess(code, dui, nullptr);
Expand Down Expand Up @@ -193,7 +198,7 @@ static void backslash()

static void builtin()
{
ASSERT_EQUALS("\"\" 1 0", preprocess("__FILE__ __LINE__ __COUNTER__"));
ASSERT_EQUALS("\"test.c\" 1 0", preprocess("__FILE__ __LINE__ __COUNTER__", "test.c"));
ASSERT_EQUALS("\n\n3", preprocess("\n\n__LINE__"));
ASSERT_EQUALS("\n\n0", preprocess("\n\n__COUNTER__"));
ASSERT_EQUALS("\n\n0 1", preprocess("\n\n__COUNTER__ __COUNTER__"));
Expand Down