preprocessor: insert space. '#if(' => '#if ('
This commit is contained in:
parent
04faae2882
commit
5acc6aca31
|
@ -55,6 +55,9 @@ std::string Preprocessor::read(std::istream &istr)
|
||||||
// Get filedata from stream..
|
// Get filedata from stream..
|
||||||
bool ignoreSpace = true;
|
bool ignoreSpace = true;
|
||||||
|
|
||||||
|
// need space.. #if( => #if (
|
||||||
|
bool needSpace = false;
|
||||||
|
|
||||||
// For the error report
|
// For the error report
|
||||||
int lineno = 1;
|
int lineno = 1;
|
||||||
|
|
||||||
|
@ -81,6 +84,16 @@ std::string Preprocessor::read(std::istream &istr)
|
||||||
continue;
|
continue;
|
||||||
ignoreSpace = bool(ch == ' ' || ch == '#' || ch == '/');
|
ignoreSpace = bool(ch == ' ' || ch == '#' || ch == '/');
|
||||||
|
|
||||||
|
if (needSpace)
|
||||||
|
{
|
||||||
|
if (ch == '(')
|
||||||
|
code << " ";
|
||||||
|
else if (! std::isalpha(ch))
|
||||||
|
needSpace = false;
|
||||||
|
}
|
||||||
|
if (ch == '#')
|
||||||
|
needSpace = true;
|
||||||
|
|
||||||
// Remove comments..
|
// Remove comments..
|
||||||
if (ch == '/')
|
if (ch == '/')
|
||||||
{
|
{
|
||||||
|
|
|
@ -50,6 +50,7 @@ private:
|
||||||
TEST_CASE(test3);
|
TEST_CASE(test3);
|
||||||
TEST_CASE(test4);
|
TEST_CASE(test4);
|
||||||
TEST_CASE(test5);
|
TEST_CASE(test5);
|
||||||
|
TEST_CASE(test6);
|
||||||
|
|
||||||
// Handling include guards (don't create extra configuration for it)
|
// Handling include guards (don't create extra configuration for it)
|
||||||
TEST_CASE(includeguard);
|
TEST_CASE(includeguard);
|
||||||
|
@ -274,6 +275,18 @@ private:
|
||||||
ASSERT_EQUALS(3, actual.size());
|
ASSERT_EQUALS(3, actual.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void test6()
|
||||||
|
{
|
||||||
|
const char filedata[] = "#if(AAA)\n"
|
||||||
|
"#if(AAA)\n";
|
||||||
|
|
||||||
|
std::istringstream istr(filedata);
|
||||||
|
const std::string actual(Preprocessor::read(istr));
|
||||||
|
|
||||||
|
// Compare results..
|
||||||
|
ASSERT_EQUALS("#if (AAA)\n#if (AAA)\n", actual);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void includeguard()
|
void includeguard()
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue