diff options
author | Manuel López-Ibáñez <manu@gcc.gnu.org> | 2007-11-05 10:03:04 +0000 |
---|---|---|
committer | Manuel López-Ibáñez <manu@gcc.gnu.org> | 2007-11-05 10:03:04 +0000 |
commit | 278b63df6234b1289a868d6e517a4ba52066f1a9 (patch) | |
tree | 9c48f7e291b01a8af0d4957ea7c7f8a5b1f02a2e /gcc | |
parent | 0976ffb63f5c2d03f1e58fd7e085799b0043d638 (diff) | |
download | gcc-278b63df6234b1289a868d6e517a4ba52066f1a9.zip gcc-278b63df6234b1289a868d6e517a4ba52066f1a9.tar.gz gcc-278b63df6234b1289a868d6e517a4ba52066f1a9.tar.bz2 |
typeck.c (build_binary_op): Use pedwarn instead of error for consistency.
2007-11-05 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
cp/
* typeck.c (build_binary_op): Use pedwarn instead of error for
consistency.
testsuite/
* g++dg/warn/pointer-integer-comparison.C: New.
From-SVN: r129898
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/typeck.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/warn/pointer-integer-comparison.C | 26 |
4 files changed, 37 insertions, 2 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 7869765..78ff8f8 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2007-11-05 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + + * typeck.c (build_binary_op): Use pedwarn instead of error for + consistency. + 2007-11-05 Jakub Jelinek <jakub@redhat.com> PR c++/33836 diff --git a/gcc/cp/typeck.c b/gcc/cp/typeck.c index c31a7a8..17bb6b6 100644 --- a/gcc/cp/typeck.c +++ b/gcc/cp/typeck.c @@ -3357,12 +3357,12 @@ build_binary_op (enum tree_code code, tree orig_op0, tree orig_op1, else if (code0 == POINTER_TYPE && code1 == INTEGER_TYPE) { result_type = type0; - error ("ISO C++ forbids comparison between pointer and integer"); + pedwarn ("ISO C++ forbids comparison between pointer and integer"); } else if (code0 == INTEGER_TYPE && code1 == POINTER_TYPE) { result_type = type1; - error ("ISO C++ forbids comparison between pointer and integer"); + pedwarn ("ISO C++ forbids comparison between pointer and integer"); } else if (TYPE_PTRMEMFUNC_P (type0) && null_ptr_cst_p (op1)) { diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index f8f4ed1..6817e83 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2007-11-05 Manuel Lopez-Ibanez <manu@gcc.gnu.org> + + * g++dg/warn/pointer-integer-comparison.C: New. + 2007-11-05 Jakub Jelinek <jakub@redhat.com> PR tree-optimization/33856 diff --git a/gcc/testsuite/g++.dg/warn/pointer-integer-comparison.C b/gcc/testsuite/g++.dg/warn/pointer-integer-comparison.C new file mode 100644 index 0000000..48489eb --- /dev/null +++ b/gcc/testsuite/g++.dg/warn/pointer-integer-comparison.C @@ -0,0 +1,26 @@ +// { dg-do compile } +// { dg-options "-fsyntax-only -fpermissive" } + +int foo (int i, void *p) +{ + if (i == p) // { dg-warning "warning: ISO C.. forbids comparison between pointer and integer" } + return 0; + else if (i != p) // { dg-warning "warning: ISO C.. forbids comparison between pointer and integer" } + return 1; +} + +int bar (int i, void *p) +{ + if (i < p) // { dg-warning "warning: ISO C.. forbids comparison between pointer and integer" } + return 0; + else if (i >= p) // { dg-warning "warning: ISO C.. forbids comparison between pointer and integer" } + return 1; +} + +int baz (int i, void *p) +{ + if (i <= p) // { dg-warning "warning: ISO C.. forbids comparison between pointer and integer" } + return 0; + else if (i > p) // { dg-warning "warning: ISO C.. forbids comparison between pointer and integer" } + return 1; +} |