]> code.delx.au - gnu-emacs/blob - etc/compilation.txt
(gdb-many-windows): Doc fix (Nil -> nil).
[gnu-emacs] / etc / compilation.txt
1 * Introduction -*-compilation-*- (Copyright information at end of file)
2
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.
7
8 Note that the following example line should NOT be highlighted:
9 Compilation started at Sat Jul 8 15:19:25
10
11 The important part is the symbol(s) line at the beginning of each entry.
12 These are the symbols you can customize `compilation-error-regexp-alist' for,
13 to match the messages shown in that entry. A few complex cases have more than
14 one symbol, which should be selected together.
15
16
17 * Absoft FORTRAN 77 Compiler 3.1.3
18
19 symbol: absoft
20
21 Error on line 3 of t.f: Execution error unclassifiable statement
22 Line 45 of "foo.c": bloofle undefined
23 error on line 19 of fplot.f: spelling error?
24 warning on line 17 of fplot.f: data type is undefined for variable d
25
26
27 * Ada & Mpatrol (memory leak debugger)
28
29 symbol: ada
30
31 This matches only the end of line, the beginning is covered by GNU style.
32
33 foo.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
39 symbol: 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
46 symbol: ant
47
48 The regexps found on http://ant.apache.org/faq.html, and since integrated in
49 both Emacsen, were hairy. Why so many numbers for jikes -- is one a column
50 number?
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
59 symbol: bash
60
61 a.sh: line 1: ls-l: command not found
62
63
64 * Borland C++, C++Builder
65
66 symbol: borland
67
68 Error ping.c 15: Unable to open include file 'sys/types.h'
69 Warning ping.c 68: Call to function 'func' with no prototype
70 Error E2010 ping.c 15: Unable to open include file 'sys/types.h'
71 Warning W1022 ping.c 68: Call to function 'func' with no prototype
72
73
74 * Caml & Python
75
76 symbol: caml
77
78 File "foobar.ml", lines 5-8, characters 20-155: blah blah
79 File "F:\ocaml\sorting.ml", line 65, characters 2-145:
80 Warning: 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
88 symbol: 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
99 symbol: edg-1 edg-2
100
101 build/intel/debug/../../../struct.cpp(42): error: identifier "foo" is undefined
102 build/intel/debug/../../../struct.cpp(44): warning #1011: missing return statement at end of ...
103 build/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
109 symbol: epc
110
111 Error 24 at (2:progran.f90) : syntax error
112
113
114 * Fortran checker
115
116 symbols: 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
120 Warning near line 10 file arrayclash.f: Module contains no executable
121 Nonportable usage near line 31 col 9 file assign.f: mixed default and explicit
122
123
124 * IAR Systems C Compiler
125
126 symbol: 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
134 symbol: ibm
135
136 foo.c(2:0) : informational EDC0804: Function foo is not referenced.
137 foo.c(3:8) : warning EDC0833: Implicit return statement encountered.
138 foo.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
143 symbol: irix
144
145 ccom: Error: foo.c, line 2: syntax error
146 cc: Severe: /src/Python-2.3.3/Modules/_curses_panel.c, line 17: Cannot find file <panel.h> ...
147 cc: Info: foo.c, line 27: ...
148 cfe: Warning 712: foo.c, line 2: illegal combination of pointer and ...
149 cfe: 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
152 foo bar: baz.f, line 27: ...
153
154
155 * Java Exception & Valgrind (memory debugger for x86 GNU/Linux)
156
157 symbol: java
158
159 Register 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
169 symbols: jikes-file jikes-line
170
171 Jikes separates file names from the actual error messages. For visual
172 feedback the underline and the word "Error" on the 3rd line is fontified like
173 a file name would be.
174
175 Found 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
185 Issued 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
194 symbol: gcc-include
195
196 The last file, i.e. the one you are compiling, is the interesting one.
197
198 In 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
205 symbol: gnu
206
207 foo.c:8: message
208 ../foo.c:8: W: message
209 /tmp/foo.c:8:warning message
210 foo/bar.py:8: FutureWarning message
211 foo.py:8: RuntimeWarning message
212 foo.c:8:I: message
213 foo.c:8.23: info: message
214 foo.c:8:23:information: message
215 foo.c:8.23-45: Informational: message
216 foo.c:8-23: message
217 foo.c:8-45.3: message
218 foo.c:8.23-9.1: message
219 jade:dbcommon.dsl:133:17:E: missing argument for function call
220 G:/cygwin/dev/build-myproj.xml:54: Compiler Adapter 'javac' can't be found.
221 file: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
227 symbol: lcc
228
229 E, file.cc(35,52) Illegal operation on pointers
230 W, file.cc(36,52) blah blah
231
232
233 * makepp 1.20
234
235 symbol: makepp
236
237 makepp: Scanning `/foo/bar.c'
238 makepp: warning: bla bla `/foo/bar.c' and `/foo/bar.h'
239 makepp: bla bla `/foo/Makeppfile:12' bla
240 makepp: bla bla `/foo/bar.c' and `/foo/bar.h'
241
242
243 * MIPS lint; looks good for SunPro lint also
244
245 symbols: mips-1 mips-2
246
247 This can match multiple times on a line.
248
249 TrimMask (255) in solomon.c may be indistinguishable from TrimMasks (93) in solomon.c due to truncation
250 name defined but never used: LinInt in cmap_calc.c(199)
251
252
253 * Microsoft C/C++
254
255 symbol: msft
256
257 This used to be less selective and allowed characters other than parens around
258 the line number, but that caused confusion for GNU-style error messages. This
259 used to reject spaces and dashes in file names, but they are valid now; so I
260 made it more strict about the error message that follows.
261
262 keyboard handler.c(537) : warning C4005: 'min' : macro redefinition
263 d:\tmp\test.c(23) : error C2143: syntax error : missing ';' before 'if'
264
265
266 * Oracle pro*c
267
268 symbol: oracle
269
270 This stupid precompiler wraps lines at column 80 in the middle of a file name.
271 There is no obvious way of detecting this or turning it off. But if you
272 delete the newline (probably needs M-x toggle-read-only), the file name will
273 automatically be reparsed, so that you can then go there.
274
275 Semantic error at line 528, column 5, file erosacqdb.pc:
276 Error at line 41, column 10 in file /usr/src/sb/ODBI_BHP.hpp
277 PCC-02150: error at line 49, column 27 in file /usr/src/sb/ODBI_dxfgh.pc
278 PCC-00003: invalid SQL Identifier at column name in line 12 of file /usr/src/sb/ODBI_BHP.hpp
279 PCC-00004: mismatched IF/ELSE/ENDIF block at line 27 in file /usr/src/sb/ODBI_BHP.hpp
280 PCC-02151: line 21 column 40 file /usr/src/sb/ODBI_BHP.hpp:
281
282
283 * Perl
284
285 symbol: perl
286
287 syntax error at automake line 922, near "':'"
288 Died at test.pl line 27.
289 store::odrecall('File_A', 'x2') called at store.pm line 90
290
291
292 * RXP
293
294 symbol: rxp
295
296 GPL XML validator at http://www.cogsci.ed.ac.uk/~richard/rxp.html
297
298 Error: Mismatched end tag: expected </geroup>, got </group>
299 in unnamed entity at line 71 char 8 of file:///home/reto/test/group.xml
300 Warning: Start tag for undeclared element geroup
301 in unnamed entity at line 4 char 8 of file:///home/reto/test/group.xml
302
303
304 * Sparc Pascal
305
306 symbols: sparc-pascal-file sparc-pascal-line sparc-pascal-example
307
308 These messages don't contain a file name. Instead the compiler gives a
309 message whenever the file being compiled is changed. For visual feedback the
310 error code is fontified like a file name would be.
311
312 Thu May 14 10:46:12 1992 mom3.p:
313 20 linjer : array[1..4] of linje;
314 w 18480-----------^--- Inserted ';'
315 20 linjer : array[1..4] of linje;
316 e 18480-----------^--- Inserted ';'
317 w 18520 line 61 - 0 is undefined
318 E 18520 line 61 - 0 is undefined
319
320
321 * SGI IRIX MipsPro 7.3 & Sun F90 & Cray C
322
323 symbol: sun
324
325 cc-1020 CC: REMARK File = CUI_App.h, Line = 735
326 cc-1070 cc: WARNING File = linkl.c, Line = 38
327 cf90-113 f90comp: ERROR NSE, File = Hoved.f90, Line = 16, Column = 3
328
329
330 * Sun Ada (VADS, Solaris)
331
332 symbol: 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
339 symbol: 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
343 strcmp: variable # of args. llib-lc(359) :: /usr/src/foo/foo.c(8)
344 bloofle defined( /users/wolfgang/foo.c(4) ), but never used
345
346
347 * GCOV (test coverage program)
348
349 symbol: 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
375 Directories are matched via `compilation-directory-matcher'. Files which are
376 not shown as full paths are searched for relative to the directory where the
377 message was issued.
378
379 Entering directory `/a/b/c'
380 Leaving directory `/a/b/c'
381 gmake[2]: Entering directory `/a/b/c'
382 makepp: Leaving directory `/a/b/c'
383
384
385 * Miscellaneous
386
387 These 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
389 a glance.
390
391 checking dynamic linker characteristics... GNU/Linux ld.so
392 checking if libtool supports shared libraries... yes
393 checking whether to build shared libraries... yes
394 checking whether -lc should be explicitly linked in... (cached) no
395 checking For GLIB - version >= 2.0.0... yes (version 2.1.0)
396 checking FONTCONFIG_CFLAGS...
397 g++ -o foo.o foo.cc
398 tool1 -output=foo foo.x
399 tool2 --outfile foo foo.y
400
401 Compilation started at Wed Jul 20 12:20:10
402 Compilation interrupt at Wed Jul 20 12:20:10
403 Compilation killed at Wed Jul 20 12:20:10
404 Compilation terminated at Wed Jul 20 12:20:10
405 Compilation exited abnormally with code 1 at Wed Jul 20 12:21:12
406 Compilation finished at Thu Jul 21 15:02:15
407
408 \f
409 Copyright (c) 2004, 2005, 2006
410 Free software Foundation, Inc.
411
412 COPYING 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