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