diff options
author | Mark Wielaard <mjw@redhat.com> | 2015-09-10 15:29:44 +0000 |
---|---|---|
committer | Mark Wielaard <mark@gcc.gnu.org> | 2015-09-10 15:29:44 +0000 |
commit | dbb68221b64c0174eeb22d878a8e078775ee73bf (patch) | |
tree | f34f064a585942929fce66827ae853b1f48d5357 /gcc/fortran/expr.c | |
parent | 0815fd250302b45a3aadd9b32d8559c7b47d86e4 (diff) | |
download | gcc-dbb68221b64c0174eeb22d878a8e078775ee73bf.zip gcc-dbb68221b64c0174eeb22d878a8e078775ee73bf.tar.gz gcc-dbb68221b64c0174eeb22d878a8e078775ee73bf.tar.bz2 |
Warn when comparing nonnull arguments to NULL in a function.
If an argument is marked as nonnull then passing in a NULL argument
will produce bad results even if the code checks against NULL. GCC
might optimize such checks away so warn the user when the function
contains such comparisons.
nn.c: In function ‘foo’:
nn.c:6:27: warning: nonnull argument ‘bar’ compared to NULL [-Wnonnull]
void foo(void *bar) { if (!bar) abort(); }
^
gcc/ChangeLog
* doc/invoke.texi (Wnonnull): Also warns when comparing against NULL.
gcc/c/ChangeLog
* c-typeck.c (build_binary_op): Check and warn when nonnull arg
parm against NULL.
gcc/cp/ChangeLog
* typeck.c (cp_build_binary_op): Check and warn when nonnull arg
parm against NULL.
gcc/testsuite/ChangeLog
* c-c++-common/nonnull-1.c: New test.
From-SVN: r227649
Diffstat (limited to 'gcc/fortran/expr.c')
0 files changed, 0 insertions, 0 deletions