All patches and comments are welcome. Please squash your changes to logical
commits before using git-format-patch and git-send-email to
patches@git.madduck.net.
If you'd read over the Git project's submission guidelines and adhered to them,
I'd be especially grateful.
1 Execute(The GCC handler should ignore other lines of output):
4 \ ale#handlers#gcc#HandleGCCFormatWithIncludes(347, ['foo', 'bar', 'baz'])
6 Execute(GCC errors from included files should be parsed correctly):
12 \ 'filename': 'broken.h',
14 \ 'text': 'expected identifier or ''('' before ''{'' token',
19 \ 'text': 'Error found in header. See :ALEDetail',
21 \ 'In file included from <stdin>:3:2:',
22 \ 'broken.h:1:1: error: expected identifier or ''('' before ''{'' token',
28 \ ale#handlers#gcc#HandleGCCFormatWithIncludes(347, [
29 \ 'In file included from <stdin>:3:2:',
30 \ 'broken.h:1:1: error: expected identifier or ''('' before ''{'' token',
33 \ 'compilation terminated.',
43 \ 'text': 'expected identifier or ''('' before ''{'' token',
47 \ 'text': 'Error found in header. See :ALEDetail',
49 \ 'In file included from a.h:1:0,',
51 \ 'b.h:1:1: error: expected identifier or ''('' before ''{'' token',
57 \ ale#handlers#gcc#HandleGCCFormatWithIncludes(347, [
58 \ 'In file included from a.h:1:0,',
60 \ 'b.h:1:1: error: expected identifier or ''('' before ''{'' token',
63 \ 'compilation terminated.',
73 \ 'text': 'unknown type name ''bad_type''',
80 \ 'text': 'unknown type name ''other_bad_type''',
84 \ 'text': 'Error found in header. See :ALEDetail',
86 \ 'In file included from a.h:1:0,',
88 \ 'b.h:1:1: error: unknown type name ‘bad_type’',
91 \ 'b.h:2:1: error: unknown type name ‘other_bad_type’',
92 \ ' other_bad_type y;',
97 \ ale#handlers#gcc#HandleGCCFormatWithIncludes(347, [
98 \ 'In file included from a.h:1:0,',
100 \ 'b.h:1:1: error: unknown type name ‘bad_type’',
103 \ 'b.h:2:1: error: unknown type name ‘other_bad_type’',
104 \ ' other_bad_type y;',
106 \ 'compilation terminated.',
109 Execute(The GCC handler shouldn't complain about #pragma once for headers):
114 \ ale#handlers#gcc#HandleGCCFormatWithIncludes(347, [
115 \ '<stdin>:1:1: warning: #pragma once in main file [enabled by default]',
118 silent file! test.hpp
122 \ ale#handlers#gcc#HandleGCCFormatWithIncludes(347, [
123 \ '<stdin>:1:1: warning: #pragma once in main file [enabled by default]',
126 Execute(The GCC handler should handle syntax errors):
133 \ 'text': 'invalid suffix "p" on integer constant'
139 \ 'text': 'invalid suffix "n" on integer constant'
144 \ 'text': 'variable or field ''foo'' declared void'
149 \ 'text': '''cat'' was not declared in this scope'
154 \ 'text': 'expected '';'' before ''o'''
157 \ ale#handlers#gcc#HandleGCCFormatWithIncludes(347, [
158 \ '<stdin>:6:12: error: invalid suffix "p" on integer constant',
159 \ '<stdin>:17:5: error: invalid suffix "n" on integer constant',
160 \ '<stdin>:4: error: variable or field ''foo'' declared void',
161 \ '<stdin>:4: error: ''cat'' was not declared in this scope',
162 \ '<stdin>:12: error: expected `;'' before ''o''',
165 Execute(The GCC handler should handle notes with no previous message):
168 \ ale#handlers#gcc#HandleGCCFormatWithIncludes(347, [
169 \ '<stdin>:1:1: note: x',
170 \ '<stdin>:1:1: note: x',
173 Execute(The GCC handler should attach notes to previous messages):
180 \ 'text': 'Some error',
181 \ 'detail': "Some error\n<stdin>:1:1: note: x",
184 \ ale#handlers#gcc#HandleGCCFormatWithIncludes(347, [
185 \ '-:6:12: error: Some error',
186 \ '<stdin>:1:1: note: x',
189 Execute(The GCC handler should interpret - as being the current file):
196 \ 'text': 'Some error',
199 \ ale#handlers#gcc#HandleGCCFormatWithIncludes(347, [
200 \ '-:6:12: error: Some error',
203 Execute(The GCC handler should handle fatal error messages due to missing files):
210 \ 'text': 'foo.h: No such file or directory'
213 \ ale#handlers#gcc#HandleGCCFormatWithIncludes(347, [
214 \ '<stdin>:3:12: fatal error: foo.h: No such file or directory',
217 Execute(The GCC handler should handle errors for inlined header functions):
223 \ 'filename': '/usr/include/bits/fcntl2.h',
225 \ 'text': 'call to ''__open_missing_mode'' declared with attribute error: open with O_CREAT or O_TMPFILE in second argument needs 3 arguments',
230 \ 'filename': '/usr/include/bits/fcntl2.h',
232 \ 'text': 'call to ''__open_too_many_args'' declared with attribute error: open can be called either with 2 or 3 arguments, not more',
238 \ 'text': 'call to ''__open_missing_mode'' declared with attribute error: open with O_CREAT or O_TMPFILE in second argument needs 3 arguments',
244 \ 'text': 'call to ''__open_too_many_args'' declared with attribute error: open can be called either with 2 or 3 arguments, not more',
248 \ 'text': 'Error found in header. See :ALEDetail',
250 \ 'In file included from /usr/include/fcntl.h:328,',
251 \ ' from <stdin>:1:',
252 \ 'In function ‘open’,',
253 \ ' inlined from ‘main’ at <stdin>:7:10:',
254 \ '/usr/include/bits/fcntl2.h:50:4: error: call to ‘__open_missing_mode’ declared with attribute error: open with O_CREAT or O_TMPFILE in second argument needs 3 arguments',
255 \ ' __open_missing_mode ();',
256 \ ' ^~~~~~~~~~~~~~~~~~~~~~',
257 \ 'In function ‘open’,',
258 \ ' inlined from ‘main’ at <stdin>:13:11:',
259 \ '/usr/include/bits/fcntl2.h:44:5: error: call to ‘__open_too_many_args’ declared with attribute error: open can be called either with 2 or 3 arguments, not more',
260 \ ' __open_too_many_args ();',
264 \ ale#handlers#gcc#HandleGCCFormatWithIncludes(347, [
265 \ 'In file included from /usr/include/fcntl.h:328,',
266 \ ' from <stdin>:1:',
267 \ 'In function ‘open’,',
268 \ ' inlined from ‘main’ at <stdin>:7:10:',
269 \ '/usr/include/bits/fcntl2.h:50:4: error: call to ‘__open_missing_mode’ declared with attribute error: open with O_CREAT or O_TMPFILE in second argument needs 3 arguments',
270 \ ' __open_missing_mode ();',
271 \ ' ^~~~~~~~~~~~~~~~~~~~~~',
272 \ 'In function ‘open’,',
273 \ ' inlined from ‘main’ at <stdin>:13:11:',
274 \ '/usr/include/bits/fcntl2.h:44:5: error: call to ‘__open_too_many_args’ declared with attribute error: open can be called either with 2 or 3 arguments, not more',
275 \ ' __open_too_many_args ();',
276 \ ' ^~~~~~~~~~~~~~~~~~~~~~~',
279 Execute(The GCC handler should handle macro expansion errors in current file):
286 \ 'text': 'error message',
287 \ 'detail': "error message\n<stdin>:1:19: note: in expansion of macro 'TEST'",
290 \ ale#handlers#gcc#HandleGCCFormatWithIncludes(347, [
291 \ '<command-line>: error: error message',
292 \ '<stdin>:1:19: note: in expansion of macro ‘TEST’',
293 \ ' 1 | std::string str = TEST;',
297 Execute(The GCC handler should handle macro expansion errors in other files):
303 \ 'text': 'Error found in macro expansion. See :ALEDetail',
304 \ 'detail': "error message\ninc.h:1:19: note: in expansion of macro 'TEST'",
307 \ ale#handlers#gcc#HandleGCCFormatWithIncludes(347, [
308 \ '<command-line>: error: error message',
309 \ 'inc.h:1:19: note: in expansion of macro ‘TEST’',
310 \ ' 1 | std::string str = TEST;',