[OT] RE: Is there a free substitute for Flexilint?
Erik
sigra@home.se
Sun Mar 4 05:26:00 GMT 2007
Kaz Kylheku skrev:
> > Is there any free, or close-to-free, tool that you can recommend?
>
> The GNU compiler has a lot of C++ specific warnings which are not turned
> on by default. It's not exactly lint, but you can squeeze more out of
> the compiler's diagnostic ability
This lack of checking tools has bothered me too. Therefore I was
delighted when I read at [http://freshmeat.net/projects/gcc/] that "GCC
provides many levels of source code error checking traditionally
provided by other tools (such as lint)". But unfortunately this is not
what GCC is trying to be. If I report a feature request for a checking
feature, it is usually rejected within half an hour.
For example there is a useful feature in the Ada frontend, that warns
about variables that are not modified after initialization and could be
declared constant (with "gnatmake -gnatwa"). This feature has helped me
catch a few errors, for example when I intended to modify a variable and
then forgot to write the statement to do it. Now some people probably
say that I should be using Ada instead of C++ anyway. In principle they
are right of course, but unfortunately I still often have to code in C++
(for existing projects). So I requested to have this useful feature for
C++ as well. The request got closed as WONTFIX and someone replied
"Isn't this a task for lint-like tool? GCC isn't such thing." I wonder
why we can not make C++ development at least a LITTLE bit easier and
safer by adding such features. It wouldn't be Ada, but it would
certainly help during the time while we still have to use C++.
[http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25845]
Another feature request was to warn about using pointers without
checking for 0 (which would result in segmentation fault). That request
went the same way. [http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29208]
Sure, C++ was not designed to control nuclear power plants or space
shuttles, but does that mean we are not allowed to avoid bugs when we
can easily do so?
More information about the Gcc-help
mailing list