13857
|
1 READ THIS FIRST
|
|
2 ===============
|
|
3
|
|
4 ccfilter is a C program to filter the output of a few compilers to a common
|
|
5 QuickFix format. It is provided with Vim to make quickfix useful for more
|
|
6 compilers.
|
|
7
|
|
8 ccfilter WILL FAIL with long lines (more than 2047 bytes).
|
|
9
|
|
10
|
7
|
11 COMPILING AND INSTALLING:
|
|
12 =========================
|
|
13
|
|
14 To compile ccfilter, you can just do a plain:
|
|
15 cc ccfilter.c -o ccfilter
|
|
16 Though, it may be wise to have your default compiler defined,
|
|
17 so you would normally compile it with one of the following:
|
|
18 cc -D_GCC ccfilter.c -o ccfilter
|
|
19 cc -D_AIX ccfilter.c -o ccfilter
|
|
20 cc -D_ATT ccfilter.c -o ccfilter
|
|
21 cc -D_IRIX ccfilter.c -o ccfilter
|
|
22 cc -D_SOLARIS ccfilter.c -o ccfilter
|
|
23 cc -D_HPUX ccfilter.c -o ccfilter
|
4437
|
24 You can then copy ccfilter to its target destination (i.e: /usr/local/bin).
|
7
|
25 The man page ccfilter.1 has to be copied to somewhere in your MANPATH,
|
|
26 under a man1 directory (i.e: /usr/local/man/man1).
|
|
27
|
|
28
|
|
29 SUPPORTED COMPILERS/PORTING NOTES:
|
|
30 ==================================
|
|
31
|
|
32 The supported formats for the different compilers are described below:
|
|
33 In this section, meta-names are used as place-holders in the line
|
|
34 formats: <FILE> <ROW> <COL> <SEVERITY> <REASON> <>
|
|
35 The <> denotes ignored text.
|
|
36 Line formats are delimited by the ^ (caret) symbol.
|
|
37
|
|
38 0) Special case: "gmake directory change" lines:
|
|
39 Lines with a format like:
|
|
40 ^gmake[<NUM>]: Entering directory `<DIR>'^
|
|
41 are used to follow the directory changes during the make process,
|
|
42 providing in the <FILE> part, a relative (if possible) directory
|
|
43 path to the erroneous file.
|
|
44
|
|
45
|
|
46 1) GCC:
|
|
47 Recognized lines are of the format:
|
|
48 - ^In file included from <FILE>:<ROW>:^
|
|
49 Line following this one is used as <REASON>
|
|
50 <SEVERITY> is always 'e' (error)
|
|
51 <COL> is always '0'
|
|
52
|
|
53 - ^<FILE>:<ROW>:<REASON>^
|
|
54 <SEVERITY> is always 'e' (error)
|
|
55 <COL> is always '0'
|
|
56
|
|
57
|
|
58 2) AIX:
|
|
59 Recognized lines are of the format:
|
|
60 - ^"<FILE>", line <ROW>.<COL>: <> (<SEVERITY>) <REASON>",
|
|
61
|
|
62
|
|
63 3) HPUX:
|
|
64 Recognized lines are of the format:
|
|
65 - ^cc: "<FILE>", line <ROW>: <SEVERITY>: <REASON>^
|
|
66 <COL> is always '0'
|
|
67
|
|
68
|
|
69 4) SOLARIS:
|
|
70 Recognized lines are of the format:
|
|
71 - ^"<FILE>", line <ROW>: warning: <REASON>^
|
|
72 This assumes <SEVERITY> is "W"
|
|
73 <COL> is always '0'
|
|
74
|
|
75 - ^"<FILE>", line <ROW>: <REASON>^
|
|
76 This assumes <SEVERITY> is "E"
|
|
77 <COL> is always '0'
|
|
78
|
|
79
|
|
80 5) ATT / NCR:
|
|
81 Recognized lines are of the format:
|
|
82 - ^<SEVERITY> "<FILE>",L<ROW>/C<COL><>:<REASON>^
|
|
83 or
|
|
84 - ^<SEVERITY> "<FILE>",L<ROW>/C<COL>:<REASON>^
|
|
85 Following lines beginning with a pipe (|) are continuation
|
|
86 lines, and are therefore appended to the <REASON>
|
|
87
|
|
88 - ^<SEVERITY> "<FILE>",L<ROW>:<REASON>^
|
|
89 <COL> is '0'
|
|
90 Following lines beginning with a pipe (|) are continuation
|
|
91 lines, and are therefore appended to the <REASON>
|
|
92
|
|
93
|
|
94 6) SGI-IRIX:
|
|
95 Recognized lines are of the format:
|
|
96 - ^cfe: <SEVERITY>: <FILE>: <ROW>: <REASON>^
|
|
97 or
|
|
98 ^cfe: <SEVERITY>: <FILE>, line <ROW>: <REASON>^
|
|
99 Following lines beginning with a dash (-) are "column-bar"
|
|
100 that end with a caret in the column of the error. These lines
|
|
101 are analyzed to generate the <COL>.
|