]> git.eshelyaron.com Git - emacs.git/commitdiff
Add a new compile error regexp for Clang includes
authorPhilipp Stephani <phst@google.com>
Sat, 10 Dec 2016 20:39:55 +0000 (21:39 +0100)
committerPhilipp Stephani <phst@google.com>
Sun, 18 Dec 2016 20:59:14 +0000 (21:59 +0100)
Clang uses a slight variation of GCC's include format, causing includes
to be treated as warnings instead of informational messages.  Use a new
regular expression instead.

* lisp/progmodes/compile.el
(compilation-error-regexp-alist-alist): New element
`clang-include' for Clang-style "included from" lines.
* test/lisp/progmodes/compile-tests.el
(compile-tests--test-regexps-data): Add unit test.

lisp/progmodes/compile.el
test/lisp/progmodes/compile-tests.el

index fc7056ceeacfa4c26f611e63b9d5e93bc6d33590..7f20e79a2634b189a43e90ab033ba3617d6ea763 100644 (file)
@@ -230,6 +230,13 @@ of[ \t]+\"?\\([a-zA-Z]?:?[^\":\n]+\\)\"?:" 3 2 nil (1))
      nil 1 nil 2 0
      (2 (compilation-face '(3))))
 
+    (clang-include
+     ,(rx bol "In file included from "
+          (group (+ (not (any ?\n ?:)))) ?:
+          (group (+ (any (?0 . ?9)))) ?:
+          eol)
+     1 2 nil 0)
+
     (gcc-include
      "^\\(?:In file included \\|                 \\|\t\\)from \
 \\([0-9]*[^0-9\n]\\(?:[^\n :]\\| [^-/\n]\\|:[^ \n]\\)*?\\):\
index 631174fa0082a6a4b4c504f2a0696d97a2e28ace..9f61c20fd5ebec69efc1394b539864e649a3d686 100644 (file)
@@ -83,6 +83,9 @@
      1 nil 302 "\\lib\\python\\Products\\PythonScripts\\PythonScript.py")
     ("File \"/tmp/foo.py\", line 10"
      1 nil 10 "/tmp/foo.py")
+    ;; clang-include
+    ("In file included from foo.cpp:2:"
+     1 nil 2 "foo.cpp" 0)
     ;; cmake cmake-info
     ("CMake Error at CMakeLists.txt:23 (hurz):"
      1 nil 23 "CMakeLists.txt")