Cuda programs may produce different errors depending on the architecture of the
target hardware. The canonical example and reason for writing this patch, is the
lack of support for double precision numbers on older hardware. By default, nvcc
and thus syntastic, defaults to the most basic architecture. This can produce
false errors if the developer intends to compile for newer hardware and use
newer features.
Not defining g:syntastic_cuda_arch preserves this behavior. Otherwise the user
is expected to set it a valid arch flag, as listed by `nvcc --help`.
Example:
let g:syntastic_cuda_arch = "sm_20"
Some users might want to disable some checks for puppet-lint if they do
not intend to follow all of the style recommendations. There is
currently no way of doing that.
By adding a global variable synstastic_puppet_lint_arguments, one can
now set arguments to pass to puppet-lint via .vimrc.
Signed-off-by: Gabriel Filion <lelutin@gmail.com>
First example:
$ echo -e 'if (0)\nsome();\n}' | perl -c -
Semicolon seems to be missing at - line 1.
syntax error at - line 2, near ")
some"
Unmatched right curly bracket at - line 3, at end of line
- had compilation errors.
$ echo -e 'if (0)\nsome();\n}' | perl syntax_checkers/efm_perl.pl -c -
-:1:Semicolon seems to be missing
Second example:
$ echo -e 'if (0)' | perl -c -
syntax error at - line 1, at EOF
- had compilation errors.
$ echo -e 'if (0)' | perl syntax_checkers/efm_perl.pl -c -
It will compile all *.java files in the pwd and apply the errorformat string
from quickfix.txt
Interesting additional features would be:
* @argument files
* setting the pwd for javac
* perform only a syntax check (javac currently always builds class files)
Previously the 2 checkers were in the same file - this is more "tidy"
(lol??).
Currently the logic to determine which checker is loaded is custom to
the checker. At some point the SyntasticLoadChecker() function should be
upgraded to be able to handle cases (like this one) where the name of
the checker doesnt imply the name(s) of the executables that have to be
checked for.
The logic for this option was reversed in 2 places. Puppet-lint should
have been getting disabled for old versions and if it wasnt installed,
but the logic was wrong.
The output of flake8 is ambiguous as to whether results should be
interpreted as warnings or errors. I have changed it to assume errors to
match the python/pyflakes checker.
In future we may want to change this or add items to the errorformat for
some specific warnings if they are annoying.
This fixes#203.
setting it to E_PARSE causes some errors to be missed - e.g.
`$a[$b][] $c;`
will not cause an error to get reported as this is classed as a compile
error, not a parse error.
This should fix#206.