1* Introduction -*-compilation-*- (Copyright information at end of file) 2 3This shows the different kinds of messages compile recognizes by default and 4how they are rendered. It is intended both to help you decide which matchers 5you need and as a test of the matchers. Move the mouse over a colored part or 6use `compilation-message-face', to see how much text was actually matched. 7 8Note that the following example line should NOT be highlighted: 9Compilation started at Sat Jul 8 15:19:25 10 11The important part is the symbol(s) line at the beginning of each entry. 12These are the symbols you can customize `compilation-error-regexp-alist' for, 13to match the messages shown in that entry. A few complex cases have more than 14one symbol, which should be selected together. 15 16 17* Absoft FORTRAN 77 Compiler 3.1.3 18 19symbol: absoft 20 21Error on line 3 of t.f: Execution error unclassifiable statement 22Line 45 of "foo.c": bloofle undefined 23error on line 19 of fplot.f: spelling error? 24warning on line 17 of fplot.f: data type is undefined for variable d 25 26 27* Ada & Mpatrol (memory leak debugger) 28 29symbol: ada 30 31This matches only the end of line, the beginning is covered by GNU style. 32 33foo.adb:61:11: [...] in call to size declared at foo.ads:11 34 0x8008621 main+16 at error.c:17 35 36 37* IBM AIX PS/2 C version 1.1 38 39symbol: aix 40 41****** Error number 140 in line 8 of file errors.c ****** 42 43 44* Ant Java: works at least for jikes and javac 45 46symbol: ant 47 48The regexps found on http://ant.apache.org/faq.html, and since integrated in 49both Emacsen, were hairy. Why so many numbers for jikes -- is one a column 50number? 51 52 [javac] /src/DataBaseTestCase.java:27: unreported exception ... 53 [javac] /src/DataBaseTestCase.java:49: warning: finally clause cannot complete normally 54 [jikes] foo.java:3:5:7:9: blah blah 55 56 57* Bash v2 58 59symbol: bash 60 61a.sh: line 1: ls-l: command not found 62 63 64* Borland C++, C++Builder 65 66symbol: borland 67 68Error ping.c 15: Unable to open include file 'sys/types.h' 69Warning ping.c 68: Call to function 'func' with no prototype 70Error E2010 ping.c 15: Unable to open include file 'sys/types.h' 71Warning W1022 ping.c 68: Call to function 'func' with no prototype 72 73 74* Caml & Python 75 76symbol: caml 77 78File "foobar.ml", lines 5-8, characters 20-155: blah blah 79File "F:\ocaml\sorting.ml", line 65, characters 2-145: 80Warning: this expression should have type unit. 81 File "/usr/share/gdesklets/display/TargetGauge.py", line 41, in add_children 82 File \lib\python\Products\PythonScripts\PythonScript.py, line 302, in _exec 83 File "/tmp/foo.py", line 10 84 85 86* Apollo cc, 4.3BSD fc & IBM RS6000/AIX xlc compiler & Microtec mcc68k & GNAT (July 94) 87 88symbol: comma 89 90"foo.f", line 3: Error: syntax error near end of statement 91"vvouch.c", line 19.5: 1506-046 (S) Syntax error. 92"foo.c", line 32 pos 1; (E) syntax error; unexpected symbol: "lossage" 93"foo.adb", line 2(11): warning: file name does not match ... 94"src/swapping.c", line 30.34: 1506-342 (W) "/*" detected in comment. 95 96 97* EDG C/C++ 98 99symbol: edg-1 edg-2 100 101build/intel/debug/../../../struct.cpp(42): error: identifier "foo" is undefined 102build/intel/debug/../../../struct.cpp(44): warning #1011: missing return statement at end of ... 103build/intel/debug/../../../iptr.h(302): remark #981: operands are evaluated in unspecified order 104 detected during ... at line 62 of "build/intel/debug/../../../trace.h" 105 106 107* EPC F90 compiler 108 109symbol: epc 110 111Error 24 at (2:progran.f90) : syntax error 112 113 114* Fortran checker 115 116symbols: ftnchek 117 118 Dummy arg W in module SUBA line 8 file arrayclash.f is array 119 L4 used at line 55 file test/assign.f; never set 120Warning near line 10 file arrayclash.f: Module contains no executable 121Nonportable usage near line 31 col 9 file assign.f: mixed default and explicit 122 123 124* IAR Systems C Compiler 125 126symbol: iar 127 128"foo.c",3 Error[32]: Error message 129"foo.c",3 Warning[32]: Error message 130 131 132* IBM C/C++ Tools 2.01 133 134symbol: ibm 135 136foo.c(2:0) : informational EDC0804: Function foo is not referenced. 137foo.c(3:8) : warning EDC0833: Implicit return statement encountered. 138foo.c(5:5) : error EDC0350: Syntax error. 139 140 141* Ultrix MIPS RISC CC, DEC AXP OSF/1 cc, IRIX 5.2 & NAG Fortran 142 143symbol: irix 144 145ccom: Error: foo.c, line 2: syntax error 146cc: Severe: /src/Python-2.3.3/Modules/_curses_panel.c, line 17: Cannot find file <panel.h> ... 147cc: Info: foo.c, line 27: ... 148cfe: Warning 712: foo.c, line 2: illegal combination of pointer and ... 149cfe: Warning 600: xfe.c: 170: Not in a conditional directive while ... 150/usr/lib/cmplrs/cc/cfe: Error: foo.c: 1: blah blah 151/usr/lib/cmplrs/cc/cfe: warning: foo.c: 1: blah blah 152foo bar: baz.f, line 27: ... 153 154 155* Java Exception & Valgrind (memory debugger for x86 GNU/Linux) 156 157symbol: java 158 159Register 6 contains wrong type 160 at org.foo.ComponentGateway.doGet(ComponentGateway.java:172) 161 at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) 162==1332== Invalid write of size 1 163==1332== at 0x4040743C: System::getErrorString() (../src/Lib/System.cpp:217) 164==1332== by 0x8008621: main (vtest.c:180) 165 166 167* IBM jikes 168 169symbols: jikes-file jikes-line 170 171Jikes separates file names from the actual error messages. For visual 172feedback the underline and the word "Error" on the 3rd line is fontified like 173a file name would be. 174 175Found 2 semantic errors compiling "../javax/swing/BorderFactory.java": 176 177 150. case '{': 178 <-> 179*** Error: The type of this expression, "char", is not ... 180 181 312. return new CompoundBorder(outside, inside); 182 <---------------------------------> 183*** Error: No match was found for constructor ... 184 185Issued 1 semantic warning compiling "java/awt/Toolkit.java": 186 187 504. void imgProduceImage( ImageNativeProducer prod, Ptr imgData); 188 <-----------------> 189*** Warning: The type "ImageNativeProducer" is defined ... 190 191 192* GCC include message 193 194symbol: gcc-include 195 196The last file, i.e. the one you are compiling, is the interesting one. 197 198In file included from /usr/include/c++/3.3/backward/warn.h:4, 199 from /usr/include/c++/3.3/backward/iostream.h:31, 200 from test_clt.cc:1: 201 202 203* GNU style 204 205symbol: gnu 206 207foo.c:8: message 208../foo.c:8: W: message 209/tmp/foo.c:8:warning message 210foo/bar.py:8: FutureWarning message 211foo.py:8: RuntimeWarning message 212foo.c:8:I: message 213foo.c:8.23: info: message 214foo.c:8:23:information: message 215foo.c:8.23-45: Informational: message 216foo.c:8-23: message 217foo.c:8-45.3: message 218foo.c:8.23-9.1: message 219jade:dbcommon.dsl:133:17:E: missing argument for function call 220G:/cygwin/dev/build-myproj.xml:54: Compiler Adapter 'javac' can't be found. 221file:G:/cygwin/dev/build-myproj.xml:54: Compiler Adapter 'javac' can't be found. 222{standard input}:27041: Warning: end of file not at end of a line; newline inserted 223 224 225* Lucid Compiler, lcc 3.x 226 227symbol: lcc 228 229E, file.cc(35,52) Illegal operation on pointers 230W, file.cc(36,52) blah blah 231 232 233* makepp 1.20 234 235symbol: makepp 236 237makepp: Scanning `/foo/bar.c' 238makepp: warning: bla bla `/foo/bar.c' and `/foo/bar.h' 239makepp: bla bla `/foo/Makeppfile:12' bla 240makepp: bla bla `/foo/bar.c' and `/foo/bar.h' 241 242 243* MIPS lint; looks good for SunPro lint also 244 245symbols: mips-1 mips-2 246 247This can match multiple times on a line. 248 249TrimMask (255) in solomon.c may be indistinguishable from TrimMasks (93) in solomon.c due to truncation 250name defined but never used: LinInt in cmap_calc.c(199) 251 252 253* Microsoft C/C++ 254 255symbol: msft 256 257This used to be less selective and allowed characters other than parens around 258the line number, but that caused confusion for GNU-style error messages. This 259used to reject spaces and dashes in file names, but they are valid now; so I 260made it more strict about the error message that follows. 261 262keyboard handler.c(537) : warning C4005: 'min' : macro redefinition 263d:\tmp\test.c(23) : error C2143: syntax error : missing ';' before 'if' 264 265 266* Oracle pro*c 267 268symbol: oracle 269 270This stupid precompiler wraps lines at column 80 in the middle of a file name. 271There is no obvious way of detecting this or turning it off. But if you 272delete the newline (probably needs M-x toggle-read-only), the file name will 273automatically be reparsed, so that you can then go there. 274 275Semantic error at line 528, column 5, file erosacqdb.pc: 276Error at line 41, column 10 in file /usr/src/sb/ODBI_BHP.hpp 277PCC-02150: error at line 49, column 27 in file /usr/src/sb/ODBI_dxfgh.pc 278PCC-00003: invalid SQL Identifier at column name in line 12 of file /usr/src/sb/ODBI_BHP.hpp 279PCC-00004: mismatched IF/ELSE/ENDIF block at line 27 in file /usr/src/sb/ODBI_BHP.hpp 280PCC-02151: line 21 column 40 file /usr/src/sb/ODBI_BHP.hpp: 281 282 283* Perl 284 285symbol: perl 286 287syntax error at automake line 922, near "':'" 288Died at test.pl line 27. 289store::odrecall('File_A', 'x2') called at store.pm line 90 290 291 292* RXP 293 294symbol: rxp 295 296GPL XML validator at http://www.cogsci.ed.ac.uk/~richard/rxp.html 297 298Error: Mismatched end tag: expected </geroup>, got </group> 299in unnamed entity at line 71 char 8 of file:///home/reto/test/group.xml 300Warning: Start tag for undeclared element geroup 301in unnamed entity at line 4 char 8 of file:///home/reto/test/group.xml 302 303 304* Sparc Pascal 305 306symbols: sparc-pascal-file sparc-pascal-line sparc-pascal-example 307 308These messages don't contain a file name. Instead the compiler gives a 309message whenever the file being compiled is changed. For visual feedback the 310error code is fontified like a file name would be. 311 312Thu May 14 10:46:12 1992 mom3.p: 313 20 linjer : array[1..4] of linje; 314w 18480-----------^--- Inserted ';' 315 20 linjer : array[1..4] of linje; 316e 18480-----------^--- Inserted ';' 317w 18520 line 61 - 0 is undefined 318E 18520 line 61 - 0 is undefined 319 320 321* SGI IRIX MipsPro 7.3 & Sun F90 & Cray C 322 323symbol: sun 324 325cc-1020 CC: REMARK File = CUI_App.h, Line = 735 326cc-1070 cc: WARNING File = linkl.c, Line = 38 327cf90-113 f90comp: ERROR NSE, File = Hoved.f90, Line = 16, Column = 3 328 329 330* Sun Ada (VADS, Solaris) 331 332symbol: sun-ada 333 334/home3/xdhar/rcds_rc/main.a, line 361, char 6:syntax error: "," inserted 335 336 337* 4.3BSD grep, cc, lint 338 339symbol: 4bsd 340 341/usr/src/foo/foo.c(8): warning: w may be used before set 342/usr/src/foo/foo.c(9): error: w is used before set 343strcmp: variable # of args. llib-lc(359) :: /usr/src/foo/foo.c(8) 344bloofle defined( /users/wolfgang/foo.c(4) ), but never used 345 346 347* GCOV (test coverage program) 348 349symbol: gcov-file gcov-bb-file gcov-never-called-line gcov-called-line 350 351 -: 0:Source:foo.c 352 -: 0:Object:foo.bb 353 -: 1:/* $ gcc -fprofile-arcs -ftest-coverage foo.c 354 -: 2: $ ./a.out 355 -: 3: $ gcov foo.c 356 -: 4: LANG=C gcov foo.c 357 -: 5: 62.50% of 8 lines executed in file foo.c 358 -: 6: Creating foo.c.gcov.*/ 359 -: 7:int 360 -: 8:main(int argc, char ** argv) 361 1: 9:{ 362 1: 10: int r; 363 1: 11: if (argc == 1) 364 1: 12: r = 1; 365 #####: 13: else if (argc == 2) 366 #####: 14: r = 2; 367 -: 15: else 368 #####: 16: r = 0; 369 1: 17: return r; 370 -: 18:} 371 372 373* Directory tracking 374 375Directories are matched via `compilation-directory-matcher'. Files which are 376not shown as full paths are searched for relative to the directory where the 377message was issued. 378 379Entering directory `/a/b/c' 380Leaving directory `/a/b/c' 381gmake[2]: Entering directory `/a/b/c' 382makepp: Leaving directory `/a/b/c' 383 384 385* Miscellaneous 386 387These are not messages that can be gone to. They are only highlighted via 388`compilation-mode-font-lock-keywords' to recognize some useful information at 389a glance. 390 391checking dynamic linker characteristics... GNU/Linux ld.so 392checking if libtool supports shared libraries... yes 393checking whether to build shared libraries... yes 394checking whether -lc should be explicitly linked in... (cached) no 395checking For GLIB - version >= 2.0.0... yes (version 2.1.0) 396checking FONTCONFIG_CFLAGS... 397g++ -o foo.o foo.cc 398tool1 -output=foo foo.x 399tool2 --outfile foo foo.y 400 401Compilation started at Wed Jul 20 12:20:10 402Compilation interrupt at Wed Jul 20 12:20:10 403Compilation killed at Wed Jul 20 12:20:10 404Compilation terminated at Wed Jul 20 12:20:10 405Compilation exited abnormally with code 1 at Wed Jul 20 12:21:12 406Compilation finished at Thu Jul 21 15:02:15 407 408 409Copyright (C) 2004, 2005, 2006, 2007 410Free Software Foundation, Inc. 411 412COPYING PERMISSIONS: 413 414 This document is free software; you can redistribute it and/or modify 415 it under the terms of the GNU General Public License as published by 416 the Free Software Foundation; either version 2 of the License, or 417 (at your option) any later version. 418 419 This program is distributed in the hope that it will be useful, 420 but WITHOUT ANY WARRANTY; without even the implied warranty of 421 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 422 GNU General Public License for more details. 423 424 You should have received a copy of the GNU General Public License 425 along with this program; if not, write to the Free Software 426 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 427