Mention `read-file-name-completion-ignore-case'.
[emacs.git] / etc / compilation.txt
blobff86583299d56bd1935f0e5d9879f7842f2d99e7
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 * IAR Systems C Compiler
113 symbol: iar
115 "foo.c",3  Error[32]: Error message
116 "foo.c",3  Warning[32]: Error message
119 * IBM C/C++ Tools 2.01
121 symbol: ibm
123 foo.c(2:0) : informational EDC0804: Function foo is not referenced.
124 foo.c(3:8) : warning EDC0833: Implicit return statement encountered.
125 foo.c(5:5) : error EDC0350: Syntax error.
128 * Ultrix MIPS RISC CC & DEC AXP OSF/1 cc & IRIX 5.2
130 symbol: irix
132 ccom: Error: foo.c, line 2: syntax error
133 cc: Severe: /src/Python-2.3.3/Modules/_curses_panel.c, line 17: Cannot find file <panel.h> ...
134 cc: Info: foo.c, line 27: ...
135 cfe: Warning 712: foo.c, line 2: illegal combination of pointer and ...
136 cfe: Warning 600: xfe.c: 170: Not in a conditional directive while ...
137 /usr/lib/cmplrs/cc/cfe: Error: foo.c: 1: blah blah
138 /usr/lib/cmplrs/cc/cfe: warning: foo.c: 1: blah blah
141 * Java Exception & Valgrind (memory debugger for x86 GNU/Linux)
143 symbol: java
145 Register 6 contains wrong type
146         at org.foo.ComponentGateway.doGet(ComponentGateway.java:172)
147         at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
148 ==1332== Invalid write of size 1
149 ==1332==    at 0x4040743C: System::getErrorString() (../src/Lib/System.cpp:217)
150 ==1332==    by 0x8008621: main (vtest.c:180)
153 * IBM jikes
155 symbols: jikes-file jikes-line
157 Jikes separates file names from the actual error messages.  For visual
158 feedback the underline and the word "Error" on the 3rd line is fontified like
159 a file name would be.
161 Found 2 semantic errors compiling "../javax/swing/BorderFactory.java":
163    150.               case '{':
164                            <->
165 *** Error: The type of this expression, "char", is not ...
167    312.     return new CompoundBorder(outside, inside);
168                    <--------------------------------->
169 *** Error: No match was found for constructor ...
171 Issued 1 semantic warning compiling "java/awt/Toolkit.java":
173    504. void imgProduceImage( ImageNativeProducer prod, Ptr imgData);
174                               <----------------->
175 *** Warning: The type "ImageNativeProducer" is defined ...
178 * GCC include message
180 symbol: gcc-include
182 The last file, i.e. the one you are compiling, is the interesting one.
184 In file included from /usr/include/c++/3.3/backward/warn.h:4,
185                  from /usr/include/c++/3.3/backward/iostream.h:31,
186                  from test_clt.cc:1:
189 * GNU style
191 symbol: gnu
193 foo.c:8: message
194 ../foo.c:8: W: message
195 /tmp/foo.c:8:warning message
196 foo/bar.py:8: FutureWarning message
197 foo.py:8: RuntimeWarning message
198 foo.c:8:I: message
199 foo.c:8.23: info: message
200 foo.c:8:23:information: message
201 foo.c:8.23-45: Informational: message
202 foo.c:8-23: message
203 foo.c:8-45.3: message
204 foo.c:8.23-9.1: message
205 jade:dbcommon.dsl:133:17:E: missing argument for function call
206 G:/cygwin/dev/build-myproj.xml:54: Compiler Adapter 'javac' can't be found.
207 file:G:/cygwin/dev/build-myproj.xml:54: Compiler Adapter 'javac' can't be found.
208 {standard input}:27041: Warning: end of file not at end of a line; newline inserted
211 * Lucid Compiler, lcc 3.x
213 symbol: lcc
215 E, file.cc(35,52) Illegal operation on pointers
216 W, file.cc(36,52) blah blah
219 * makepp 1.20
221 symbol: makepp
223 makepp: Scanning `/foo/bar.c'
224 makepp: warning: bla bla `/foo/bar.c' and `/foo/bar.h'
225 makepp: bla bla `/foo/Makeppfile:12' bla
226 makepp: bla bla `/foo/bar.c' and `/foo/bar.h'
229 * MIPS lint; looks good for SunPro lint also
231 symbols: mips-1 mips-2
233 This can match multiple times on a line.
235 TrimMask (255) in solomon.c may be indistinguishable from TrimMasks (93) in solomon.c due to truncation
236 name defined but never used: LinInt in cmap_calc.c(199)
239 * Microsoft C/C++
241 symbol: msft
243 This used to be less selective and allowed characters other than parens around
244 the line number, but that caused confusion for GNU-style error messages.  This
245 used to reject spaces and dashes in file names, but they are valid now; so I
246 made it more strict about the error message that follows.
248 keyboard handler.c(537) : warning C4005: 'min' : macro redefinition
249 d:\tmp\test.c(23) : error C2143: syntax error : missing ';' before 'if'
252 * Oracle pro*c
254 symbol: oracle
256 This stupid precompiler wraps lines at column 80 in the middle of a file name.
257 There is no obvious way of detecting this or turning it off.  But if you
258 delete the newline, the file name will automatically be reparsed, so that you
259 can then go there.
261 Semantic error at line 528, column 5, file erosacqdb.pc:
262 Error at line 41, column 10 in file /usr/src/sb/ODBI_BHP.hpp
263 PCC-02150: error at line 49, column 27 in file /usr/src/sb/ODBI_dxfgh.pc
264 PCC-00003: invalid SQL Identifier at column name in line 12 of file /usr/src/sb/ODBI_BHP.hpp
265 PCC-00004: mismatched IF/ELSE/ENDIF block at line 27 in file /usr/src/sb/ODBI_BHP.hpp
266 PCC-02151: line 21 column 40 file /usr/src/sb/ODBI_BHP.hpp:
269 * Perl
271 symbol: perl
273 syntax error at automake line 922, near "':'"
274 Died at test.pl line 27.
275 store::odrecall('File_A', 'x2') called at store.pm line 90
278 * RXP
280 symbol: rxp
282 GPL XML validator at http://www.cogsci.ed.ac.uk/~richard/rxp.html
284 Error: Mismatched end tag: expected </geroup>, got </group>
285 in unnamed entity at line 71 char 8 of file:///home/reto/test/group.xml
286 Warning: Start tag for undeclared element geroup
287 in unnamed entity at line 4 char 8 of file:///home/reto/test/group.xml
290 * Sparc Pascal
292 symbols: sparc-pascal-file sparc-pascal-line sparc-pascal-example
294 These messages don't contain a file name.  Instead the compiler gives a
295 message whenever the file being compiled is changed.  For visual feedback the
296 error code is fontified like a file name would be.
298 Thu May 14 10:46:12 1992  mom3.p:
299           20      linjer      : array[1..4] of linje;
300 w 18480-----------^---  Inserted ';'
301           20      linjer      : array[1..4] of linje;
302 e 18480-----------^---  Inserted ';'
303 w 18520 line 61 -  0 is undefined
304 E 18520 line 61 -  0 is undefined
307 * SGI IRIX MipsPro 7.3 & Sun F90 & Cray C
309 symbol: sun
311 cc-1020 CC: REMARK File = CUI_App.h, Line = 735
312 cc-1070 cc: WARNING File = linkl.c, Line = 38
313 cf90-113 f90comp: ERROR NSE, File = Hoved.f90, Line = 16, Column = 3
316 * Sun Ada (VADS, Solaris)
318 symbol: sun-ada
320 /home3/xdhar/rcds_rc/main.a, line 361, char 6:syntax error: "," inserted
323 * 4.3BSD grep, cc, lint
325 symbol: 4bsd
327 /usr/src/foo/foo.c(8): warning: w may be used before set
328 /usr/src/foo/foo.c(9): error: w is used before set
329 strcmp: variable # of args. llib-lc(359)  ::  /usr/src/foo/foo.c(8)
330 bloofle defined( /users/wolfgang/foo.c(4) ), but never used
333 * Directory tracking
335 Directories are matched via `compilation-directory-matcher'.  Files which are
336 not shown as full paths are searched for relative to the directory where the
337 message was issued.
339 Entering directory `/a/b/c'
340 Leaving directory `/a/b/c'
341 gmake[2]: Entering directory `/a/b/c'
342 makepp: Leaving directory `/a/b/c'
345 * Miscellaneous
347 These are not messages that can be gone to.  They are only highlighted via
348 `compilation-mode-font-lock-keywords' to recognize some useful information at
349 a glance.
351 checking dynamic linker characteristics... GNU/Linux ld.so
352 checking if libtool supports shared libraries... yes
353 checking whether to build shared libraries... yes
354 checking whether -lc should be explicitly linked in... (cached) no
355 checking For GLIB - version >= 2.0.0... yes (version 2.1.0)
356 checking FONTCONFIG_CFLAGS...
357 g++ -o foo.o foo.cc
358 tool1 -output=foo foo.x
359 tool2 --outfile foo foo.y