Mercurial > emacs
comparison etc/compilation.txt @ 54365:15b0be6b509f
Initial import.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Thu, 11 Mar 2004 22:43:24 +0000 |
parents | |
children | a88e6b97afe3 |
comparison
equal
deleted
inserted
replaced
54364:935dc2deee34 | 54365:15b0be6b509f |
---|---|
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 | |
80 | |
81 * Apollo cc, 4.3BSD fc & IBM RS6000/AIX xlc compiler & Microtec mcc68k & GNAT (July 94) | |
82 | |
83 symbol: comma | |
84 | |
85 "foo.f", line 3: Error: syntax error near end of statement | |
86 "vvouch.c", line 19.5: 1506-046 (S) Syntax error. | |
87 "foo.c", line 32 pos 1; (E) syntax error; unexpected symbol: "lossage" | |
88 "foo.adb", line 2(11): warning: file name does not match ... | |
89 "src/swapping.c", line 30.34: 1506-342 (W) "/*" detected in comment. | |
90 | |
91 | |
92 * EPC F90 compiler | |
93 | |
94 symbol: epc | |
95 | |
96 Error 24 at (2:progran.f90) : syntax error | |
97 | |
98 | |
99 * IAR Systems C Compiler | |
100 | |
101 symbol: iar | |
102 | |
103 "foo.c",3 Error[32]: Error message | |
104 "foo.c",3 Warning[32]: Error message | |
105 | |
106 | |
107 * IBM C/C++ Tools 2.01 | |
108 | |
109 symbol: ibm | |
110 | |
111 foo.c(2:0) : informational EDC0804: Function foo is not referenced. | |
112 foo.c(3:8) : warning EDC0833: Implicit return statement encountered. | |
113 foo.c(5:5) : error EDC0350: Syntax error. | |
114 | |
115 | |
116 * Ultrix MIPS RISC CC & DEC AXP OSF/1 cc & IRIX 5.2 | |
117 | |
118 symbol: irix | |
119 | |
120 ccom: Error: foo.c, line 2: syntax error | |
121 cfe: Warning 712: foo.c, line 2: illegal combination of pointer and ... | |
122 cfe: Warning 600: xfe.c: 170: Not in a conditional directive while ... | |
123 /usr/lib/cmplrs/cc/cfe: Error: foo.c: 1: blah blah | |
124 /usr/lib/cmplrs/cc/cfe: warning: foo.c: 1: blah blah | |
125 | |
126 | |
127 * Java Exception & Valgrind (memory debugger for x86 GNU/Linux) | |
128 | |
129 symbol: java | |
130 | |
131 Register 6 contains wrong type | |
132 at org.foo.ComponentGateway.doGet(ComponentGateway.java:172) | |
133 at javax.servlet.http.HttpServlet.service(HttpServlet.java:740) | |
134 ==1332== Invalid write of size 1 | |
135 ==1332== at 0x4040743C: System::getErrorString() (../src/Lib/System.cpp:217) | |
136 ==1332== by 0x8008621: main (vtest.c:180) | |
137 | |
138 | |
139 * IBM jikes | |
140 | |
141 symbols: jikes-file jikes-line | |
142 | |
143 Jikes separates file names from the actual error messages. For visual | |
144 feedback the underline and the word "Error" on the 3rd line is fontified like | |
145 a file name would be. | |
146 | |
147 Found 2 semantic errors compiling "../javax/swing/BorderFactory.java": | |
148 | |
149 150. case '{': | |
150 <-> | |
151 *** Error: The type of this expression, "char", is not ... | |
152 | |
153 312. return new CompoundBorder(outside, inside); | |
154 <---------------------------------> | |
155 *** Error: No match was found for constructor ... | |
156 | |
157 Issued 1 semantic warning compiling "java/awt/Toolkit.java": | |
158 | |
159 504. void imgProduceImage( ImageNativeProducer prod, Ptr imgData); | |
160 <-----------------> | |
161 *** Warning: The type "ImageNativeProducer" is defined ... | |
162 | |
163 | |
164 * GCC include message | |
165 | |
166 symbol: gcc-include | |
167 | |
168 The last file, i.e. the one you are compiling, is the interesting one. | |
169 | |
170 In file included from /usr/include/c++/3.3/backward/warn.h:4, | |
171 from /usr/include/c++/3.3/backward/iostream.h:31, | |
172 from test_clt.cc:1: | |
173 | |
174 | |
175 * GNU style | |
176 | |
177 symbol: gnu | |
178 | |
179 foo.c:8: message | |
180 ../foo.c:8: W: message | |
181 /tmp/foo.c:8:warning message | |
182 foo/bar.py:8: FutureWarning message | |
183 foo.py:8: RuntimeWarning message | |
184 foo.c:8:I: message | |
185 foo.c:8.23: info: message | |
186 foo.c:8:23:information: message | |
187 foo.c:8.23-45: Informational: message | |
188 foo.c:8-23: message | |
189 foo.c:8-45.3: message | |
190 foo.c:8.23-9.1: message | |
191 jade:dbcommon.dsl:133:17:E: missing argument for function call | |
192 G:/cygwin/dev/build-myproj.xml:54: Compiler Adapter 'javac' can't be found. | |
193 file:G:/cygwin/dev/build-myproj.xml:54: Compiler Adapter 'javac' can't be found. | |
194 | |
195 | |
196 * Lucid Compiler, lcc 3.x | |
197 | |
198 symbol: lcc | |
199 | |
200 E, file.cc(35,52) Illegal operation on pointers | |
201 W, file.cc(36,52) blah blah | |
202 | |
203 | |
204 * makepp 1.20 | |
205 | |
206 symbol: makepp | |
207 | |
208 makepp: Scanning `/foo/bar.c' | |
209 makepp: warning: bla bla `/foo/bar.c' and `/foo/bar.h' | |
210 makepp: bla bla `/foo/Makeppfile:12' bla | |
211 makepp: bla bla `/foo/bar.c' and `/foo/bar.h' | |
212 | |
213 | |
214 * MIPS lint; looks good for SunPro lint also | |
215 | |
216 symbols: mips-1 mips-2 | |
217 | |
218 This can match multiple times on a line. | |
219 | |
220 TrimMask (255) in solomon.c may be indistinguishable from TrimMasks (93) in solomon.c due to truncation | |
221 name defined but never used: LinInt in cmap_calc.c(199) | |
222 | |
223 | |
224 * Microsoft C/C++ | |
225 | |
226 symbol: msft | |
227 | |
228 This used to be less selective and allowed characters other than parens around | |
229 the line number, but that caused confusion for GNU-style error messages. This | |
230 used to reject spaces and dashes in file names, but they are valid now; so I | |
231 made it more strict about the error message that follows. | |
232 | |
233 keyboard handler.c(537) : warning C4005: 'min' : macro redefinition | |
234 d:\tmp\test.c(23) : error C2143: syntax error : missing ';' before 'if' | |
235 | |
236 | |
237 * Oracle pro*c | |
238 | |
239 symbol: oracle | |
240 | |
241 Semantic error at line 528, column 5, file erosacqdb.pc: | |
242 | |
243 | |
244 * Perl | |
245 | |
246 symbol: perl | |
247 | |
248 syntax error at automake line 922, near "':'" | |
249 Died at test.pl line 27. | |
250 store::odrecall('File_A', 'x2') called at store.pm line 90 | |
251 | |
252 | |
253 * RXP | |
254 | |
255 symbol: rxp | |
256 | |
257 GPL XML validator at http://www.cogsci.ed.ac.uk/~richard/rxp.html | |
258 | |
259 Error: Mismatched end tag: expected </geroup>, got </group> | |
260 in unnamed entity at line 71 char 8 of file:///home/reto/test/group.xml | |
261 Warning: Start tag for undeclared element geroup | |
262 in unnamed entity at line 4 char 8 of file:///home/reto/test/group.xml | |
263 | |
264 | |
265 * Sparc Pascal | |
266 | |
267 symbols: sparc-pascal-file sparc-pascal-line sparc-pascal-example | |
268 | |
269 These messages don't contain a file name. Instead the compiler gives a | |
270 message whenever the file being compiled is changed. For visual feedback the | |
271 error code is fontified like a file name would be. | |
272 | |
273 Thu May 14 10:46:12 1992 mom3.p: | |
274 20 linjer : array[1..4] of linje; | |
275 w 18480-----------^--- Inserted ';' | |
276 20 linjer : array[1..4] of linje; | |
277 e 18480-----------^--- Inserted ';' | |
278 w 18520 line 61 - 0 is undefined | |
279 E 18520 line 61 - 0 is undefined | |
280 | |
281 | |
282 * SGI IRIX MipsPro 7.3 & Sun F90 & Cray C | |
283 | |
284 symbol: sun | |
285 | |
286 cc-1020 CC: REMARK File = CUI_App.h, Line = 735 | |
287 cc-1070 cc: WARNING File = linkl.c, Line = 38 | |
288 cf90-113 f90comp: ERROR NSE, File = Hoved.f90, Line = 16, Column = 3 | |
289 | |
290 | |
291 * Sun Ada (VADS, Solaris) | |
292 | |
293 symbol: sun-ada | |
294 | |
295 /home3/xdhar/rcds_rc/main.a, line 361, char 6:syntax error: "," inserted | |
296 | |
297 | |
298 * Ultrix 3.0 f77 & Some SGI cc version | |
299 | |
300 symbol: ultrix | |
301 | |
302 fort: Severe: addstf.f, line 82: Missing operator or delimiter symbol | |
303 cfe: Warning 835: foo.c, line 2: something | |
304 | |
305 | |
306 * 4.3BSD grep, cc, lint | |
307 | |
308 symbol: 4bsd | |
309 | |
310 /usr/src/foo/foo.c(8): warning: w may be used before set | |
311 /usr/src/foo/foo.c(9): error: w is used before set | |
312 strcmp: variable # of args. llib-lc(359) :: /usr/src/foo/foo.c(8) | |
313 bloofle defined( /users/wolfgang/foo.c(4) ), but never used | |
314 | |
315 | |
316 * Directory tracking | |
317 | |
318 Directories are matched via `compilation-directory-matcher'. Files which are | |
319 not shown as full paths are searched for relative to the directory where the | |
320 message was issued. | |
321 | |
322 Entering directory `/a/b/c' | |
323 Leaving directory `/a/b/c' | |
324 gmake[2]: Entering directory `/a/b/c' | |
325 makepp: Leaving directory `/a/b/c' | |
326 | |
327 | |
328 * Miscellaneous | |
329 | |
330 These are not messages that can be gone to. They are only highlighted via | |
331 `compilation-mode-font-lock-keywords' to recognize some useful information at | |
332 a glance. | |
333 | |
334 checking dynamic linker characteristics... GNU/Linux ld.so | |
335 checking if libtool supports shared libraries... yes | |
336 checking whether to build shared libraries... yes | |
337 checking whether -lc should be explicitly linked in... (cached) no | |
338 checking For GLIB - version >= 2.0.0... yes (version 2.1.0) | |
339 checking FONTCONFIG_CFLAGS... | |
340 g++ -o foo.o foo.cc | |
341 tool1 -output=foo foo.x | |
342 tool2 --outfile foo foo.y |