aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorNeil <nyamatongwe@gmail.com>2019-01-05 08:52:28 +1100
committerNeil <nyamatongwe@gmail.com>2019-01-05 08:52:28 +1100
commit103d6796be9173e35c9ace763a2e3ad01f051d90 (patch)
tree211a9be08d6632c85d021b1dbb65d97f113e2048
parent22da8497568c5bdf273e9fcbe83dd47b2802b43b (diff)
downloadscintilla-mirror-103d6796be9173e35c9ace763a2e3ad01f051d90.tar.gz
Recognize negative line numbers in GCC-format messages.
Cppcheck shows some whole-file errors as line -1.
-rw-r--r--doc/ScintillaHistory.html5
-rw-r--r--lexers/LexErrorList.cxx2
2 files changed, 6 insertions, 1 deletions
diff --git a/doc/ScintillaHistory.html b/doc/ScintillaHistory.html
index 51a438682..bf58633c6 100644
--- a/doc/ScintillaHistory.html
+++ b/doc/ScintillaHistory.html
@@ -566,6 +566,11 @@
<li>
Updated case conversion and character categories to Unicode 11.
</li>
+ <li>
+ Errorlist lexer recognizes negative line numbers as some programs show whole-file
+ errors occurring on line -1.
+ SciTE's parsing of diagnostics also updated to handle this case.
+ </li>
<li>
Added "nim" lexer (SCLEX_NIM) for the Nim language which was previously called Nimrod.
For compatibility, the old "nimrod" lexer is still present but is deprecated and will be removed at the
diff --git a/lexers/LexErrorList.cxx b/lexers/LexErrorList.cxx
index b3dcd2a59..4ca772814 100644
--- a/lexers/LexErrorList.cxx
+++ b/lexers/LexErrorList.cxx
@@ -175,7 +175,7 @@ static int RecogniseErrorListLine(const char *lineBuffer, Sci_PositionU lengthLi
canBeCtags = false;
}
} else if (state == stGccStart) { // <filename>:
- state = Is0To9(ch) ? stGccDigit : stUnrecognized;
+ state = ((ch == '-') || Is0To9(ch)) ? stGccDigit : stUnrecognized;
} else if (state == stGccDigit) { // <filename>:<line>
if (ch == ':') {
state = stGccColumn; // :9.*: is GCC