Skip to content

Commit 94b17e8

Browse files
committed
parser-gcc: skip empty Lines
Fixes an parser error, that would be issues otherwise.
1 parent 15deabf commit 94b17e8

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/lib/parser-gcc.cc

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ namespace GccParserImpl {
2828

2929
enum EToken {
3030
T_NULL = 0,
31+
T_EMPTY,
3132
T_UNKNOWN,
3233

3334
T_INC,
@@ -110,9 +111,12 @@ EToken Tokenizer::readNext(DefEvent *pEvt)
110111
if (!std::getline(input_, line))
111112
return T_NULL;
112113

114+
if (line.empty())
115+
return T_EMPTY;
116+
113117
// drop CR at end of the line, coming from GCC in source code snippets
114118
// NOTE: std::string::back/pop_back() would look better but requires C++11
115-
if (!line.empty() && '\r' == *line.rbegin())
119+
if ('\r' == *line.rbegin())
116120
line.resize(line.size() - 1U);
117121

118122
lineNo_++;
@@ -527,6 +531,9 @@ bool BasicGccParser::getNext(Defect *pDef)
527531

528532
return this->exportAndReset(pDef);
529533

534+
case T_EMPTY:
535+
continue;
536+
530537
case T_INC:
531538
case T_SCOPE:
532539
done = this->exportAndReset(pDef);

0 commit comments

Comments
 (0)