bump simplecpp (utf-8 handling, fix problem with multiline non-functionLike macro where replacement list starts with '(')
This commit is contained in:
parent
766e81cd97
commit
0ae163db69
|
@ -298,11 +298,15 @@ static unsigned short getAndSkipBOM(std::istream &istr) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ch1 == 0xef && istr.peek() == 0xbb && istr.peek() == 0xbf) {
|
// Skip UTF-8 BOM 0xefbbbf
|
||||||
// Skip BOM 0xefbbbf
|
if (ch1 == 0xef) {
|
||||||
(void)istr.get();
|
istr.get();
|
||||||
(void)istr.get();
|
if (istr.get() == 0xbb && istr.peek() == 0xbf) {
|
||||||
(void)istr.get();
|
(void)istr.get();
|
||||||
|
} else {
|
||||||
|
istr.unget();
|
||||||
|
istr.unget();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -339,7 +343,8 @@ void simplecpp::TokenList::readfile(std::istream &istr, const std::string &filen
|
||||||
location.line += multiline + 1;
|
location.line += multiline + 1;
|
||||||
multiline = 0U;
|
multiline = 0U;
|
||||||
}
|
}
|
||||||
location.col = 1;
|
if (!multiline)
|
||||||
|
location.col = 1;
|
||||||
|
|
||||||
if (oldLastToken != cback()) {
|
if (oldLastToken != cback()) {
|
||||||
oldLastToken = cback();
|
oldLastToken = cback();
|
||||||
|
@ -462,7 +467,11 @@ void simplecpp::TokenList::readfile(std::istream &istr, const std::string &filen
|
||||||
}
|
}
|
||||||
|
|
||||||
push_back(new Token(currentToken, location));
|
push_back(new Token(currentToken, location));
|
||||||
location.adjust(currentToken);
|
|
||||||
|
if (multiline)
|
||||||
|
location.col += currentToken.size();
|
||||||
|
else
|
||||||
|
location.adjust(currentToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
combineOperators();
|
combineOperators();
|
||||||
|
|
Loading…
Reference in New Issue