[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Flymake support for C/C++
From: |
guillaume papin |
Subject: |
Re: [PATCH] Flymake support for C/C++ |
Date: |
Sat, 14 Oct 2017 10:56:10 +0000 |
flycheck used to invoke Make, at least for checking Makefiles.
However they removed this feature[1],
after user complained about the security implication of invoking Make[2] [3].
The issue being that even in --just-print mode, Make can do some work.
On a side note, at some point earlier they changed the --dry-run flag
(equivalent to --just-print) by -n,
because the latter is POSIX compliant, working with more make
implementations[4].
To answer your questions, which weren't addressed to me but I will share what I
know:
> In the context of this specific subthread, can you tell us if Flycheck
> automatically infers the compilation flags of, say, GNU Emacs and GNU
> Hello when checking C code? Does it do so for any other project?
Out-of-the-box, Flycheck does not seem to infer the flags for GNU Hello.
For example I have the following error when I open src/hello.c:
error config.h: No such file or directory (c/c++-gcc)
There are options to configure flycheck with the following customization
variables:
flycheck-c/c++-gcc-executable
User option: The executable of the c/c++-gcc syntax checker.
flycheck-gcc-args
User option: A list of additional command line arguments.
flycheck-gcc-definitions
User option: Additional preprocessor definitions for GCC.
flycheck-gcc-include-path
User option: A list of include directories for GCC.
flycheck-gcc-includes
User option: A list of additional include files for GCC.
flycheck-gcc-language-standard
User option: The language standard to use in GCC.
flycheck-gcc-no-exceptions
User option: Whether to disable exceptions in GCC.
flycheck-gcc-no-rtti
User option: Whether to disable RTTI in GCC.
flycheck-gcc-openmp
User option: Whether to enable OpenMP in GCC.
flycheck-gcc-pedantic
User option: Whether to warn about language extensions in GCC.
flycheck-gcc-pedantic-errors
User option: Whether to error on language extensions in GCC.
flycheck-gcc-warnings
User option: A list of additional warnings to enable in GCC.
M-x customize-variable RET flycheck-gcc-args RET can be sufficient, the other
options preceded this generic option.
However settings the option per file manually does not really scale IMHO.
Also, many other features would benefit from knowing these compile options, for
example ff-find-other-file, c-macro-expand, and maybe more in the futur:
disassembler plugin, company mode, GCC fix-it hints[6] integration,
Then there is flycheck extension, like one I maintain (irony-mode) and others,
such as cmake-ide and ede-compdb, that uses the compilation database I
mentioned earlier[5].
For example ede-compdb works for both flymake and flycheck:
- https://github.com/randomphrase/ede-compdb#flymake-support
I'm not sure that the best solution is for flymake to invent it's own way of
getting the compile options.
IMHO it would be best if it only provided a way to customize them,
letting the burden of how to do it to "something else", but I may not be
practical here.
[1]
https://github.com/flycheck/flycheck/blob/cfe02c0b2f0ad09ff0555583b5cf43125f549108/CHANGES.old#L129
[2] https://github.com/flycheck/flycheck/issues/572
[3] https://github.com/flycheck/flycheck/issues/573
[4] https://github.com/flycheck/flycheck/issues/322
[5] https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00398.html
[6] GCC -fdiagnostics-parseable-fixits option, from
https://gcc.gnu.org/onlinedocs/gcc/Diagnostic-Message-Formatting-Options.html
- Re: [PATCH] Flymake support for C/C++, (continued)
- Re: [PATCH] Flymake support for C/C++, Reuben Thomas, 2017/10/24
- Re: [PATCH] Flymake support for C/C++, Stefan Monnier, 2017/10/24
- Re: [PATCH] Flymake support for C/C++, Richard Stallman, 2017/10/25
- Re: [PATCH] Flymake support for C/C++, Reuben Thomas, 2017/10/26
- Re: [PATCH] Flymake support for C/C++, Richard Stallman, 2017/10/28
- Re: [PATCH] Flymake support for C/C++, Clément Pit-Claudel, 2017/10/18
- Re: [PATCH] Flymake support for C/C++, John Wiegley, 2017/10/18
- Re: [PATCH] Flymake support for C/C++, Stefan Monnier, 2017/10/14
- Re: [PATCH] Flymake support for C/C++, Sami Kerola, 2017/10/14
- Re: [PATCH] Flymake support for C/C++, João Távora, 2017/10/14
- Re: [PATCH] Flymake support for C/C++,
guillaume papin <=
- Re: [PATCH] Flymake support for C/C++, João Távora, 2017/10/14
- Re: [PATCH] Flymake support for C/C++, Reuben Thomas, 2017/10/14
- Re: [PATCH] Flymake support for C/C++, Clément Pit-Claudel, 2017/10/18
- Re: [PATCH] Flymake support for C/C++, João Távora, 2017/10/18
Re: [PATCH] Flymake support for C/C++, João Távora, 2017/10/14