*** empty log message ***
[bpt/emacs.git] / etc / compilation.txt
1 * Introduction -*-compilation-*-
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 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.
12
13
14 * Absoft FORTRAN 77 Compiler 3.1.3
15
16 symbol: absoft
17
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
22
23
24 * Ada & Mpatrol (memory leak debugger)
25
26 symbol: ada
27
28 This matches only the end of line, the beginning is covered by GNU style.
29
30 foo.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
36 symbol: 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
43 symbol: ant
44
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?
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
56 symbol: bash
57
58 a.sh: line 1: ls-l: command not found
59
60
61 * Borland C++, C++Builder
62
63 symbol: borland
64
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
69
70
71 * Caml & Python
72
73 symbol: caml
74
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
81
82
83 * Apollo cc, 4.3BSD fc & IBM RS6000/AIX xlc compiler & Microtec mcc68k & GNAT (July 94)
84
85 symbol: 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
94 * EDG C/C++
95
96 symbol: edg-1 edg-2
97
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"
102
103
104 * EPC F90 compiler
105
106 symbol: epc
107
108 Error 24 at (2:progran.f90) : syntax error
109
110
111 * IAR Systems C Compiler
112
113 symbol: iar
114
115 "foo.c",3 Error[32]: Error message
116 "foo.c",3 Warning[32]: Error message
117
118
119 * IBM C/C++ Tools 2.01
120
121 symbol: ibm
122
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.
126
127
128 * Ultrix MIPS RISC CC & DEC AXP OSF/1 cc & IRIX 5.2
129
130 symbol: irix
131
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
139
140
141 * Java Exception & Valgrind (memory debugger for x86 GNU/Linux)
142
143 symbol: java
144
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)
151
152
153 * IBM jikes
154
155 symbols: jikes-file jikes-line
156
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.
160
161 Found 2 semantic errors compiling "../javax/swing/BorderFactory.java":
162
163 150. case '{':
164 <->
165 *** Error: The type of this expression, "char", is not ...
166
167 312. return new CompoundBorder(outside, inside);
168 <--------------------------------->
169 *** Error: No match was found for constructor ...
170
171 Issued 1 semantic warning compiling "java/awt/Toolkit.java":
172
173 504. void imgProduceImage( ImageNativeProducer prod, Ptr imgData);
174 <----------------->
175 *** Warning: The type "ImageNativeProducer" is defined ...
176
177
178 * GCC include message
179
180 symbol: gcc-include
181
182 The last file, i.e. the one you are compiling, is the interesting one.
183
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:
187
188
189 * GNU style
190
191 symbol: gnu
192
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
209
210
211 * Lucid Compiler, lcc 3.x
212
213 symbol: lcc
214
215 E, file.cc(35,52) Illegal operation on pointers
216 W, file.cc(36,52) blah blah
217
218
219 * makepp 1.20
220
221 symbol: makepp
222
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'
227
228
229 * MIPS lint; looks good for SunPro lint also
230
231 symbols: mips-1 mips-2
232
233 This can match multiple times on a line.
234
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)
237
238
239 * Microsoft C/C++
240
241 symbol: msft
242
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.
247
248 keyboard handler.c(537) : warning C4005: 'min' : macro redefinition
249 d:\tmp\test.c(23) : error C2143: syntax error : missing ';' before 'if'
250
251
252 * Oracle pro*c
253
254 symbol: oracle
255
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.
260
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:
267
268
269 * Perl
270
271 symbol: perl
272
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
276
277
278 * RXP
279
280 symbol: rxp
281
282 GPL XML validator at http://www.cogsci.ed.ac.uk/~richard/rxp.html
283
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
288
289
290 * Sparc Pascal
291
292 symbols: sparc-pascal-file sparc-pascal-line sparc-pascal-example
293
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.
297
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
305
306
307 * SGI IRIX MipsPro 7.3 & Sun F90 & Cray C
308
309 symbol: sun
310
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
314
315
316 * Sun Ada (VADS, Solaris)
317
318 symbol: sun-ada
319
320 /home3/xdhar/rcds_rc/main.a, line 361, char 6:syntax error: "," inserted
321
322
323 * 4.3BSD grep, cc, lint
324
325 symbol: 4bsd
326
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
331
332
333 * Directory tracking
334
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.
338
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'
343
344
345 * Miscellaneous
346
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.
350
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