declare smobs in alloc.c
[bpt/emacs.git] / etc / compilation.txt
CommitLineData
b727702b 1* Introduction -*-compilation-*- (Copyright information at end of file)
38ca2dff
SM
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
f2bb3ca3
TTN
8Note that the following example line should NOT be highlighted:
9Compilation started at Sat Jul 8 15:19:25
10
38ca2dff
SM
11The important part is the symbol(s) line at the beginning of each entry.
12These are the symbols you can customize `compilation-error-regexp-alist' for,
13to match the messages shown in that entry. A few complex cases have more than
14one symbol, which should be selected together.
15
16
17* Absoft FORTRAN 77 Compiler 3.1.3
18
19symbol: absoft
20
21Error on line 3 of t.f: Execution error unclassifiable statement
22Line 45 of "foo.c": bloofle undefined
23error on line 19 of fplot.f: spelling error?
24warning on line 17 of fplot.f: data type is undefined for variable d
25
26
27* Ada & Mpatrol (memory leak debugger)
28
29symbol: ada
30
31This matches only the end of line, the beginning is covered by GNU style.
32
33foo.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
39symbol: 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
46symbol: ant
47
3a648237
CY
48The regexps found on http://ant.apache.org/faq.html, and since
49integrated in both Emacsen, were hairy. The extra two numbers for
f104c116 50jikes are the ending line and ending column.
38ca2dff
SM
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
59symbol: bash
60
61a.sh: line 1: ls-l: command not found
62
63
64* Borland C++, C++Builder
65
66symbol: borland
67
68Error ping.c 15: Unable to open include file 'sys/types.h'
69Warning ping.c 68: Call to function 'func' with no prototype
70Error E2010 ping.c 15: Unable to open include file 'sys/types.h'
71Warning W1022 ping.c 68: Call to function 'func' with no prototype
72
73
74* Caml & Python
75
76symbol: caml
77
78File "foobar.ml", lines 5-8, characters 20-155: blah blah
79File "F:\ocaml\sorting.ml", line 65, characters 2-145:
80Warning: this expression should have type unit.
81 File "/usr/share/gdesklets/display/TargetGauge.py", line 41, in add_children
1618ce6d
DP
82 File \lib\python\Products\PythonScripts\PythonScript.py, line 302, in _exec
83 File "/tmp/foo.py", line 10
38ca2dff
SM
84
85
86* Apollo cc, 4.3BSD fc & IBM RS6000/AIX xlc compiler & Microtec mcc68k & GNAT (July 94)
87
88symbol: 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
c5622b6f
AG
96* Cucumber
97
98symbol: cucumber
99
100Feature: This is an example for backtrace.
101
102 Scenario: undefined step # features/cucumber.feature:3
103 Given this is undefined # features/cucumber.feature:4
104
c68263b1
CY
105 Scenario: assertion false (Test::Unit) # foo/bar.feature:6
106 Given this will generate 'assert false' # foo/bar.rb:1
c5622b6f 107 <false> is not true. (Test::Unit::AssertionFailedError)
c68263b1
CY
108 /home/gusev/.rvm/foo/bar.rb:48:in `assert_block'
109 /home/gusev/.rvm/foo/bar.rb:500:in `_wrap_assertion'
c5622b6f
AG
110 features/cucumber.feature:7:in `Given this will generate 'assert false''
111
c68263b1
CY
112 Scenario: assertion false (RSpec) # foo/bar.feature:9
113 Given this will generate 'should be_true' # foo/bar.rb:5
c5622b6f 114 expected true to be false (Spec::Expectations::ExpectationNotMetError)
c68263b1
CY
115 ./foo/bar/baz.rb:6:in `/^this will generate 'should be_true'$/'
116 foo/bar.feature:10:in `Given this will generate 'should be_true''
c5622b6f 117
c68263b1
CY
118 Scenario: backtrace in step definition # foo/bar.feature:12
119 Given this will generate backtrace # foo/sbar.rb:9
c5622b6f 120 (RuntimeError)
c68263b1
CY
121 ./foo/bar.rb:10:in `/^this will generate backtrace$/'
122 foo/bar.feature:13:in `Given this will generate backtrace'
c5622b6f
AG
123
124Failing Scenarios:
c68263b1
CY
125cucumber foo/cucumber.feature:6 # Scenario: assertion false (Test::Unit)
126cucumber foo/cucumber.feature:9 # Scenario: assertion false (RSpec)
127cucumber foo/cucumber.feature:12 # Scenario: backtrace in step definition
128cucumber foo/cucumber.feature:15 # Scenario: deeep backtrace in step definition
c5622b6f
AG
129
1305 scenarios (4 failed, 1 undefined)
1315 steps (4 failed, 1 undefined)
1320m0.007s
38ca2dff 133
1b44af75
DP
134* EDG C/C++
135
136symbol: edg-1 edg-2
137
138build/intel/debug/../../../struct.cpp(42): error: identifier "foo" is undefined
139build/intel/debug/../../../struct.cpp(44): warning #1011: missing return statement at end of ...
140build/intel/debug/../../../iptr.h(302): remark #981: operands are evaluated in unspecified order
141 detected during ... at line 62 of "build/intel/debug/../../../trace.h"
142
143
38ca2dff
SM
144* EPC F90 compiler
145
146symbol: epc
147
148Error 24 at (2:progran.f90) : syntax error
149
150
0b55311a
DP
151* Fortran checker
152
7e8424e2 153symbols: ftnchek
0b55311a
DP
154
155 Dummy arg W in module SUBA line 8 file arrayclash.f is array
156 L4 used at line 55 file test/assign.f; never set
157Warning near line 10 file arrayclash.f: Module contains no executable
158Nonportable usage near line 31 col 9 file assign.f: mixed default and explicit
159
160
38ca2dff
SM
161* IAR Systems C Compiler
162
163symbol: iar
164
165"foo.c",3 Error[32]: Error message
166"foo.c",3 Warning[32]: Error message
167
168
169* IBM C/C++ Tools 2.01
170
171symbol: ibm
172
173foo.c(2:0) : informational EDC0804: Function foo is not referenced.
174foo.c(3:8) : warning EDC0833: Implicit return statement encountered.
175foo.c(5:5) : error EDC0350: Syntax error.
176
177
0b55311a 178* Ultrix MIPS RISC CC, DEC AXP OSF/1 cc, IRIX 5.2 & NAG Fortran
38ca2dff
SM
179
180symbol: irix
181
182ccom: Error: foo.c, line 2: syntax error
63915149 183cc: Severe: /src/Python-2.3.3/Modules/_curses_panel.c, line 17: Cannot find file <panel.h> ...
1618ce6d 184cc: Info: foo.c, line 27: ...
38ca2dff
SM
185cfe: Warning 712: foo.c, line 2: illegal combination of pointer and ...
186cfe: Warning 600: xfe.c: 170: Not in a conditional directive while ...
187/usr/lib/cmplrs/cc/cfe: Error: foo.c: 1: blah blah
188/usr/lib/cmplrs/cc/cfe: warning: foo.c: 1: blah blah
776f2b44 189foo bar: baz.f, line 27: ...
38ca2dff
SM
190
191
192* Java Exception & Valgrind (memory debugger for x86 GNU/Linux)
193
194symbol: java
195
196Register 6 contains wrong type
197 at org.foo.ComponentGateway.doGet(ComponentGateway.java:172)
198 at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
199==1332== Invalid write of size 1
200==1332== at 0x4040743C: System::getErrorString() (../src/Lib/System.cpp:217)
201==1332== by 0x8008621: main (vtest.c:180)
202
203
204* IBM jikes
205
206symbols: jikes-file jikes-line
207
208Jikes separates file names from the actual error messages. For visual
209feedback the underline and the word "Error" on the 3rd line is fontified like
210a file name would be.
211
212Found 2 semantic errors compiling "../javax/swing/BorderFactory.java":
213
214 150. case '{':
215 <->
216*** Error: The type of this expression, "char", is not ...
217
218 312. return new CompoundBorder(outside, inside);
219 <--------------------------------->
220*** Error: No match was found for constructor ...
221
222Issued 1 semantic warning compiling "java/awt/Toolkit.java":
223
224 504. void imgProduceImage( ImageNativeProducer prod, Ptr imgData);
225 <----------------->
226*** Warning: The type "ImageNativeProducer" is defined ...
227
228
229* GCC include message
230
231symbol: gcc-include
232
233The last file, i.e. the one you are compiling, is the interesting one.
234
235In file included from /usr/include/c++/3.3/backward/warn.h:4,
7c837933 236 from /usr/include/c++/3.3/backward/iostream.h:31:0,
38ca2dff
SM
237 from test_clt.cc:1:
238
239
240* GNU style
241
242symbol: gnu
243
244foo.c:8: message
245../foo.c:8: W: message
246/tmp/foo.c:8:warning message
247foo/bar.py:8: FutureWarning message
248foo.py:8: RuntimeWarning message
249foo.c:8:I: message
bec18736 250foo.c:8.23: note: message
38ca2dff
SM
251foo.c:8.23: info: message
252foo.c:8:23:information: message
253foo.c:8.23-45: Informational: message
254foo.c:8-23: message
255foo.c:8-45.3: message
256foo.c:8.23-9.1: message
1539f173 257foo.el:3:1:Error: End of file during parsing
38ca2dff
SM
258jade:dbcommon.dsl:133:17:E: missing argument for function call
259G:/cygwin/dev/build-myproj.xml:54: Compiler Adapter 'javac' can't be found.
260file:G:/cygwin/dev/build-myproj.xml:54: Compiler Adapter 'javac' can't be found.
d7d7fd30 261{standard input}:27041: Warning: end of file not at end of a line; newline inserted
38ca2dff
SM
262
263
264* Lucid Compiler, lcc 3.x
265
266symbol: lcc
267
268E, file.cc(35,52) Illegal operation on pointers
269W, file.cc(36,52) blah blah
270
271
272* makepp 1.20
273
274symbol: makepp
275
276makepp: Scanning `/foo/bar.c'
277makepp: warning: bla bla `/foo/bar.c' and `/foo/bar.h'
278makepp: bla bla `/foo/Makeppfile:12' bla
279makepp: bla bla `/foo/bar.c' and `/foo/bar.h'
280
281
1c427abd
NR
282* maven 2.0.9
283
284symbol: maven
285
286FooBar.java:[111,53] no interface expected here
287
288
38ca2dff
SM
289* MIPS lint; looks good for SunPro lint also
290
291symbols: mips-1 mips-2
292
293This can match multiple times on a line.
294
295TrimMask (255) in solomon.c may be indistinguishable from TrimMasks (93) in solomon.c due to truncation
296name defined but never used: LinInt in cmap_calc.c(199)
297
298
299* Microsoft C/C++
300
301symbol: msft
302
303This used to be less selective and allowed characters other than parens around
304the line number, but that caused confusion for GNU-style error messages. This
305used to reject spaces and dashes in file names, but they are valid now; so I
306made it more strict about the error message that follows.
307
308keyboard handler.c(537) : warning C4005: 'min' : macro redefinition
309d:\tmp\test.c(23) : error C2143: syntax error : missing ';' before 'if'
951802d0 310d:\tmp\test.c(1145) : see declaration of 'nsRefPtr'
8111f5e6
EZ
3111>test_main.cpp(29): error C2144: syntax error : 'int' should be preceded by ';'
3121>test_main.cpp(29): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
3131>
3141>Build FAILED.
3151>
3161>Time Elapsed 00:00:01.46
317========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
38ca2dff
SM
318
319
7444d6ab
NR
320* Open Watcom
321
322symbol: watcom
323
324..\src\ctrl\lister.c(109): Error! E1009: Expecting ';' but found '{'
325..\src\ctrl\lister.c(120): Warning! W201: Unreachable code
326
327
38ca2dff
SM
328* Oracle pro*c
329
330symbol: oracle
331
d7d7fd30
DP
332This stupid precompiler wraps lines at column 80 in the middle of a file name.
333There is no obvious way of detecting this or turning it off. But if you
7e8424e2
DP
334delete the newline (probably needs M-x toggle-read-only), the file name will
335automatically be reparsed, so that you can then go there.
d7d7fd30 336
38ca2dff 337Semantic error at line 528, column 5, file erosacqdb.pc:
d7d7fd30
DP
338Error at line 41, column 10 in file /usr/src/sb/ODBI_BHP.hpp
339PCC-02150: error at line 49, column 27 in file /usr/src/sb/ODBI_dxfgh.pc
340PCC-00003: invalid SQL Identifier at column name in line 12 of file /usr/src/sb/ODBI_BHP.hpp
341PCC-00004: mismatched IF/ELSE/ENDIF block at line 27 in file /usr/src/sb/ODBI_BHP.hpp
342PCC-02151: line 21 column 40 file /usr/src/sb/ODBI_BHP.hpp:
38ca2dff
SM
343
344
345* Perl
346
347symbol: perl
348
cabb1527
CY
349The second sample, from the Perl-Glib module, is a Glib message put
350through Perl warn() to get "at FILENAME line N".
351
38ca2dff
SM
352syntax error at automake line 922, near "':'"
353Died at test.pl line 27.
354store::odrecall('File_A', 'x2') called at store.pm line 90
10a1257e 355 (in cleanup) something bad at foo.pl line 3 during global destruction.
38ca2dff 356
cabb1527 357GLib-GObject-WARNING **: /build/buildd/glib2.0-2.14.5/gobject/gsignal.c:1741: instance `0x8206790' has no handler with id `1234' at t-compilation-perl-gtk.pl line 3.
38ca2dff 358
33198156
MH
359* PHP
360
361symbol: php
362
363Parse error: parse error, unexpected $ in main.php on line 59
364Fatal error: Call to undefined function: mysql_pconnect() in db.inc on line 66
365
c5622b6f
AG
366* Ruby
367
368symbol: ruby
369
370plain-exception.rb:7:in `fun': unhandled exception
371 from plain-exception.rb:3:in `proxy'
372 from plain-exception.rb:12
373
374* Ruby (Test::Unit)
375
376symbol: ruby-Test::Unit
377
378Loaded suite examples/test-unit
379Started
380FFFE
381Finished in 0.023173 seconds.
382
383 1) Failure:
384test_a_deep_assert(BacktracesTest)
385 [examples/test-unit.rb:28:in `here_is_a_deep_assert'
386 examples/test-unit.rb:19:in `test_a_deep_assert']:
387<false> is not true.
388
389 2) Failure:
390test_assert(BacktracesTest) [examples/test-unit.rb:5]:
391<false> is not true.
392
393 3) Failure:
394test_assert_raise(BacktracesTest) [examples/test-unit.rb:9]:
395Exception raised:
396Class: <RuntimeError>
397Message: <"">
398---Backtrace---
399examples/test-unit.rb:10:in `test_assert_raise'
400examples/test-unit.rb:9:in `test_assert_raise'
401---------------
402
403 4) Error:
404test_backtrace(BacktracesTest):
405NoMethodError: undefined method `not_exists' for nil:NilClass
406 examples/test-unit.rb:24:in `some_function_call_from_nil'
407 examples/test-unit.rb:15:in `test_backtrace'
408
4094 tests, 3 assertions, 3 failures, 1 errors
410
38ca2dff
SM
411* RXP
412
413symbol: rxp
414
415GPL XML validator at http://www.cogsci.ed.ac.uk/~richard/rxp.html
416
417Error: Mismatched end tag: expected </geroup>, got </group>
418in unnamed entity at line 71 char 8 of file:///home/reto/test/group.xml
419Warning: Start tag for undeclared element geroup
420in unnamed entity at line 4 char 8 of file:///home/reto/test/group.xml
421
422
423* Sparc Pascal
424
425symbols: sparc-pascal-file sparc-pascal-line sparc-pascal-example
426
427These messages don't contain a file name. Instead the compiler gives a
428message whenever the file being compiled is changed. For visual feedback the
429error code is fontified like a file name would be.
430
431Thu May 14 10:46:12 1992 mom3.p:
432 20 linjer : array[1..4] of linje;
433w 18480-----------^--- Inserted ';'
434 20 linjer : array[1..4] of linje;
435e 18480-----------^--- Inserted ';'
436w 18520 line 61 - 0 is undefined
437E 18520 line 61 - 0 is undefined
438
439
440* SGI IRIX MipsPro 7.3 & Sun F90 & Cray C
441
442symbol: sun
443
444cc-1020 CC: REMARK File = CUI_App.h, Line = 735
445cc-1070 cc: WARNING File = linkl.c, Line = 38
446cf90-113 f90comp: ERROR NSE, File = Hoved.f90, Line = 16, Column = 3
447
448
449* Sun Ada (VADS, Solaris)
450
451symbol: sun-ada
452
453/home3/xdhar/rcds_rc/main.a, line 361, char 6:syntax error: "," inserted
454
455
38ca2dff
SM
456* 4.3BSD grep, cc, lint
457
458symbol: 4bsd
459
460/usr/src/foo/foo.c(8): warning: w may be used before set
461/usr/src/foo/foo.c(9): error: w is used before set
462strcmp: variable # of args. llib-lc(359) :: /usr/src/foo/foo.c(8)
463bloofle defined( /users/wolfgang/foo.c(4) ), but never used
464
465
0c9a01ff
MY
466* GCOV (test coverage program)
467
c5622b6f 468symbol: gcov-file gcov-bb-file gcov-never-called-line gcov-called-line
0c9a01ff
MY
469
470 -: 0:Source:foo.c
471 -: 0:Object:foo.bb
c5622b6f 472 -: 1:/* $ gcc -fprofile-arcs -ftest-coverage foo.c
0c9a01ff
MY
473 -: 2: $ ./a.out
474 -: 3: $ gcov foo.c
475 -: 4: LANG=C gcov foo.c
476 -: 5: 62.50% of 8 lines executed in file foo.c
477 -: 6: Creating foo.c.gcov.*/
478 -: 7:int
479 -: 8:main(int argc, char ** argv)
480 1: 9:{
481 1: 10: int r;
482 1: 11: if (argc == 1)
483 1: 12: r = 1;
484 #####: 13: else if (argc == 2)
485 #####: 14: r = 2;
c5622b6f 486 -: 15: else
0c9a01ff
MY
487 #####: 16: r = 0;
488 1: 17: return r;
c5622b6f 489 -: 18:}
0c9a01ff
MY
490
491
afefed62
VJL
492* Podchecker error messages, per Pod::Checker
493
4cbe53b4 494symbol: perl--Pod::Checker
afefed62
VJL
495
496*** ERROR: Spurious text after =cut at line 193 in file foo.pm
497*** ERROR: =over on line 37 without closing =back at line EOF in file bar.pm
498*** ERROR: =over on line 1 without closing =back (at head1) at line 3 in file x.pod
499
500
501* Perl Test module error messages
502
4cbe53b4 503symbol: perl--Test
afefed62
VJL
504
505# Failed test 1 in foo.t at line 6
506
6cbbc20c
KR
507* Perl Test.pm module error messages comparing two values
508
509symbol: perl--Test2
510
511# Test 3 got: "99" (d-compilation-perl.t at line 29)
512# Expected: "88" (my test name)
513# d-compilation-perl.t line 29 is: ok(99,88,'my test name');
514
515# Test 6 got: "xx" (foo.t at line 33 fail #2)
516# Expected: "yy"
afefed62
VJL
517
518* Perl Test::Harness output
519
4cbe53b4 520symbol: perl--Test::Harness
afefed62
VJL
521
522NOK 1# Test 1 got: "1234" (t/foo.t at line 46)
523
524
525* Perl HTML::Lint::Error::as_string()
526
4cbe53b4 527symbol: weblint
afefed62
VJL
528
529index.html (13:1) Unknown element <fdjsk>
530
531
38ca2dff
SM
532* Directory tracking
533
534Directories are matched via `compilation-directory-matcher'. Files which are
535not shown as full paths are searched for relative to the directory where the
536message was issued.
537
538Entering directory `/a/b/c'
539Leaving directory `/a/b/c'
540gmake[2]: Entering directory `/a/b/c'
541makepp: Leaving directory `/a/b/c'
542
543
544* Miscellaneous
545
546These are not messages that can be gone to. They are only highlighted via
547`compilation-mode-font-lock-keywords' to recognize some useful information at
548a glance.
549
550checking dynamic linker characteristics... GNU/Linux ld.so
551checking if libtool supports shared libraries... yes
552checking whether to build shared libraries... yes
553checking whether -lc should be explicitly linked in... (cached) no
554checking For GLIB - version >= 2.0.0... yes (version 2.1.0)
555checking FONTCONFIG_CFLAGS...
56ee679c
JL
556tool -o foo.o foo.c
557tool -o=foo.o foo.c
558tool -output foo.o foo.c
559tool -output=foo.o foo.c
560tool -outfile foo.o foo.c
561tool -outfile=foo.o foo.c
562tool --output foo.o foo.c
563tool --output=foo.o foo.c
564tool --outfile foo.o foo.c
565tool --outfile=foo.o foo.c
4d993e7b
JL
566tool -omega foo.c foo2.c
567tool -output-html-file foo.c foo2.c
568tool --omega foo.c foo2.c
569tool --output-html-file foo.c foo2.c
f533b4d9 570
ff452477
JL
571Compilation started at Wed Jul 20 12:20:10
572Compilation interrupt at Wed Jul 20 12:20:10
573Compilation killed at Wed Jul 20 12:20:10
574Compilation terminated at Wed Jul 20 12:20:10
f533b4d9 575Compilation exited abnormally with code 1 at Wed Jul 20 12:21:12
12cdb1c1 576Compilation segmentation fault at Thu Jul 13 10:55:49
3412ee5a 577Compilation finished at Thu Jul 21 15:02:15
b727702b
EZ
578
579\f
ba318903 580Copyright (C) 2004-2014 Free Software Foundation, Inc.
b727702b
EZ
581
582COPYING PERMISSIONS:
583
ab73e885 584 This document is free software: you can redistribute it and/or modify
b727702b 585 it under the terms of the GNU General Public License as published by
ab73e885
GM
586 the Free Software Foundation, either version 3 of the License, or
587 (at your option) any later version.
b727702b
EZ
588
589 This program is distributed in the hope that it will be useful,
590 but WITHOUT ANY WARRANTY; without even the implied warranty of
591 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
592 GNU General Public License for more details.
593
594 You should have received a copy of the GNU General Public License
ab73e885 595 along with this program. If not, see <http://www.gnu.org/licenses/>.