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
commit9dceeabe43a5997a2b84438fed499a3a8f5c6995 (patch)
tree63fb40bf44f850e1bad3d2b1703aaed6e087f3af
parent06c22cfa87130bc7fc57e547a3aa47cda948b085 (diff)
downloadscintilla-mirror-9dceeabe43a5997a2b84438fed499a3a8f5c6995.tar.gz
Backport: Recognize negative line numbers in GCC-format messages.
Cppcheck shows some whole-file errors as line -1. Backport of changeset 7191:c9ef21df2e3c.
-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 540a4e4d1..118693c57 100644
--- a/doc/ScintillaHistory.html
+++ b/doc/ScintillaHistory.html
@@ -548,6 +548,11 @@
<li>
Released 31 October 2018.
</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