(diary-from-outlook, diary-from-outlook-gnus)
[emacs.git] / etc / compilation.txt
blobbae217e832396acd1d2d17b77d7f228833e01ecc
1 * Introduction  -*-compilation-*-
3 This shows the different kinds of messages compile recognizes by default and
4 how they are rendered.  It is intended both to help you decide which matchers
5 you need and as a test of the matchers.  Move the mouse over a colored part or
6 use `compilation-message-face', to see how much text was actually matched.
8 The important part is the symbol(s) line at the beginning of each entry.
9 These are the symbols you can customize `compilation-error-regexp-alist' for,
10 to match the messages shown in that entry.  A few complex cases have more than
11 one symbol, which should be selected together.
14 * Absoft FORTRAN 77 Compiler 3.1.3
16 symbol: absoft
18 Error on line 3 of t.f: Execution error unclassifiable statement
19 Line 45 of "foo.c": bloofle undefined
20 error on line 19 of fplot.f: spelling error?
21 warning on line 17 of fplot.f: data type is undefined for variable d
24 * Ada & Mpatrol (memory leak debugger)
26 symbol: ada
28 This matches only the end of line, the beginning is covered by GNU style.
30 foo.adb:61:11:  [...] in call to size declared at foo.ads:11
31         0x8008621 main+16 at error.c:17
34 * IBM AIX PS/2 C version 1.1
36 symbol: aix
38 ****** Error number 140 in line 8 of file errors.c ******
41 * Ant Java: works at least for jikes and javac
43 symbol: ant
45 The regexps found on http://ant.apache.org/faq.html, and since integrated in
46 both Emacsen, were hairy.  Why so many numbers for jikes -- is one a column
47 number?
49     [javac] /src/DataBaseTestCase.java:27: unreported exception ...
50     [javac] /src/DataBaseTestCase.java:49: warning: finally clause cannot complete normally
51     [jikes]  foo.java:3:5:7:9: blah blah
54 * Bash v2
56 symbol: bash
58 a.sh: line 1: ls-l: command not found
61 * Borland C++, C++Builder
63 symbol: borland
65 Error ping.c 15: Unable to open include file 'sys/types.h'
66 Warning ping.c 68: Call to function 'func' with no prototype
67 Error E2010 ping.c 15: Unable to open include file 'sys/types.h'
68 Warning W1022 ping.c 68: Call to function 'func' with no prototype
71 * Caml & Python
73 symbol: caml
75 File "foobar.ml", lines 5-8, characters 20-155: blah blah
76 File "F:\ocaml\sorting.ml", line 65, characters 2-145:
77 Warning: this expression should have type unit.
78   File "/usr/share/gdesklets/display/TargetGauge.py", line 41, in add_children
79   File \lib\python\Products\PythonScripts\PythonScript.py, line 302, in _exec
80   File "/tmp/foo.py", line 10
83 * Apollo cc, 4.3BSD fc & IBM RS6000/AIX xlc compiler & Microtec mcc68k & GNAT (July 94)
85 symbol: comma
87 "foo.f", line 3: Error: syntax error near end of statement
88 "vvouch.c", line 19.5: 1506-046 (S) Syntax error.
89 "foo.c", line 32 pos 1; (E) syntax error; unexpected symbol: "lossage"
90 "foo.adb", line 2(11): warning: file name does not match ...
91 "src/swapping.c", line 30.34: 1506-342 (W) "/*" detected in comment.
94 * EDG C/C++
96 symbol: edg-1 edg-2
98 build/intel/debug/../../../struct.cpp(42): error: identifier "foo" is undefined
99 build/intel/debug/../../../struct.cpp(44): warning #1011: missing return statement at end of ...
100 build/intel/debug/../../../iptr.h(302): remark #981: operands are evaluated in unspecified order
101           detected during ... at line 62 of "build/intel/debug/../../../trace.h"
104 * EPC F90 compiler
106 symbol: epc
108 Error 24 at (2:progran.f90) : syntax error
111 * Fortran checker
113 symbols: ftnchek-file ftnchek-line-file ftnchek-line
115 File average.f:
117 Warning in module COMPAV: Variables may be used before set:
118     SUM used at line 14
119     SUM set at line 14
121 Warning near line 16 col 20: integer quotient expr I/J  converted to real
123     Dummy arg W in module SUBA line 8 file arrayclash.f is array
124     L4 used at line 55 file test/assign.f; never set
125 Warning near line 10 file arrayclash.f: Module contains no executable
126 Nonportable usage near line 31 col 9 file assign.f: mixed default and explicit
129 * IAR Systems C Compiler
131 symbol: iar
133 "foo.c",3  Error[32]: Error message
134 "foo.c",3  Warning[32]: Error message
137 * IBM C/C++ Tools 2.01
139 symbol: ibm
141 foo.c(2:0) : informational EDC0804: Function foo is not referenced.
142 foo.c(3:8) : warning EDC0833: Implicit return statement encountered.
143 foo.c(5:5) : error EDC0350: Syntax error.
146 * Ultrix MIPS RISC CC, DEC AXP OSF/1 cc, IRIX 5.2 & NAG Fortran
148 symbol: irix
150 ccom: Error: foo.c, line 2: syntax error
151 cc: Severe: /src/Python-2.3.3/Modules/_curses_panel.c, line 17: Cannot find file <panel.h> ...
152 cc: Info: foo.c, line 27: ...
153 cfe: Warning 712: foo.c, line 2: illegal combination of pointer and ...
154 cfe: Warning 600: xfe.c: 170: Not in a conditional directive while ...
155 /usr/lib/cmplrs/cc/cfe: Error: foo.c: 1: blah blah
156 /usr/lib/cmplrs/cc/cfe: warning: foo.c: 1: blah blah
157 foo bar: baz.f, line 27: ...
160 * Java Exception & Valgrind (memory debugger for x86 GNU/Linux)
162 symbol: java
164 Register 6 contains wrong type
165         at org.foo.ComponentGateway.doGet(ComponentGateway.java:172)
166         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
167 ==1332== Invalid write of size 1
168 ==1332==    at 0x4040743C: System::getErrorString() (../src/Lib/System.cpp:217)
169 ==1332==    by 0x8008621: main (vtest.c:180)
172 * IBM jikes
174 symbols: jikes-file jikes-line
176 Jikes separates file names from the actual error messages.  For visual
177 feedback the underline and the word "Error" on the 3rd line is fontified like
178 a file name would be.
180 Found 2 semantic errors compiling "../javax/swing/BorderFactory.java":
182    150.               case '{':
183                            <->
184 *** Error: The type of this expression, "char", is not ...
186    312.     return new CompoundBorder(outside, inside);
187                    <--------------------------------->
188 *** Error: No match was found for constructor ...
190 Issued 1 semantic warning compiling "java/awt/Toolkit.java":
192    504. void imgProduceImage( ImageNativeProducer prod, Ptr imgData);
193                               <----------------->
194 *** Warning: The type "ImageNativeProducer" is defined ...
197 * GCC include message
199 symbol: gcc-include
201 The last file, i.e. the one you are compiling, is the interesting one.
203 In file included from /usr/include/c++/3.3/backward/warn.h:4,
204                  from /usr/include/c++/3.3/backward/iostream.h:31,
205                  from test_clt.cc:1:
208 * GNU style
210 symbol: gnu
212 foo.c:8: message
213 ../foo.c:8: W: message
214 /tmp/foo.c:8:warning message
215 foo/bar.py:8: FutureWarning message
216 foo.py:8: RuntimeWarning message
217 foo.c:8:I: message
218 foo.c:8.23: info: message
219 foo.c:8:23:information: message
220 foo.c:8.23-45: Informational: message
221 foo.c:8-23: message
222 foo.c:8-45.3: message
223 foo.c:8.23-9.1: message
224 jade:dbcommon.dsl:133:17:E: missing argument for function call
225 G:/cygwin/dev/build-myproj.xml:54: Compiler Adapter 'javac' can't be found.
226 file:G:/cygwin/dev/build-myproj.xml:54: Compiler Adapter 'javac' can't be found.
227 {standard input}:27041: Warning: end of file not at end of a line; newline inserted
230 * Lucid Compiler, lcc 3.x
232 symbol: lcc
234 E, file.cc(35,52) Illegal operation on pointers
235 W, file.cc(36,52) blah blah
238 * makepp 1.20
240 symbol: makepp
242 makepp: Scanning `/foo/bar.c'
243 makepp: warning: bla bla `/foo/bar.c' and `/foo/bar.h'
244 makepp: bla bla `/foo/Makeppfile:12' bla
245 makepp: bla bla `/foo/bar.c' and `/foo/bar.h'
248 * MIPS lint; looks good for SunPro lint also
250 symbols: mips-1 mips-2
252 This can match multiple times on a line.
254 TrimMask (255) in solomon.c may be indistinguishable from TrimMasks (93) in solomon.c due to truncation
255 name defined but never used: LinInt in cmap_calc.c(199)
258 * Microsoft C/C++
260 symbol: msft
262 This used to be less selective and allowed characters other than parens around
263 the line number, but that caused confusion for GNU-style error messages.  This
264 used to reject spaces and dashes in file names, but they are valid now; so I
265 made it more strict about the error message that follows.
267 keyboard handler.c(537) : warning C4005: 'min' : macro redefinition
268 d:\tmp\test.c(23) : error C2143: syntax error : missing ';' before 'if'
271 * Oracle pro*c
273 symbol: oracle
275 This stupid precompiler wraps lines at column 80 in the middle of a file name.
276 There is no obvious way of detecting this or turning it off.  But if you
277 delete the newline, the file name will automatically be reparsed, so that you
278 can then go there.
280 Semantic error at line 528, column 5, file erosacqdb.pc:
281 Error at line 41, column 10 in file /usr/src/sb/ODBI_BHP.hpp
282 PCC-02150: error at line 49, column 27 in file /usr/src/sb/ODBI_dxfgh.pc
283 PCC-00003: invalid SQL Identifier at column name in line 12 of file /usr/src/sb/ODBI_BHP.hpp
284 PCC-00004: mismatched IF/ELSE/ENDIF block at line 27 in file /usr/src/sb/ODBI_BHP.hpp
285 PCC-02151: line 21 column 40 file /usr/src/sb/ODBI_BHP.hpp:
288 * Perl
290 symbol: perl
292 syntax error at automake line 922, near "':'"
293 Died at test.pl line 27.
294 store::odrecall('File_A', 'x2') called at store.pm line 90
297 * RXP
299 symbol: rxp
301 GPL XML validator at http://www.cogsci.ed.ac.uk/~richard/rxp.html
303 Error: Mismatched end tag: expected </geroup>, got </group>
304 in unnamed entity at line 71 char 8 of file:///home/reto/test/group.xml
305 Warning: Start tag for undeclared element geroup
306 in unnamed entity at line 4 char 8 of file:///home/reto/test/group.xml
309 * Sparc Pascal
311 symbols: sparc-pascal-file sparc-pascal-line sparc-pascal-example
313 These messages don't contain a file name.  Instead the compiler gives a
314 message whenever the file being compiled is changed.  For visual feedback the
315 error code is fontified like a file name would be.
317 Thu May 14 10:46:12 1992  mom3.p:
318           20      linjer      : array[1..4] of linje;
319 w 18480-----------^---  Inserted ';'
320           20      linjer      : array[1..4] of linje;
321 e 18480-----------^---  Inserted ';'
322 w 18520 line 61 -  0 is undefined
323 E 18520 line 61 -  0 is undefined
326 * SGI IRIX MipsPro 7.3 & Sun F90 & Cray C
328 symbol: sun
330 cc-1020 CC: REMARK File = CUI_App.h, Line = 735
331 cc-1070 cc: WARNING File = linkl.c, Line = 38
332 cf90-113 f90comp: ERROR NSE, File = Hoved.f90, Line = 16, Column = 3
335 * Sun Ada (VADS, Solaris)
337 symbol: sun-ada
339 /home3/xdhar/rcds_rc/main.a, line 361, char 6:syntax error: "," inserted
342 * 4.3BSD grep, cc, lint
344 symbol: 4bsd
346 /usr/src/foo/foo.c(8): warning: w may be used before set
347 /usr/src/foo/foo.c(9): error: w is used before set
348 strcmp: variable # of args. llib-lc(359)  ::  /usr/src/foo/foo.c(8)
349 bloofle defined( /users/wolfgang/foo.c(4) ), but never used
352 * Directory tracking
354 Directories are matched via `compilation-directory-matcher'.  Files which are
355 not shown as full paths are searched for relative to the directory where the
356 message was issued.
358 Entering directory `/a/b/c'
359 Leaving directory `/a/b/c'
360 gmake[2]: Entering directory `/a/b/c'
361 makepp: Leaving directory `/a/b/c'
364 * Miscellaneous
366 These are not messages that can be gone to.  They are only highlighted via
367 `compilation-mode-font-lock-keywords' to recognize some useful information at
368 a glance.
370 checking dynamic linker characteristics... GNU/Linux ld.so
371 checking if libtool supports shared libraries... yes
372 checking whether to build shared libraries... yes
373 checking whether -lc should be explicitly linked in... (cached) no
374 checking For GLIB - version >= 2.0.0... yes (version 2.1.0)
375 checking FONTCONFIG_CFLAGS...
376 g++ -o foo.o foo.cc
377 tool1 -output=foo foo.x
378 tool2 --outfile foo foo.y