diff options
author | Shujing Zhao <pearly.zhao@oracle.com> | 2010-05-07 08:18:06 +0000 |
---|---|---|
committer | Shujing Zhao <pzhao@gcc.gnu.org> | 2010-05-07 08:18:06 +0000 |
commit | d42ba3b80a51696ae5e68602d1170b05a56af27e (patch) | |
tree | faabccf82b26d0837202f4853566831cd72abc7b /gcc/testsuite/gcc.dg/ordered-comparison-4.c | |
parent | bb9c865802fd2b86e1de373af4cdf1fcde08000e (diff) | |
download | gcc-d42ba3b80a51696ae5e68602d1170b05a56af27e.zip gcc-d42ba3b80a51696ae5e68602d1170b05a56af27e.tar.gz gcc-d42ba3b80a51696ae5e68602d1170b05a56af27e.tar.bz2 |
c-typeck.c (build_binary_op): Warn ordered comparison of pointer with null pointer and also warn about...
gcc/
2010-05-07 Shujing Zhao <pearly.zhao@oracle.com>
* c-typeck.c (build_binary_op): Warn ordered comparison of pointer
with null pointer and also warn about ordered comparison of zero
with pointer if -Wextra.
gcc/testsuite/
2010-05-07 Shujing Zhao <pearly.zhao@oracle.com>
* gcc.dg/ordered-comparison-1.c: New test.
* gcc.dg/ordered-comparison-2.c: New test.
* gcc.dg/ordered-comparison-3.c: New test.
* gcc.dg/ordered-comparison-4.c: New test.
From-SVN: r159145
Diffstat (limited to 'gcc/testsuite/gcc.dg/ordered-comparison-4.c')
-rw-r--r-- | gcc/testsuite/gcc.dg/ordered-comparison-4.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/testsuite/gcc.dg/ordered-comparison-4.c b/gcc/testsuite/gcc.dg/ordered-comparison-4.c new file mode 100644 index 0000000..ebe9edd --- /dev/null +++ b/gcc/testsuite/gcc.dg/ordered-comparison-4.c @@ -0,0 +1,21 @@ +/* Test warning for ordered comparison pointer with null pointer constant. */ +/* Test with -Wextra. */ +/* { dg-do compile } */ +/* { dg-options "-Wextra" } */ +extern void z(); +void *p; + +void f() { + if (z >= 0) /* { dg-warning "ordered comparison of pointer with" } */ + z(); + if (0 >= z) /* { dg-warning "ordered comparison of pointer with" } */ + z(); + if (p >= (void*)0) /* { dg-warning "ordered comparison of pointer with null pointer" } */ + z(); + if ((void*)0 >= p) /* { dg-warning "ordered comparison of pointer with null pointer" } */ + z(); + if (z >= (void*)0) /* { dg-warning "distinct pointer types lacks a cast" } */ + z(); + if ((void*)0 >=z) /* { dg-warning "distinct pointer types lacks a cast" } */ + z(); +} |